From 00062205b993295e888824f1f480f4dca0daffca Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 2 Sep 2020 17:51:53 -0400 Subject: [PATCH 001/132] bond/react: rename variable used for possible reaction create->attempt, to avoid clashing with create-atoms variables --- src/USER-REACTION/fix_bond_react.cpp | 64 ++++++++++++++-------------- src/USER-REACTION/fix_bond_react.h | 8 ++-- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 99d016f1a0..79967e49a1 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -474,10 +474,10 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : partner = finalpartner = NULL; distsq = NULL; probability = NULL; - maxcreate = 0; - created = NULL; - ncreate = NULL; - allncreate = 0; + maxattempt = 0; + attempt = NULL; + nattempt = NULL; + allnattempt = 0; local_num_mega = 0; ghostly_num_mega = 0; restore = NULL; @@ -519,10 +519,10 @@ FixBondReact::~FixBondReact() memory->destroy(partner); memory->destroy(finalpartner); - memory->destroy(ncreate); + memory->destroy(nattempt); memory->destroy(distsq); memory->destroy(probability); - memory->destroy(created); + memory->destroy(attempt); memory->destroy(edge); memory->destroy(equivalences); memory->destroy(reverse_equiv); @@ -815,19 +815,19 @@ void FixBondReact::post_integrate() memory->destroy(partner); memory->destroy(finalpartner); memory->destroy(distsq); - memory->destroy(ncreate); + memory->destroy(nattempt); memory->destroy(probability); nmax = atom->nmax; memory->create(partner,nmax,"bond/react:partner"); memory->create(finalpartner,nmax,"bond/react:finalpartner"); memory->create(distsq,nmax,2,"bond/react:distsq"); - memory->create(ncreate,nreacts,"bond/react:ncreate"); + memory->create(nattempt,nreacts,"bond/react:nattempt"); memory->create(probability,nmax,"bond/react:probability"); } // reset create counts for (int i = 0; i < nreacts; i++) { - ncreate[i] = 0; + nattempt[i] = 0; } int nlocal = atom->nlocal; @@ -909,7 +909,7 @@ void FixBondReact::post_integrate() // and probability constraint is satisfied // if other atom is owned by another proc, it should do same thing - int temp_ncreate = 0; + int temp_nattempt = 0; for (int i = 0; i < nlocal; i++) { if (partner[i] == 0) { continue; @@ -930,17 +930,17 @@ void FixBondReact::post_integrate() } } - // store final created bond partners and count the rxn possibility once + // store final bond partners and count the rxn possibility once finalpartner[i] = tag[j]; finalpartner[j] = tag[i]; - if (tag[i] < tag[j]) temp_ncreate++; + if (tag[i] < tag[j]) temp_nattempt++; } // cycle loop if no even eligible bonding atoms were found (on any proc) int some_chance; - MPI_Allreduce(&temp_ncreate,&some_chance,1,MPI_INT,MPI_SUM,world); + MPI_Allreduce(&temp_nattempt,&some_chance,1,MPI_INT,MPI_SUM,world); if (!some_chance) continue; // communicate final partner @@ -948,7 +948,7 @@ void FixBondReact::post_integrate() commflag = 3; comm->forward_comm_fix(this); - // add instance to 'created' only if this processor + // add instance to 'attempt' only if this processor // owns the atoms with smaller global ID // NOTE: we no longer care about ghost-ghost instances as bond/create did // this is because we take care of updating topology later (and differently) @@ -959,21 +959,21 @@ void FixBondReact::post_integrate() j = atom->map(finalpartner[i]); // if (j < 0 || tag[i] < tag[j]) { if (tag[i] < tag[j]) { //atom->map(std::min(tag[i],tag[j])) <= nlocal && - if (ncreate[rxnID] == maxcreate) { - maxcreate += DELTA; - // third column of 'created': bond/react integer ID - memory->grow(created,maxcreate,2,nreacts,"bond/react:created"); + if (nattempt[rxnID] == maxattempt) { + maxattempt += DELTA; + // third column of 'attempt': bond/react integer ID + memory->grow(attempt,maxattempt,2,nreacts,"bond/react:attempt"); } // to ensure types remain in same order // unnecessary now taken from reaction map file if (iatomtype[rxnID] == type[i]) { - created[ncreate[rxnID]][0][rxnID] = tag[i]; - created[ncreate[rxnID]][1][rxnID] = finalpartner[i]; + attempt[nattempt[rxnID]][0][rxnID] = tag[i]; + attempt[nattempt[rxnID]][1][rxnID] = finalpartner[i]; } else { - created[ncreate[rxnID]][0][rxnID] = finalpartner[i]; - created[ncreate[rxnID]][1][rxnID] = tag[i]; + attempt[nattempt[rxnID]][0][rxnID] = finalpartner[i]; + attempt[nattempt[rxnID]][1][rxnID] = tag[i]; } - ncreate[rxnID]++; + nattempt[rxnID]++; } } } @@ -981,11 +981,11 @@ void FixBondReact::post_integrate() // break loop if no even eligible bonding atoms were found (on any proc) int some_chance; - allncreate = 0; + allnattempt = 0; for (int i = 0; i < nreacts; i++) - allncreate += ncreate[i]; + allnattempt += nattempt[i]; - MPI_Allreduce(&allncreate,&some_chance,1,MPI_INT,MPI_SUM,world); + MPI_Allreduce(&allnattempt,&some_chance,1,MPI_INT,MPI_SUM,world); if (!some_chance) { unlimit_bond(); return; @@ -1201,13 +1201,13 @@ 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,"bond/react:restore"); - memory->create(local_mega_glove,max_natoms+1,allncreate,"bond/react:local_mega_glove"); - memory->create(ghostly_mega_glove,max_natoms+1,allncreate,"bond/react:ghostly_mega_glove"); + 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"); attempted_rxn = 1; for (int i = 0; i < max_natoms+1; i++) { - for (int j = 0; j < allncreate; j++) { + for (int j = 0; j < allnattempt; j++) { local_mega_glove[i][j] = 0; ghostly_mega_glove[i][j] = 0; } @@ -1215,7 +1215,7 @@ void FixBondReact::superimpose_algorithm() // let's finally begin the superimpose loop for (rxnID = 0; rxnID < nreacts; rxnID++) { - for (lcl_inst = 0; lcl_inst < ncreate[rxnID]; lcl_inst++) { + for (lcl_inst = 0; lcl_inst < nattempt[rxnID]; lcl_inst++) { onemol = atom->molecules[unreacted_mol[rxnID]]; twomol = atom->molecules[reacted_mol[rxnID]]; @@ -1238,10 +1238,10 @@ void FixBondReact::superimpose_algorithm() int myjbonding = jbonding[rxnID]; glove[myibonding-1][0] = myibonding; - glove[myibonding-1][1] = created[lcl_inst][0][rxnID]; + glove[myibonding-1][1] = attempt[lcl_inst][0][rxnID]; glove_counter++; glove[myjbonding-1][0] = myjbonding; - glove[myjbonding-1][1] = created[lcl_inst][1][rxnID]; + glove[myjbonding-1][1] = attempt[lcl_inst][1][rxnID]; glove_counter++; // special case, only two atoms in reaction templates diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index 61a1bd4213..bb7ed7fe9f 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -80,10 +80,10 @@ class FixBondReact : public Fix { int max_natoms; // max natoms in a molecule template tagint *partner,*finalpartner; double **distsq,*probability; - int *ncreate; - int maxcreate; - int allncreate; - tagint ***created; + int *nattempt; + int maxattempt; + int allnattempt; + tagint ***attempt; class Molecule *onemol; // pre-reacted molecule template class Molecule *twomol; // post-reacted molecule template From e01a926c878eff6cd155ae6e7809b43ec53e7430 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 2 Sep 2020 19:16:18 -0400 Subject: [PATCH 002/132] bond/react: add create_atoms section to map file --- src/USER-REACTION/fix_bond_react.cpp | 101 ++++++++++++++++++--------- src/USER-REACTION/fix_bond_react.h | 4 +- 2 files changed, 70 insertions(+), 35 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 79967e49a1..fd1448e859 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -390,6 +390,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(landlocked_atoms,max_natoms,nreacts,"bond/react:landlocked_atoms"); memory->create(custom_edges,max_natoms,nreacts,"bond/react:custom_edges"); memory->create(delete_atoms,max_natoms,nreacts,"bond/react:delete_atoms"); + memory->create(create_atoms,max_natoms,nreacts,"bond/react:create_atoms"); memory->create(chiral_atoms,max_natoms,6,nreacts,"bond/react:chiral_atoms"); for (int j = 0; j < nreacts; j++) @@ -398,6 +399,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : if (update_edges_flag[j] == 1) custom_edges[i][j] = 1; else custom_edges[i][j] = 0; delete_atoms[i][j] = 0; + create_atoms[i][j] = 0; for (int k = 0; k < 6; k++) { chiral_atoms[i][k][j] = 0; } @@ -410,11 +412,13 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : twomol = atom->molecules[reacted_mol[i]]; onemol->check_attributes(0); twomol->check_attributes(0); - if (onemol->natoms != twomol->natoms) - error->all(FLERR,"Bond/react: Reaction templates must contain the same number of atoms"); get_molxspecials(); read(i); fclose(fp); + if (ncreate == 0 && onemol->natoms != twomol->natoms) + error->all(FLERR,"Bond/react: Reaction templates must contain the same number of atoms"); + else if (ncreate > 0 && onemol->natoms + ncreate != twomol->natoms) + error->all(FLERR,"Bond/react: Incorrect number of created atoms"); iatomtype[i] = onemol->type[ibonding[i]-1]; jatomtype[i] = onemol->type[jbonding[i]-1]; find_landlocked_atoms(i); @@ -529,6 +533,7 @@ FixBondReact::~FixBondReact() memory->destroy(landlocked_atoms); memory->destroy(custom_edges); memory->destroy(delete_atoms); + memory->destroy(create_atoms); memory->destroy(chiral_atoms); memory->destroy(nevery); @@ -2090,7 +2095,8 @@ void FixBondReact::find_landlocked_atoms(int myrxn) // always remove edge atoms from landlocked list for (int i = 0; i < twomol->natoms; i++) { - if (edge[equivalences[i][1][myrxn]-1][myrxn] == 1) landlocked_atoms[i][myrxn] = 0; + if (create_atoms[i][myrxn] == 0 && edge[equivalences[i][1][myrxn]-1][myrxn] == 1) + landlocked_atoms[i][myrxn] = 0; else landlocked_atoms[i][myrxn] = 1; } int nspecial_limit = -1; @@ -2114,44 +2120,48 @@ void FixBondReact::find_landlocked_atoms(int myrxn) // bad molecule templates check // if atoms change types, but aren't landlocked, that's bad for (int i = 0; i < twomol->natoms; i++) { - if (twomol->type[i] != onemol->type[equivalences[i][1][myrxn]-1] && landlocked_atoms[i][myrxn] == 0) { - char str[128]; - snprintf(str,128,"Bond/react: Atom type affected by reaction %s too close to template edge",rxn_name[myrxn]); - error->all(FLERR,str); + if (create_atoms[i][myrxn] == 0) { + if (twomol->type[i] != onemol->type[equivalences[i][1][myrxn]-1] && landlocked_atoms[i][myrxn] == 0) { + char str[128]; + snprintf(str,128,"Bond/react: Atom type affected by reaction %s too close to template edge",rxn_name[myrxn]); + error->all(FLERR,str); + } } } // additionally, if a bond changes type, but neither involved atom is landlocked, bad // would someone want to change an angle type but not bond or atom types? (etc.) ...hopefully not yet for (int i = 0; i < twomol->natoms; i++) { - if (landlocked_atoms[i][myrxn] == 0) { - for (int j = 0; j < twomol->num_bond[i]; j++) { - int twomol_atomj = twomol->bond_atom[i][j]; - if (landlocked_atoms[twomol_atomj-1][myrxn] == 0) { - int onemol_atomi = equivalences[i][1][myrxn]; - int onemol_batom; - for (int m = 0; m < onemol->num_bond[onemol_atomi-1]; m++) { - onemol_batom = onemol->bond_atom[onemol_atomi-1][m]; - if (onemol_batom == equivalences[twomol_atomj-1][1][myrxn]) { - if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomi-1][m]) { - char str[128]; - snprintf(str,128,"Bond/react: Bond type affected by reaction %s too close to template edge",rxn_name[myrxn]); - error->all(FLERR,str); - } - } - } - if (newton_bond) { - int onemol_atomj = equivalences[twomol_atomj-1][1][myrxn]; - for (int m = 0; m < onemol->num_bond[onemol_atomj-1]; m++) { - onemol_batom = onemol->bond_atom[onemol_atomj-1][m]; - if (onemol_batom == equivalences[i][1][myrxn]) { - if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomj-1][m]) { + if (create_atoms[i][myrxn] == 0) { + if (landlocked_atoms[i][myrxn] == 0) { + for (int j = 0; j < twomol->num_bond[i]; j++) { + int twomol_atomj = twomol->bond_atom[i][j]; + if (landlocked_atoms[twomol_atomj-1][myrxn] == 0) { + int onemol_atomi = equivalences[i][1][myrxn]; + int onemol_batom; + for (int m = 0; m < onemol->num_bond[onemol_atomi-1]; m++) { + onemol_batom = onemol->bond_atom[onemol_atomi-1][m]; + if (onemol_batom == equivalences[twomol_atomj-1][1][myrxn]) { + if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomi-1][m]) { char str[128]; snprintf(str,128,"Bond/react: Bond type affected by reaction %s too close to template edge",rxn_name[myrxn]); error->all(FLERR,str); } } } + if (newton_bond) { + int onemol_atomj = equivalences[twomol_atomj-1][1][myrxn]; + for (int m = 0; m < onemol->num_bond[onemol_atomj-1]; m++) { + onemol_batom = onemol->bond_atom[onemol_atomj-1][m]; + if (onemol_batom == equivalences[i][1][myrxn]) { + if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomj-1][m]) { + char str[128]; + snprintf(str,128,"Bond/react: Bond type affected by reaction %s too close to template edge",rxn_name[myrxn]); + error->all(FLERR,str); + } + } + } + } } } } @@ -2173,13 +2183,22 @@ void FixBondReact::find_landlocked_atoms(int myrxn) // also, if atoms change number of bonds, but aren't landlocked, that could be bad if (me == 0) for (int i = 0; i < twomol->natoms; i++) { - if (twomol_nxspecial[i][0] != onemol_nxspecial[equivalences[i][1][myrxn]-1][0] && landlocked_atoms[i][myrxn] == 0) { - char str[128]; - snprintf(str,128,"Bond/react: Atom affected by reaction %s too close to template edge",rxn_name[myrxn]); - error->warning(FLERR,str); - break; + if (create_atoms[i][myrxn] == 0) { + if (twomol_nxspecial[i][0] != onemol_nxspecial[equivalences[i][1][myrxn]-1][0] && landlocked_atoms[i][myrxn] == 0) { + char str[128]; + snprintf(str,128,"Bond/react: Atom affected by reaction %s too close to template edge",rxn_name[myrxn]); + error->warning(FLERR,str); + break; + } } } + + // finally, if a created atom is not landlocked, bad! + for (int i = 0; i < twomol->natoms; i++) { + if (create_atoms[i][myrxn] == 1 && landlocked_atoms[i][myrxn] == 0) { + error->one(FLERR,"Bond/react: Created atom too close to template edge"); + } + } } /* ---------------------------------------------------------------------- @@ -3137,6 +3156,7 @@ void FixBondReact::read(int myrxn) // skip blank lines or lines that start with "#" // stop when read an unrecognized line + ncreate = 0; while (1) { readline(line); @@ -3156,6 +3176,7 @@ void FixBondReact::read(int myrxn) } else if (strstr(line,"customIDs")) sscanf(line,"%d",&ncustom); 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",&nconstr); @@ -3192,6 +3213,8 @@ void FixBondReact::read(int myrxn) CustomEdges(line, myrxn); } else if (strcmp(keyword,"DeleteIDs") == 0) { DeleteAtoms(line, myrxn); + } else if (strcmp(keyword,"CreateIDs") == 0) { + CreateAtoms(line, myrxn); } else if (strcmp(keyword,"ChiralIDs") == 0) { ChiralCenters(line, myrxn); } else if (strcmp(keyword,"Constraints") == 0) { @@ -3279,6 +3302,16 @@ void FixBondReact::DeleteAtoms(char *line, int myrxn) } } +void FixBondReact::CreateAtoms(char *line, int myrxn) +{ + int tmp; + for (int i = 0; i < ncreate; i++) { + readline(line); + sscanf(line,"%d",&tmp); + create_atoms[tmp-1][myrxn] = 1; + } +} + void FixBondReact::ChiralCenters(char *line, int myrxn) { int tmp; diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index bb7ed7fe9f..4ee767e815 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -113,7 +113,7 @@ class FixBondReact : public Fix { int *ibonding,*jbonding; int *closeneigh; // indicates if bonding atoms of a rxn are 1-2, 1-3, or 1-4 neighbors - int nedge,nequivalent,ncustom,ndelete,nchiral,nconstr; // # edge, equivalent, custom atoms in mapping file + int nedge,nequivalent,ncustom,ndelete,ncreate,nchiral,nconstr; // # edge, equivalent, custom atoms in mapping file int attempted_rxn; // there was an attempt! int *local_rxn_count; int *ghostly_rxn_count; @@ -129,6 +129,7 @@ class FixBondReact : public Fix { int **landlocked_atoms; // all atoms at least three bonds away from edge atoms int **custom_edges; // atoms in molecule templates with incorrect valences int **delete_atoms; // atoms in pre-reacted templates to delete + int **create_atoms; // atoms in post-reacted templates to create int ***chiral_atoms; // pre-react chiral atoms. 1) flag 2) orientation 3-4) ordered atom types int **nxspecial,**onemol_nxspecial,**twomol_nxspecial; // full number of 1-4 neighbors @@ -153,6 +154,7 @@ class FixBondReact : public Fix { void Equivalences(char *, int); void CustomEdges(char *, int); void DeleteAtoms(char *, int); + void CreateAtoms(char *,int); void ChiralCenters(char *, int); void Constraints(char *, int); void readID(char *, int, int, int); From dbd7b1e001390a82d699712ea09ac2fad3601caf Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sat, 19 Sep 2020 10:02:45 -0400 Subject: [PATCH 003/132] bond/react: manual rebase header --- src/USER-REACTION/fix_bond_react.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index 4ee767e815..118770864f 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -64,7 +64,7 @@ class FixBondReact : public Fix { int reset_mol_ids_flag; int custom_exclude_flag; int *stabilize_steps_flag; - int *update_edges_flag; + int *custom_charges_fragid; int nconstraints; int narrhenius; double **constraints; @@ -80,10 +80,10 @@ class FixBondReact : public Fix { int max_natoms; // max natoms in a molecule template tagint *partner,*finalpartner; double **distsq,*probability; - int *nattempt; - int maxattempt; - int allnattempt; - tagint ***attempt; + int *ncreate; + int maxcreate; + int allncreate; + tagint ***created; class Molecule *onemol; // pre-reacted molecule template class Molecule *twomol; // post-reacted molecule template @@ -113,7 +113,7 @@ class FixBondReact : public Fix { int *ibonding,*jbonding; int *closeneigh; // indicates if bonding atoms of a rxn are 1-2, 1-3, or 1-4 neighbors - int nedge,nequivalent,ncustom,ndelete,ncreate,nchiral,nconstr; // # edge, equivalent, custom atoms in mapping file + int nedge,nequivalent,ndelete,ncreate,nchiral,nconstr; // # edge, equivalent, custom atoms in mapping file int attempted_rxn; // there was an attempt! int *local_rxn_count; int *ghostly_rxn_count; @@ -127,7 +127,7 @@ class FixBondReact : public Fix { int ***equivalences; // relation between pre- and post-reacted templates int ***reverse_equiv; // re-ordered equivalences int **landlocked_atoms; // all atoms at least three bonds away from edge atoms - int **custom_edges; // atoms in molecule templates with incorrect valences + int **custom_charges; // atoms whose charge should be updated int **delete_atoms; // atoms in pre-reacted templates to delete int **create_atoms; // atoms in post-reacted templates to create int ***chiral_atoms; // pre-react chiral atoms. 1) flag 2) orientation 3-4) ordered atom types @@ -152,9 +152,9 @@ class FixBondReact : public Fix { void read(int); void EdgeIDs(char *, int); void Equivalences(char *, int); - void CustomEdges(char *, int); void DeleteAtoms(char *, int); void CreateAtoms(char *,int); + void CustomCharges(int, int); void ChiralCenters(char *, int); void Constraints(char *, int); void readID(char *, int, int, int); @@ -183,6 +183,7 @@ class FixBondReact : public Fix { void glove_ghostcheck(); void ghost_glovecast(); void update_everything(); + void insert_atoms(int, tagint **, int); void unlimit_bond(); void limit_bond(int); void dedup_mega_gloves(int); //dedup global mega_glove From 74e3a1fe8c6d9a848ca1965c2f30983ea3c42ebe Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sat, 19 Sep 2020 10:41:50 -0400 Subject: [PATCH 004/132] manual rebase take 2 --- src/USER-REACTION/fix_bond_react.cpp | 224 +++++++++++++-------------- src/USER-REACTION/fix_bond_react.h | 10 +- 2 files changed, 111 insertions(+), 123 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index fd1448e859..995c3a53da 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -16,36 +16,37 @@ Contributing Author: Jacob Gissinger (jacob.gissinger@colorado.edu) ------------------------------------------------------------------------- */ #include "fix_bond_react.h" -#include -#include -#include -#include -#include "update.h" -#include "modify.h" -#include "respa.h" + #include "atom.h" #include "atom_vec.h" -#include "force.h" -#include "pair.h" +#include "citeme.h" #include "comm.h" #include "domain.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "random_mars.h" -#include "reset_mol_ids.h" -#include "molecule.h" +#include "error.h" +#include "force.h" #include "group.h" -#include "citeme.h" +#include "input.h" #include "math_const.h" #include "math_extra.h" #include "memory.h" -#include "error.h" -#include "input.h" +#include "modify.h" +#include "molecule.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "pair.h" +#include "random_mars.h" +#include "reset_mol_ids.h" +#include "respa.h" +#include "update.h" #include "variable.h" -#include "fmt/format.h" + #include "superpose3d.h" +#include +#include +#include + #include using namespace LAMMPS_NS; @@ -84,6 +85,9 @@ enum{DISTANCE,ANGLE,DIHEDRAL,ARRHENIUS,RMSD}; // keyword values that accept variables as input enum{NEVERY,RMIN,RMAX,PROB}; +// flag for one-proc vs shared reaction sites +enum{LOCAL,GLOBAL}; + /* ---------------------------------------------------------------------- */ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : @@ -91,10 +95,10 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : { if (lmp->citeme) lmp->citeme->add(cite_fix_bond_react); - fix1 = NULL; - fix2 = NULL; - fix3 = NULL; - reset_mol_ids = NULL; + fix1 = nullptr; + fix2 = nullptr; + fix3 = nullptr; + reset_mol_ids = nullptr; if (narg < 8) error->all(FLERR,"Illegal fix bond/react command: " "too few arguments"); @@ -115,12 +119,12 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : narrhenius = 0; status = PROCEED; - nxspecial = NULL; - onemol_nxspecial = NULL; - twomol_nxspecial = NULL; - xspecial = NULL; - onemol_xspecial = NULL; - twomol_xspecial = NULL; + nxspecial = nullptr; + onemol_nxspecial = nullptr; + twomol_nxspecial = nullptr; + xspecial = nullptr; + onemol_xspecial = nullptr; + twomol_xspecial = nullptr; // these group names are reserved for use exclusively by bond/react master_group = (char *) "bond_react_MASTER_group"; @@ -200,7 +204,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(seed,nreacts,"bond/react:seed"); memory->create(limit_duration,nreacts,"bond/react:limit_duration"); memory->create(stabilize_steps_flag,nreacts,"bond/react:stabilize_steps_flag"); - memory->create(update_edges_flag,nreacts,"bond/react:update_edges_flag"); + memory->create(custom_charges_fragid,nreacts,"bond/react:custom_charges_fragid"); memory->create(constraints,1,MAXCONARGS,"bond/react:constraints"); memory->create(var_flag,NUMVARVALS,nreacts,"bond/react:var_flag"); memory->create(var_id,NUMVARVALS,nreacts,"bond/react:var_id"); @@ -220,7 +224,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : seed[i] = 12345; max_rxn[i] = INT_MAX; stabilize_steps_flag[i] = 0; - update_edges_flag[i] = 0; + custom_charges_fragid[i] = -1; // set default limit duration to 60 timesteps limit_duration[i] = 60; reaction_count[i] = 0; @@ -366,13 +370,15 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : limit_duration[rxn] = utils::numeric(FLERR,arg[iarg+1],false,lmp); stabilize_steps_flag[rxn] = 1; iarg += 2; - } else if (strcmp(arg[iarg],"update_edges") == 0) { + } else if (strcmp(arg[iarg],"custom_charges") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " - "'update_edges' has too few arguments"); - if (strcmp(arg[iarg+1],"none") == 0) update_edges_flag[rxn] = 0; - else if (strcmp(arg[iarg+1],"charges") == 0) update_edges_flag[rxn] = 1; - else if (strcmp(arg[iarg+1],"custom") == 0) update_edges_flag[rxn] = 2; - else error->all(FLERR,"Illegal value for 'update_edges' keyword'"); + "'custom_charges' has too few arguments"); + if (strcmp(arg[iarg+1],"no") == 0) custom_charges_fragid[rxn] = -1; //default + else { + custom_charges_fragid[rxn] = atom->molecules[unreacted_mol[rxn]]->findfragment(arg[iarg+1]); + if (custom_charges_fragid[rxn] < 0) error->one(FLERR,"Bond/react: Molecule fragment for " + "'custom_charges' keyword does not exist"); + } iarg += 2; } else error->all(FLERR,"Illegal fix bond/react command: unknown keyword"); } @@ -388,7 +394,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(reverse_equiv,max_natoms,2,nreacts,"bond/react:reverse_equiv"); memory->create(edge,max_natoms,nreacts,"bond/react:edge"); memory->create(landlocked_atoms,max_natoms,nreacts,"bond/react:landlocked_atoms"); - memory->create(custom_edges,max_natoms,nreacts,"bond/react:custom_edges"); + memory->create(custom_charges,max_natoms,nreacts,"bond/react:custom_charges"); memory->create(delete_atoms,max_natoms,nreacts,"bond/react:delete_atoms"); memory->create(create_atoms,max_natoms,nreacts,"bond/react:create_atoms"); memory->create(chiral_atoms,max_natoms,6,nreacts,"bond/react:chiral_atoms"); @@ -396,13 +402,17 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : for (int j = 0; j < nreacts; j++) for (int i = 0; i < max_natoms; i++) { edge[i][j] = 0; - if (update_edges_flag[j] == 1) custom_edges[i][j] = 1; - else custom_edges[i][j] = 0; + custom_charges[i][j] = 1; // update all partial charges by default delete_atoms[i][j] = 0; create_atoms[i][j] = 0; for (int k = 0; k < 6; k++) { chiral_atoms[i][k][j] = 0; } + // default equivalences to their own mol index + // all but created atoms will be updated + for (int m = 0; m < 2; m++) { + equivalences[i][m][j] = i+1; + } } // read all map files afterward @@ -422,6 +432,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : iatomtype[i] = onemol->type[ibonding[i]-1]; jatomtype[i] = onemol->type[jbonding[i]-1]; find_landlocked_atoms(i); + if (custom_charges_fragid[i] >= 0) CustomCharges(custom_charges_fragid[i],i); } // initialize Marsaglia RNG with processor-unique seed (Arrhenius prob) @@ -439,7 +450,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : } delete [] files; - if (atom->molecular != 1) + if (atom->molecular != Atom::MOLECULAR) error->all(FLERR,"Bond/react: Cannot use fix bond/react with non-molecular systems"); // check if bonding atoms are 1-2, 1-3, or 1-4 bonded neighbors @@ -475,16 +486,16 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : // allocate arrays local to this fix nmax = 0; - partner = finalpartner = NULL; - distsq = NULL; - probability = NULL; + partner = finalpartner = nullptr; + distsq = nullptr; + probability = nullptr; maxattempt = 0; - attempt = NULL; - nattempt = NULL; + attempt = nullptr; + nattempt = nullptr; allnattempt = 0; local_num_mega = 0; ghostly_num_mega = 0; - restore = NULL; + restore = nullptr; // zero out stats global_megasize = 0; @@ -492,17 +503,17 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : glove_counter = 0; guess_branch = new int[MAXGUESS](); pioneer_count = new int[max_natoms]; - local_mega_glove = NULL; - ghostly_mega_glove = NULL; - global_mega_glove = NULL; + local_mega_glove = nullptr; + ghostly_mega_glove = nullptr; + global_mega_glove = nullptr; // these are merely loop indices that became important pion = neigh = trace = 0; - id_fix1 = NULL; - id_fix2 = NULL; - id_fix3 = NULL; - statted_id = NULL; + id_fix1 = nullptr; + id_fix2 = nullptr; + id_fix3 = nullptr; + statted_id = nullptr; custom_exclude_flag = 0; // used to store restart info @@ -531,7 +542,7 @@ FixBondReact::~FixBondReact() memory->destroy(equivalences); memory->destroy(reverse_equiv); memory->destroy(landlocked_atoms); - memory->destroy(custom_edges); + memory->destroy(custom_charges); memory->destroy(delete_atoms); memory->destroy(create_atoms); memory->destroy(chiral_atoms); @@ -549,7 +560,7 @@ FixBondReact::~FixBondReact() memory->destroy(var_flag); memory->destroy(var_id); memory->destroy(stabilize_steps_flag); - memory->destroy(update_edges_flag); + memory->destroy(custom_charges_fragid); memory->destroy(iatomtype); memory->destroy(jatomtype); @@ -712,7 +723,7 @@ void FixBondReact::post_constructor() int unused; char * idprop; idprop = (char *) fix->extract("property",unused); - if (idprop == NULL) + if (idprop == nullptr) error->all(FLERR,"Exclude group must be a per-atom property group"); len = strlen(idprop) + 1; @@ -754,7 +765,7 @@ void FixBondReact::init() // check cutoff for iatomtype,jatomtype for (int i = 0; i < nreacts; i++) { - if (force->pair == NULL || cutsq[i][1] > force->pair->cutsq[iatomtype[i]][jatomtype[i]]) + if (force->pair == nullptr || cutsq[i][1] > force->pair->cutsq[iatomtype[i]][jatomtype[i]]) error->all(FLERR,"Bond/react: Fix bond/react cutoff is longer than pairwise cutoff"); } @@ -1315,7 +1326,7 @@ void FixBondReact::superimpose_algorithm() global_megasize = 0; ghost_glovecast(); // consolidate all mega_gloves to all processors - dedup_mega_gloves(0); // make sure atoms aren't added to more than one reaction + 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); @@ -1367,8 +1378,8 @@ void FixBondReact::superimpose_algorithm() next_reneighbor = update->ntimestep; // call limit_bond in 'global_mega_glove mode.' oh, and local mode - limit_bond(0); // add reacting atoms to nve/limit - limit_bond(1); + limit_bond(LOCAL); // add reacting atoms to nve/limit + limit_bond(GLOBAL); update_everything(); // change topology } @@ -2208,30 +2219,30 @@ allows for same site undergoing different pathways, in parallel void FixBondReact::dedup_mega_gloves(int dedup_mode) { - // dedup_mode == 0 for local_dedup - // dedup_mode == 1 for global_mega_glove + // dedup_mode == LOCAL for local_dedup + // dedup_mode == GLOBAL for global_mega_glove for (int i = 0; i < nreacts; i++) { - if (dedup_mode == 0) local_rxn_count[i] = 0; - if (dedup_mode == 1) ghostly_rxn_count[i] = 0; + if (dedup_mode == LOCAL) local_rxn_count[i] = 0; + if (dedup_mode == GLOBAL) ghostly_rxn_count[i] = 0; } int dedup_size = 0; - if (dedup_mode == 0) { + if (dedup_mode == LOCAL) { dedup_size = local_num_mega; - } else if (dedup_mode == 1) { + } else if (dedup_mode == GLOBAL) { dedup_size = global_megasize; } tagint **dedup_glove; memory->create(dedup_glove,max_natoms+1,dedup_size,"bond/react:dedup_glove"); - if (dedup_mode == 0) { + 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]; } } - } else if (dedup_mode == 1) { + } else if (dedup_mode == GLOBAL) { for (int i = 0; i < dedup_size; i++) { for (int j = 0; j < max_natoms+1; j++) { dedup_glove[j][i] = global_mega_glove[j][i]; @@ -2311,7 +2322,7 @@ 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 == 0) { + if (dedup_mode == LOCAL) { int new_local_megasize = 0; for (int i = 0; i < local_num_mega; i++) { if (dedup_mask[i] == 0) { @@ -2328,7 +2339,7 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) // we must update global_mega_glove and global_megasize // we can simply overwrite global_mega_glove column by column - if (dedup_mode == 1) { + if (dedup_mode == GLOBAL) { int new_global_megasize = 0; for (int i = 0; i < global_megasize; i++) { if (dedup_mask[i] == 0) { @@ -2365,7 +2376,7 @@ void FixBondReact::limit_bond(int limit_bond_mode) int nlocal = atom->nlocal; int temp_limit_num = 0; tagint *temp_limit_glove; - if (limit_bond_mode == 0) { + if (limit_bond_mode == LOCAL) { int max_temp = local_num_mega * (max_natoms + 1); temp_limit_glove = new tagint[max_temp]; for (int j = 0; j < local_num_mega; j++) { @@ -2376,7 +2387,7 @@ void FixBondReact::limit_bond(int limit_bond_mode) } } - } else if (limit_bond_mode == 1) { + } else if (limit_bond_mode == GLOBAL) { int max_temp = global_megasize * (max_natoms + 1); temp_limit_glove = new tagint[max_temp]; for (int j = 0; j < global_megasize; j++) { @@ -2564,7 +2575,7 @@ void FixBondReact::ghost_glovecast() column, 0, world); } - if (me == 0) dedup_mega_gloves(1); // global_mega_glove mode + if (me == 0) dedup_mega_gloves(GLOBAL); // global_mega_glove mode MPI_Bcast(&global_megasize,1,MPI_INT,0,world); MPI_Bcast(&(global_mega_glove[0][0]), global_megasize, column, 0, world); @@ -2659,11 +2670,11 @@ void FixBondReact::update_everything() twomol = atom->molecules[reacted_mol[rxnID]]; for (int j = 0; j < twomol->natoms; j++) { int jj = equivalences[j][1][rxnID]-1; - if ((landlocked_atoms[j][rxnID] == 1 || custom_edges[jj][rxnID] == 1) && - atom->map(update_mega_glove[jj+1][i]) >= 0 && + if (atom->map(update_mega_glove[jj+1][i]) >= 0 && atom->map(update_mega_glove[jj+1][i]) < nlocal) { - type[atom->map(update_mega_glove[jj+1][i])] = twomol->type[j]; - if (twomol->qflag && atom->q_flag) { + if (landlocked_atoms[j][rxnID] == 1) + type[atom->map(update_mega_glove[jj+1][i])] = twomol->type[j]; + if (twomol->qflag && atom->q_flag && custom_charges[jj][rxnID] == 1) { double *q = atom->q; q[atom->map(update_mega_glove[jj+1][i])] = twomol->q[j]; } @@ -3150,7 +3161,7 @@ void FixBondReact::read(int myrxn) // skip 1st line of file eof = fgets(line,MAXLINE,fp); - if (eof == NULL) error->one(FLERR,"Bond/react: Unexpected end of superimpose file"); + if (eof == nullptr) error->one(FLERR,"Bond/react: Unexpected end of superimpose file"); // read header lines // skip blank lines or lines that start with "#" @@ -3174,7 +3185,6 @@ void FixBondReact::read(int myrxn) error->one(FLERR,"Bond/react: Number of equivalences in map file must " "equal number of atoms in reaction templates"); } - else if (strstr(line,"customIDs")) sscanf(line,"%d",&ncustom); 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); @@ -3191,7 +3201,7 @@ void FixBondReact::read(int myrxn) // loop over sections of superimpose file - int equivflag = 0, bondflag = 0, customedgesflag = 0; + int equivflag = 0, bondflag = 0; while (strlen(keyword)) { if (strcmp(keyword,"BondingIDs") == 0) { bondflag = 1; @@ -3208,9 +3218,6 @@ void FixBondReact::read(int myrxn) } else if (strcmp(keyword,"Equivalences") == 0) { equivflag = 1; Equivalences(line, myrxn); - } else if (strcmp(keyword,"Custom Edges") == 0) { - customedgesflag = 1; - CustomEdges(line, myrxn); } else if (strcmp(keyword,"DeleteIDs") == 0) { DeleteAtoms(line, myrxn); } else if (strcmp(keyword,"CreateIDs") == 0) { @@ -3228,12 +3235,6 @@ void FixBondReact::read(int myrxn) // error check if (bondflag == 0 || equivflag == 0) error->all(FLERR,"Bond/react: Map file missing BondingIDs or Equivalences section\n"); - - if (update_edges_flag[myrxn] == 2 && customedgesflag == 0) - error->all(FLERR,"Bond/react: Map file must have a Custom Edges section when using 'update_edges custom'\n"); - - if (update_edges_flag[myrxn] != 2 && customedgesflag == 1) - error->all(FLERR,"Bond/react: Specify 'update_edges custom' to include Custom Edges section in map file\n"); } void FixBondReact::EdgeIDs(char *line, int myrxn) @@ -3268,28 +3269,6 @@ void FixBondReact::Equivalences(char *line, int myrxn) } } -void FixBondReact::CustomEdges(char *line, int myrxn) -{ - // 0 for 'none', 1 for 'charges' - - int tmp; - int n = MAX(strlen("none"),strlen("charges")) + 1; - char *edgemode = new char[n]; - for (int i = 0; i < ncustom; i++) { - readline(line); - sscanf(line,"%d %s",&tmp,edgemode); - if (tmp > onemol->natoms) - error->one(FLERR,"Bond/react: Invalid template atom ID in map file"); - if (strcmp(edgemode,"none") == 0) - custom_edges[tmp-1][myrxn] = 0; - else if (strcmp(edgemode,"charges") == 0) - custom_edges[tmp-1][myrxn] = 1; - else - error->one(FLERR,"Bond/react: Illegal value in 'Custom Edges' section of map file"); - } - delete [] edgemode; -} - void FixBondReact::DeleteAtoms(char *line, int myrxn) { int tmp; @@ -3312,6 +3291,15 @@ void FixBondReact::CreateAtoms(char *line, int myrxn) } } +void FixBondReact::CustomCharges(int ifragment, int myrxn) +{ + for (int i = 0; i < onemol->natoms; i++) + if (onemol->fragmentmask[ifragment][i]) + custom_charges[i][myrxn] = 1; + else + custom_charges[i][myrxn] = 0; +} + void FixBondReact::ChiralCenters(char *line, int myrxn) { int tmp; @@ -3435,7 +3423,7 @@ void FixBondReact::readID(char *strarg, int iconstr, int mode, int myID) void FixBondReact::open(char *file) { fp = fopen(file,"r"); - if (fp == NULL) { + if (fp == nullptr) { char str[128]; snprintf(str,128,"Bond/react: Cannot open map file %s",file); error->one(FLERR,str); @@ -3446,7 +3434,7 @@ void FixBondReact::readline(char *line) { int n; if (me == 0) { - if (fgets(line,MAXLINE,fp) == NULL) n = 0; + if (fgets(line,MAXLINE,fp) == nullptr) n = 0; else n = strlen(line) + 1; } MPI_Bcast(&n,1,MPI_INT,0,world); @@ -3463,11 +3451,11 @@ void FixBondReact::parse_keyword(int flag, char *line, char *keyword) int eof = 0; if (me == 0) { - if (fgets(line,MAXLINE,fp) == NULL) eof = 1; + if (fgets(line,MAXLINE,fp) == nullptr) eof = 1; while (eof == 0 && strspn(line," \t\n\r") == strlen(line)) { - if (fgets(line,MAXLINE,fp) == NULL) eof = 1; + if (fgets(line,MAXLINE,fp) == nullptr) eof = 1; } - if (fgets(keyword,MAXLINE,fp) == NULL) eof = 1; + if (fgets(keyword,MAXLINE,fp) == nullptr) eof = 1; } // if eof, set keyword empty and return @@ -3509,7 +3497,7 @@ int FixBondReact::parse(char *line, char **words, int max) int nwords = 0; words[nwords++] = strtok(line," \t\n\r\f"); - while ((ptr = strtok(NULL," \t\n\r\f"))) { + while ((ptr = strtok(nullptr," \t\n\r\f"))) { if (nwords < max) words[nwords] = ptr; nwords++; } diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index 118770864f..2696d84768 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -80,10 +80,10 @@ class FixBondReact : public Fix { int max_natoms; // max natoms in a molecule template tagint *partner,*finalpartner; double **distsq,*probability; - int *ncreate; - int maxcreate; - int allncreate; - tagint ***created; + int *nattempt; + int maxattempt; + int allnattempt; + tagint ***attempt; class Molecule *onemol; // pre-reacted molecule template class Molecule *twomol; // post-reacted molecule template @@ -113,7 +113,7 @@ class FixBondReact : public Fix { int *ibonding,*jbonding; int *closeneigh; // indicates if bonding atoms of a rxn are 1-2, 1-3, or 1-4 neighbors - int nedge,nequivalent,ndelete,ncreate,nchiral,nconstr; // # edge, equivalent, custom atoms in mapping file + int nedge,nequivalent,ndelete,ncreate,nchiral,nconstr; // # edge, equivalent atoms in mapping file int attempted_rxn; // there was an attempt! int *local_rxn_count; int *ghostly_rxn_count; From 0236cabce99bc31b68b4fd2787c0feb2c810cb8c Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Mon, 21 Sep 2020 10:29:42 -0400 Subject: [PATCH 005/132] bond/react:add-modify-create-keyword --- src/USER-REACTION/fix_bond_react.cpp | 22 +++++++++++++++++++--- src/USER-REACTION/fix_bond_react.h | 1 + 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 995c3a53da..93cf55000a 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -205,6 +205,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(limit_duration,nreacts,"bond/react:limit_duration"); memory->create(stabilize_steps_flag,nreacts,"bond/react:stabilize_steps_flag"); memory->create(custom_charges_fragid,nreacts,"bond/react:custom_charges_fragid"); + memory->create(modify_create_fragid,nreacts,"bond/react:modify_create_fragid"); memory->create(constraints,1,MAXCONARGS,"bond/react:constraints"); memory->create(var_flag,NUMVARVALS,nreacts,"bond/react:var_flag"); memory->create(var_id,NUMVARVALS,nreacts,"bond/react:var_id"); @@ -225,6 +226,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : max_rxn[i] = INT_MAX; stabilize_steps_flag[i] = 0; custom_charges_fragid[i] = -1; + modify_create_fragid[i] = -1; // set default limit duration to 60 timesteps limit_duration[i] = 60; reaction_count[i] = 0; @@ -380,6 +382,16 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : "'custom_charges' keyword does not exist"); } iarg += 2; + } else if (strcmp(arg[iarg],"modify_create") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " + "'modify_create' has too few arguments"); + if (strcmp(arg[iarg+1],"no") == 0) modify_create_fragid[rxn] = -1; //default + else { + modify_create_fragid[rxn] = atom->molecules[unreacted_mol[rxn]]->findfragment(arg[iarg+1]); + if (modify_create_fragid[rxn] < 0) error->one(FLERR,"Bond/react: Molecule fragment for " + "'modify_create' keyword does not exist"); + } + iarg += 2; } else error->all(FLERR,"Illegal fix bond/react command: unknown keyword"); } } @@ -561,6 +573,7 @@ FixBondReact::~FixBondReact() memory->destroy(var_id); memory->destroy(stabilize_steps_flag); memory->destroy(custom_charges_fragid); + memory->destroy(modify_create_fragid); memory->destroy(iatomtype); memory->destroy(jatomtype); @@ -2605,8 +2618,7 @@ void FixBondReact::update_everything() // used when deleting atoms int ndel,ndelone; - int *mark = new int[nlocal]; - for (int i = 0; i < nlocal; i++) mark[i] = 0; + int *mark; tagint *tag = atom->tag; AtomVec *avec = atom->avec; @@ -2653,6 +2665,8 @@ void FixBondReact::update_everything() delete [] iskip; // mark to-delete atoms + mark = new int[nlocal]; + for (int i = 0; i < nlocal; i++) mark[i] = 0; for (int i = 0; i < update_num_mega; i++) { rxnID = update_mega_glove[0][i]; onemol = atom->molecules[unreacted_mol[rxnID]]; @@ -3150,6 +3164,8 @@ void FixBondReact::update_everything() atom->nimpropers += Tdelta_imprp; } + + /* ---------------------------------------------------------------------- read superimpose file ------------------------------------------------------------------------- */ @@ -3258,7 +3274,7 @@ void FixBondReact::Equivalences(char *line, int myrxn) for (int i = 0; i < nequivalent; i++) { readline(line); sscanf(line,"%d %d",&tmp1,&tmp2); - if (tmp1 > onemol->natoms || tmp2 > onemol->natoms) + if (tmp1 > onemol->natoms || tmp2 > twomol->natoms) error->one(FLERR,"Bond/react: Invalid template atom ID in map file"); //equivalences is-> clmn 1: post-reacted, clmn 2: pre-reacted equivalences[tmp2-1][0][myrxn] = tmp2; diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index 2696d84768..506a98c4ec 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -65,6 +65,7 @@ class FixBondReact : public Fix { int custom_exclude_flag; int *stabilize_steps_flag; int *custom_charges_fragid; + int *modify_create_fragid; int nconstraints; int narrhenius; double **constraints; From ede28cc1bfae3cde696243c08d557afdfd22878d Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Mon, 21 Sep 2020 12:01:40 -0400 Subject: [PATCH 006/132] bond/react:modify-create-correction --- src/USER-REACTION/fix_bond_react.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 93cf55000a..194f548632 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -387,7 +387,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : "'modify_create' has too few arguments"); if (strcmp(arg[iarg+1],"no") == 0) modify_create_fragid[rxn] = -1; //default else { - modify_create_fragid[rxn] = atom->molecules[unreacted_mol[rxn]]->findfragment(arg[iarg+1]); + modify_create_fragid[rxn] = atom->molecules[reacted_mol[rxn]]->findfragment(arg[iarg+1]); if (modify_create_fragid[rxn] < 0) error->one(FLERR,"Bond/react: Molecule fragment for " "'modify_create' keyword does not exist"); } From 0b903fa7c2722a615cb90aeba9ca251b89bab7c9 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Mon, 21 Sep 2020 14:53:30 -0400 Subject: [PATCH 007/132] bond/react: create-atoms-draft-docs --- doc/src/fix_bond_react.rst | 81 +++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 31 deletions(-) diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 159e39d075..587ed29980 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -55,6 +55,9 @@ Syntax *custom_charges* value = *no* or *fragmentID* no = update all atomic charges (default) fragmentID = ID of molecule fragment whose charges are updated + *modify_create* value = *no* or *fragmentID* + no = use all eligible atoms for create-atoms fit (default) + fragmentID = ID of molecule fragment used for create-atoms fit Examples """""""" @@ -85,7 +88,9 @@ documentation. Topology changes are defined in pre- and post-reaction molecule templates and can include creation and deletion of bonds, angles, dihedrals, impropers, bond types, angle types, dihedral types, atom types, or atomic charges. In addition, reaction by-products or -other molecules can be identified and deleted. +other molecules can be identified and deleted. Finally, atoms can be +created and inserted at specific positions relative to the reaction +site. Fix bond/react does not use quantum mechanical (eg. fix qmmm) or pairwise bond-order potential (eg. Tersoff or AIREBO) methods to @@ -249,14 +254,14 @@ command page. The post-reacted molecule template contains a sample of the reaction site and its surrounding topology after the reaction has occurred. It -must contain the same number of atoms as the pre-reacted template. A -one-to-one correspondence between the atom IDs in the pre- and -post-reacted templates is specified in the map file as described -below. Note that during a reaction, an atom, bond, etc. type may -change to one that was previously not present in the simulation. These -new types must also be defined during the setup of a given simulation. -A discussion of correctly handling this is also provided on the -:doc:`molecule ` command page. +must contain the same number of atoms as the pre-reacted template +(unless there are created atoms). A one-to-one correspondence between +the atom IDs in the pre- and post-reacted templates is specified in +the map file as described below. Note that during a reaction, an atom, +bond, etc. type may change to one that was previously not present in +the simulation. These new types must also be defined during the setup +of a given simulation. A discussion of correctly handling this is also +provided on the :doc:`molecule ` command page. .. note:: @@ -270,7 +275,7 @@ A discussion of correctly handling this is also provided on the The map file is a text document with the following format: A map file has a header and a body. The header of map file the -contains one mandatory keyword and four optional keywords. The +contains one mandatory keyword and five optional keywords. The mandatory keyword is 'equivalences': .. parsed-literal:: @@ -283,11 +288,12 @@ The optional keywords are 'edgeIDs', 'deleteIDs', 'chiralIDs' and .. parsed-literal:: N *edgeIDs* = # of edge atoms N in the pre-reacted molecule template - N *deleteIDs* = # of atoms N that are specified for deletion - N *chiralIDs* = # of specified chiral centers N - N *constraints* = # of specified reaction constraints N + N *deleteIDs* = # of atoms N that are deleted + N *createIDs* = # of atoms N that are created + N *chiralIDs* = # of chiral centers N + N *constraints* = # of reaction constraints N -The body of the map file contains two mandatory sections and four +The body of the map file contains two mandatory sections and five optional sections. The first mandatory section begins with the keyword 'BondingIDs' and lists the atom IDs of the bonding atom pair in the pre-reacted molecule template. The second mandatory section begins @@ -299,13 +305,15 @@ molecule template. The first optional section begins with the keyword 'EdgeIDs' and lists the atom IDs of edge atoms in the pre-reacted molecule template. The second optional section begins with the keyword 'DeleteIDs' and lists the atom IDs of pre-reaction template atoms to -delete. The third optional section begins with the keyword 'ChiralIDs' -lists the atom IDs of chiral atoms whose handedness should be -enforced. The fourth optional section begins with the keyword -'Constraints' and lists additional criteria that must be satisfied in -order for the reaction to occur. Currently, there are five types of -constraints available, as discussed below: 'distance', 'angle', -'dihedral', 'arrhenius', and 'rmsd'. +delete. The third optional section begins with the keyword 'CreateIDs' +and lists the atom IDs of the post-reaction template atoms to create. +The fourth optional section begins with the keyword 'ChiralIDs' lists +the atom IDs of chiral atoms whose handedness should be enforced. The +fifth optional section begins with the keyword 'Constraints' and lists +additional criteria that must be satisfied in order for the reaction +to occur. Currently, there are five types of constraints available, as +discussed below: 'distance', 'angle', 'dihedral', 'arrhenius', and +'rmsd'. A sample map file is given below: @@ -340,6 +348,26 @@ A sample map file is given below: ---------- +A user-specified set of atoms can be deleted by listing their +pre-reaction template IDs in the DeleteIDs section. A deleted atom +must still be included in the post-reaction molecule template, in +which it cannot be bonded to an atom that is not deleted. In addition +to deleting unwanted reaction by-products, this feature can be used to +remove specific topologies, such as small rings, that may be otherwise +indistinguishable. + +Atoms can be created by listing their post-reaction template IDs in +the CreateIDs section. A created atom should not be included in the +pre-reaction template. The inserted positions of created atoms are +determined by the coordinates of the post-reaction template, after +optimal translation and rotation of the post-reaction template to the +reaction site (using a fit with atoms that are neither created nor +deleted). Or, the *modify_create* keyword can be used to specify which +post-reaction atoms are used for this fit. The *fragmentID* value must +be the name of a molecule fragment defined in the post-reaction +:doc:`molecule ` template, and only atoms in this fragment +are used for the fit. + The handedness of atoms that are chiral centers can be enforced by listing their IDs in the ChiralIDs section. A chiral atom must be bonded to four atoms with mutually different atom types. This feature @@ -490,15 +518,6 @@ only the atomic charges of atoms in the molecule fragment are updated. A few other considerations: -Many reactions result in one or more atoms that are considered -unwanted by-products. Therefore, bond/react provides the option to -delete a user-specified set of atoms. These pre-reaction atoms are -identified in the map file. A deleted atom must still be included in -the post-reaction molecule template, in which it cannot be bonded to -an atom that is not deleted. In addition to deleting unwanted reaction -by-products, this feature can be used to remove specific topologies, -such as small rings, that may be otherwise indistinguishable. - Optionally, you can enforce additional behaviors on reacting atoms. For example, it may be beneficial to force reacting atoms to remain at a certain temperature. For this, you can use the internally-created @@ -572,7 +591,7 @@ Default """"""" The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, -reset_mol_ids = yes, custom_charges = no +reset_mol_ids = yes, custom_charges = no, modify_create = no ---------- From 61c51847c2ce363bfceecc8525f2fab48105fdfd Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Fri, 2 Oct 2020 20:53:27 -0400 Subject: [PATCH 008/132] bond/react: basic create atoms feature --- src/USER-REACTION/fix_bond_react.cpp | 295 +++++++++++++++++++++++++-- src/USER-REACTION/fix_bond_react.h | 3 +- 2 files changed, 276 insertions(+), 22 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 194f548632..c824e2ae86 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -205,6 +205,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(limit_duration,nreacts,"bond/react:limit_duration"); memory->create(stabilize_steps_flag,nreacts,"bond/react:stabilize_steps_flag"); memory->create(custom_charges_fragid,nreacts,"bond/react:custom_charges_fragid"); + memory->create(create_atoms_flag,nreacts,"bond/react:create_atoms_flag"); memory->create(modify_create_fragid,nreacts,"bond/react:modify_create_fragid"); memory->create(constraints,1,MAXCONARGS,"bond/react:constraints"); memory->create(var_flag,NUMVARVALS,nreacts,"bond/react:var_flag"); @@ -226,6 +227,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : max_rxn[i] = INT_MAX; stabilize_steps_flag[i] = 0; custom_charges_fragid[i] = -1; + create_atoms_flag[i] = 0; modify_create_fragid[i] = -1; // set default limit duration to 60 timesteps limit_duration[i] = 60; @@ -573,6 +575,7 @@ FixBondReact::~FixBondReact() memory->destroy(var_id); memory->destroy(stabilize_steps_flag); memory->destroy(custom_charges_fragid); + memory->destroy(create_atoms_flag); memory->destroy(modify_create_fragid); memory->destroy(iatomtype); @@ -1387,6 +1390,13 @@ void FixBondReact::superimpose_algorithm() } } + // abort here, for processes that have no reactions + // only MPI in get_everything is for create_atoms, which are always in global_megasize + if (local_num_mega == 0 && global_megasize == 0) { + unlimit_bond(); + return; + } + // this updates topology next step next_reneighbor = update->ntimestep; @@ -2496,11 +2506,15 @@ void FixBondReact::glove_ghostcheck() int ghostly = 0; #if !defined(MPI_STUBS) if (comm->style == 0) { - 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; + 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; + } } } } else { @@ -2663,6 +2677,22 @@ void FixBondReact::update_everything() } } delete [] iskip; + if (update_num_mega == 0) continue; + + // we can insert atoms here, now that reactions are finalized + // can't do it any earlier, due to skipped reactions (max_rxn) + // reactions that create atoms are always treated as 'global' + if (pass == 1) { + for (int i = 0; i < update_num_mega; i++) { + rxnID = update_mega_glove[0][i]; + if (create_atoms_flag[rxnID] == 1) { + onemol = atom->molecules[unreacted_mol[rxnID]]; + twomol = atom->molecules[reacted_mol[rxnID]]; + insert_atoms(update_mega_glove,i); + nlocal = atom->nlocal; + } + } + } // mark to-delete atoms mark = new int[nlocal]; @@ -2698,22 +2728,24 @@ void FixBondReact::update_everything() //maybe add check that all 1-3 neighbors of a local atoms are at least ghosts -> unneeded --jg //okay, here goes: - for (int i = 0; i < update_num_mega; i++) { - rxnID = update_mega_glove[0][i]; - twomol = atom->molecules[reacted_mol[rxnID]]; - for (int j = 0; j < twomol->natoms; j++) { - int jj = equivalences[j][1][rxnID]-1; - if (atom->map(update_mega_glove[jj+1][i]) < nlocal && atom->map(update_mega_glove[jj+1][i]) >= 0) { - if (landlocked_atoms[j][rxnID] == 1) { - for (int k = 0; k < nspecial[atom->map(update_mega_glove[jj+1][i])][2]; k++) { - if (atom->map(special[atom->map(update_mega_glove[jj+1][i])][k]) < 0) { - error->all(FLERR,"Bond/react: Fix bond/react needs ghost atoms from further away - most likely too many processors"); - } - } - } - } - } - } + //for (int i = 0; i < update_num_mega; i++) { + // rxnID = update_mega_glove[0][i]; + // twomol = atom->molecules[reacted_mol[rxnID]]; + // for (int j = 0; j < twomol->natoms; j++) { + // int jj = equivalences[j][1][rxnID]-1; + // int jlocal = atom->map(update_mega_glove[jj+1][i]); + // if (jlocal < nlocal && jlocal >= 0) { + // if (landlocked_atoms[j][rxnID] == 1) { + // for (int k = 0; k < nspecial[jlocal][2]; k++) { + // if (atom->map(special[jlocal][k]) < 0 && create_atoms[j][rxnID] == 0) { + // //error->all(FLERR,"Bond/react: Fix bond/react needs ghost atoms from further away - most likely too many processors"); + // printf("local is %d other is %d on %d\n", update_mega_glove[jj+1][i],special[jlocal][k],me); + // } + // } + // } + // } + // } + //} int insert_num; // very nice and easy to completely overwrite special bond info for landlocked atoms @@ -3164,7 +3196,227 @@ void FixBondReact::update_everything() atom->nimpropers += Tdelta_imprp; } +/* ---------------------------------------------------------------------- +insert created atoms +------------------------------------------------------------------------- */ +void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) +{ + // inserting atoms based off fix_deposit->pre_exchange + int flag; + imageint imageflag; + double coord[3],lamda[3],rotmat[3][3],vnew[3]; + double *newcoord; + + // clear ghost count and any ghost bonus data internal to AtomVec + // same logic as beginning of Comm::exchange() + // do it now b/c inserting atoms will overwrite ghost atoms + atom->nghost = 0; + atom->avec->clear_bonus(); + + double *sublo,*subhi; + if (domain->triclinic == 0) { + sublo = domain->sublo; + subhi = domain->subhi; + } else { + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + // find current max atom and molecule IDs + tagint *tag = atom->tag; + double **x = atom->x; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + + tagint maxtag_all,maxmol_all; + tagint max = 0; + for (int i = 0; i < nlocal; i++) max = MAX(max,tag[i]); + MPI_Allreduce(&max,&maxtag_all,1,MPI_LMP_TAGINT,MPI_MAX,world); + + max = 0; + for (int i = 0; i < nlocal; i++) max = MAX(max,molecule[i]); + MPI_Allreduce(&max,&maxmol_all,1,MPI_LMP_TAGINT,MPI_MAX,world); + + int dimension = domain->dimension; + + // only proc that owns reacting atom (use ibonding), + // fits post-reaction template to reaction site, for creating atoms + int n2superpose = 0; + for (int j = 0; j < twomol->natoms; j++) { + if (modify_create_fragid[rxnID] >= 0) + if (!twomol->fragmentmask[modify_create_fragid[rxnID]][j]) continue; + if (!create_atoms[j][rxnID] && !delete_atoms[equivalences[j][1][rxnID]][rxnID]) + n2superpose++; + } + + int ifit = atom->map(my_mega_glove[ibonding[rxnID]+1][iupdate]); // use this local ID to find fitting proc + Superpose3D superposer(n2superpose); + if (ifit >= 0 && ifit < atom->nlocal) { + double **xfrozen; // coordinates for the "frozen" target molecule + double **xmobile; // coordinates for the "mobile" molecule + memory->create(xfrozen,n2superpose,3,"bond/react:xfrozen"); + memory->create(xmobile,n2superpose,3,"bond/react:xmobile"); + tagint iatom; + tagint iref = -1; // choose first atom as reference + int fit_incr = 0; + for (int j = 0; j < twomol->natoms; j++) { + if (modify_create_fragid[rxnID] >= 0) + if (!twomol->fragmentmask[modify_create_fragid[rxnID]][j]) continue; + int ipre = equivalences[j][1][rxnID]-1; // equiv pre-reaction template index + if (!create_atoms[j][rxnID] && !delete_atoms[ipre][rxnID]) { + if (atom->map(my_mega_glove[ipre+1][iupdate]) < 0) { + printf("WARNING: eligible atoms skipped for created-atoms fit on %d\n",me); + continue; + } + iatom = atom->map(my_mega_glove[ipre+1][iupdate]); + if (iref == -1) iref = iatom; + iatom = domain->closest_image(iref,iatom); + for (int k = 0; k < 3; k++) { + xfrozen[fit_incr][k] = x[iatom][k]; + xmobile[fit_incr][k] = twomol->x[j][k]; + } + fit_incr++; + } + } + double rmsd = superposer.Superpose(xfrozen, xmobile); + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + rotmat[i][j] = superposer.R[i][j]; + memory->destroy(xfrozen); + memory->destroy(xmobile); + } + + // choose random velocity for new particle + // used for every atom in molecule + //currently insert with zero velocities + //vnew[0] = vxlo + random->uniform() * (vxhi-vxlo); + //vnew[1] = vylo + random->uniform() * (vyhi-vylo); + //vnew[2] = vzlo + random->uniform() * (vzhi-vzlo); + + // check if new atoms are in my sub-box or above it if I am highest proc + // if so, add atom to my list via create_atom() + // initialize additional info about the atoms + // set group mask to "all" plus fix group + int preID; // new equivalences index + int root = 0; + int add_count = 0; + for (int m = 0; m < twomol->natoms; m++) { + if (create_atoms[m][rxnID] == 1) { + // increase atom count + add_count++; + preID = onemol->natoms+add_count; + + // apply optimal rotation/translation for created atom coords + // also map coords back into simulation box + root = 0; + if (ifit >= 0 && ifit < atom->nlocal) { + root = me; + MathExtra::matvec(rotmat,twomol->x[m],coord); + for (int i = 0; i < 3; i++) coord[i] += superposer.T[i]; + imageflag = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + domain->remap(coord,imageflag); + } + MPI_Allreduce(MPI_IN_PLACE,&root,1,MPI_INT,MPI_SUM,world); + MPI_Bcast(coord,3,MPI_DOUBLE,root,world); + + if (domain->triclinic) { + domain->x2lamda(coord,lamda); + newcoord = lamda; + } else newcoord = coord; + + flag = 0; + if (newcoord[0] >= sublo[0] && newcoord[0] < subhi[0] && + newcoord[1] >= sublo[1] && newcoord[1] < subhi[1] && + newcoord[2] >= sublo[2] && newcoord[2] < subhi[2]) flag = 1; + else if (dimension == 3 && newcoord[2] >= domain->boxhi[2]) { + if (comm->layout != Comm::LAYOUT_TILED) { + if (comm->myloc[2] == comm->procgrid[2]-1 && + newcoord[0] >= sublo[0] && newcoord[0] < subhi[0] && + newcoord[1] >= sublo[1] && newcoord[1] < subhi[1]) flag = 1; + } else { + if (comm->mysplit[2][1] == 1.0 && + newcoord[0] >= sublo[0] && newcoord[0] < subhi[0] && + newcoord[1] >= sublo[1] && newcoord[1] < subhi[1]) flag = 1; + } + } else if (dimension == 2 && newcoord[1] >= domain->boxhi[1]) { + if (comm->layout != Comm::LAYOUT_TILED) { + if (comm->myloc[1] == comm->procgrid[1]-1 && + newcoord[0] >= sublo[0] && newcoord[0] < subhi[0]) flag = 1; + } else { + if (comm->mysplit[1][1] == 1.0 && + newcoord[0] >= sublo[0] && newcoord[0] < subhi[0]) flag = 1; + } + } + root = 0; + if (flag) { + root = me; + + atom->avec->create_atom(twomol->type[m],coord); + int n = atom->nlocal - 1; + atom->tag[n] = maxtag_all + add_count; + + // locally update mega_glove + my_mega_glove[preID][iupdate] = atom->tag[n]; + + if (atom->molecule_flag) atom->molecule[n] = maxmol_all+1; + if (atom->molecular == 2) { + atom->molindex[n] = 0; + atom->molatom[n] = m; + } + + atom->mask[n] = 1 | groupbit; + atom->image[n] = imageflag; + atom->v[n][0] = 0.01;//vnew[0]; + atom->v[n][1] = 0.01;//vnew[1]; + atom->v[n][2] = 0.01;//vnew[2]; + modify->create_attribute(n); + + // initialize group statuses + // why aren't these more global... + int flag; + int index1 = atom->find_custom("limit_tags",flag); + int *i_limit_tags = atom->ivector[index1]; + + int *i_statted_tags; + if (stabilization_flag == 1) { + int index2 = atom->find_custom(statted_id,flag); + i_statted_tags = atom->ivector[index2]; + } + + int index3 = atom->find_custom("react_tags",flag); + int *i_react_tags = atom->ivector[index3]; + + i_limit_tags[n] = update->ntimestep + 1; + if (stabilization_flag == 1) i_statted_tags[n] = 0; + i_react_tags[n] = rxnID; + } + // globally update mega_glove and equivalences + MPI_Allreduce(MPI_IN_PLACE,&root,1,MPI_INT,MPI_SUM,world); + MPI_Bcast(&my_mega_glove[preID][iupdate],1,MPI_LMP_TAGINT,root,world); + equivalences[m][0][rxnID] = m+1; + equivalences[m][1][rxnID] = preID; + reverse_equiv[preID-1][0][rxnID] = preID; + reverse_equiv[preID-1][1][rxnID] = m+1; + } + } + + // reset global natoms + // if global map exists, reset it now instead of waiting for comm + // since other pre-exchange fixes may use it + // invoke map_init() b/c atom count has grown + atom->natoms += add_count; + if (atom->natoms < 0) + error->all(FLERR,"Too many total atoms"); + maxtag_all += add_count; + if (maxtag_all >= MAXTAGINT) + error->all(FLERR,"New atom IDs exceed maximum allowed ID"); + if (atom->map_style != Atom::MAP_NONE) { + atom->map_init(); + atom->map_set(); + } +} /* ---------------------------------------------------------------------- read superimpose file @@ -3299,6 +3551,7 @@ void FixBondReact::DeleteAtoms(char *line, int myrxn) void FixBondReact::CreateAtoms(char *line, int myrxn) { + create_atoms_flag[myrxn] = 1; int tmp; for (int i = 0; i < ncreate; i++) { readline(line); diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index 506a98c4ec..e33d14f7d6 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -65,6 +65,7 @@ class FixBondReact : public Fix { int custom_exclude_flag; int *stabilize_steps_flag; int *custom_charges_fragid; + int *create_atoms_flag; int *modify_create_fragid; int nconstraints; int narrhenius; @@ -184,7 +185,7 @@ class FixBondReact : public Fix { void glove_ghostcheck(); void ghost_glovecast(); void update_everything(); - void insert_atoms(int, tagint **, int); + void insert_atoms(tagint **, int); void unlimit_bond(); void limit_bond(int); void dedup_mega_gloves(int); //dedup global mega_glove From ccb7a6ee11182c8727fa4d28ba3f22bf68367864 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Mon, 5 Oct 2020 23:16:46 -0400 Subject: [PATCH 009/132] remove unnecessary check because it breaks create_atoms feature --- src/USER-REACTION/fix_bond_react.cpp | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index c824e2ae86..db629d8bee 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -2726,27 +2726,6 @@ void FixBondReact::update_everything() } } - //maybe add check that all 1-3 neighbors of a local atoms are at least ghosts -> unneeded --jg - //okay, here goes: - //for (int i = 0; i < update_num_mega; i++) { - // rxnID = update_mega_glove[0][i]; - // twomol = atom->molecules[reacted_mol[rxnID]]; - // for (int j = 0; j < twomol->natoms; j++) { - // int jj = equivalences[j][1][rxnID]-1; - // int jlocal = atom->map(update_mega_glove[jj+1][i]); - // if (jlocal < nlocal && jlocal >= 0) { - // if (landlocked_atoms[j][rxnID] == 1) { - // for (int k = 0; k < nspecial[jlocal][2]; k++) { - // if (atom->map(special[jlocal][k]) < 0 && create_atoms[j][rxnID] == 0) { - // //error->all(FLERR,"Bond/react: Fix bond/react needs ghost atoms from further away - most likely too many processors"); - // printf("local is %d other is %d on %d\n", update_mega_glove[jj+1][i],special[jlocal][k],me); - // } - // } - // } - // } - // } - //} - int insert_num; // very nice and easy to completely overwrite special bond info for landlocked atoms for (int i = 0; i < update_num_mega; i++) { From d5c6007797cf76bc3643c78880ae0daf3098fb49 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 25 Oct 2020 17:19:03 -0400 Subject: [PATCH 010/132] bond/react: revert some overzealous optimization could cause hang --- src/USER-REACTION/fix_bond_react.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index f2fb3d4f92..1b0c4a9be7 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -1390,13 +1390,6 @@ void FixBondReact::superimpose_algorithm() } } - // abort here, for processes that have no reactions - // only MPI in get_everything is for create_atoms, which are always in global_megasize - if (local_num_mega == 0 && global_megasize == 0) { - unlimit_bond(); - return; - } - // this updates topology next step next_reneighbor = update->ntimestep; @@ -2687,7 +2680,6 @@ void FixBondReact::update_everything() } } delete [] iskip; - if (update_num_mega == 0) continue; // we can insert atoms here, now that reactions are finalized // can't do it any earlier, due to skipped reactions (max_rxn) From b8d2b65d8dd77ad01c0fd4cc3ad36b99d9af7af3 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 25 Oct 2020 18:56:00 -0400 Subject: [PATCH 011/132] bond/react: generalize get_temperature --- src/USER-REACTION/fix_bond_react.cpp | 8 ++++---- src/USER-REACTION/fix_bond_react.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 1b0c4a9be7..8b6c1317af 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -1886,7 +1886,7 @@ int FixBondReact::check_constraints() } if (ANDgate != 1) return 0; } else if (constraints[i][1] == ARRHENIUS) { - t = get_temperature(); + t = get_temperature(glove,0,1); prrhob = constraints[i][3]*pow(t,constraints[i][4])* exp(-constraints[i][5]/(force->boltz*t)); if (prrhob < rrhandom[(int) constraints[i][2]]->uniform()) return 0; @@ -2007,7 +2007,7 @@ void FixBondReact::get_IDcoords(int mode, int myID, double *center) compute local temperature: average over all atoms in reaction template ------------------------------------------------------------------------- */ -double FixBondReact::get_temperature() +double FixBondReact::get_temperature(tagint **myglove, int row_offset, int col) { int i,ilocal; double adof = domain->dimension; @@ -2021,13 +2021,13 @@ double FixBondReact::get_temperature() if (rmass) { for (i = 0; i < onemol->natoms; i++) { - ilocal = atom->map(glove[i][1]); + ilocal = atom->map(myglove[i+row_offset][col]); t += (v[ilocal][0]*v[ilocal][0] + v[ilocal][1]*v[ilocal][1] + v[ilocal][2]*v[ilocal][2]) * rmass[ilocal]; } } else { for (i = 0; i < onemol->natoms; i++) { - ilocal = atom->map(glove[i][1]); + ilocal = atom->map(myglove[i+row_offset][col]); t += (v[ilocal][0]*v[ilocal][0] + v[ilocal][1]*v[ilocal][1] + v[ilocal][2]*v[ilocal][2]) * mass[type[ilocal]]; } diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index e33d14f7d6..d8ff4154e3 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -169,7 +169,7 @@ class FixBondReact : public Fix { void ring_check(); int check_constraints(); void get_IDcoords(int, int, double *); - double get_temperature(); + double get_temperature(tagint **, int, int); int get_chirality(double[12]); // get handedness given an ordered set of coordinates void open(char *); From 4b111d7c43752ca2abc53828c263749b40c0e4e5 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 25 Oct 2020 20:57:46 -0400 Subject: [PATCH 012/132] bond/react:better initial vels for created atoms --- src/USER-REACTION/fix_bond_react.cpp | 34 +++++++++++++++++++--------- src/USER-REACTION/fix_bond_react.h | 0 2 files changed, 23 insertions(+), 11 deletions(-) mode change 100644 => 100755 src/USER-REACTION/fix_bond_react.cpp mode change 100644 => 100755 src/USER-REACTION/fix_bond_react.h diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp old mode 100644 new mode 100755 index 8b6c1317af..3a5f91177b --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3188,6 +3188,8 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) imageint imageflag; double coord[3],lamda[3],rotmat[3][3],vnew[3]; double *newcoord; + double **v = atom->v; + double t; // clear ghost count and any ghost bonus data internal to AtomVec // same logic as beginning of Comm::exchange() @@ -3233,7 +3235,13 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) int ifit = atom->map(my_mega_glove[ibonding[rxnID]+1][iupdate]); // use this local ID to find fitting proc Superpose3D superposer(n2superpose); + int root = 0; if (ifit >= 0 && ifit < atom->nlocal) { + root = me; + + // get 'temperatere' averaged over site, used for created atoms' vels + t = get_temperature(my_mega_glove,1,iupdate); + double **xfrozen; // coordinates for the "frozen" target molecule double **xmobile; // coordinates for the "mobile" molecule memory->create(xfrozen,n2superpose,3,"bond/react:xfrozen"); @@ -3267,20 +3275,15 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) memory->destroy(xfrozen); memory->destroy(xmobile); } - - // choose random velocity for new particle - // used for every atom in molecule - //currently insert with zero velocities - //vnew[0] = vxlo + random->uniform() * (vxhi-vxlo); - //vnew[1] = vylo + random->uniform() * (vyhi-vylo); - //vnew[2] = vzlo + random->uniform() * (vzhi-vzlo); + MPI_Allreduce(MPI_IN_PLACE,&root,1,MPI_INT,MPI_SUM,world); + MPI_Bcast(&t,1,MPI_DOUBLE,root,world); // check if new atoms are in my sub-box or above it if I am highest proc // if so, add atom to my list via create_atom() // initialize additional info about the atoms // set group mask to "all" plus fix group int preID; // new equivalences index - int root = 0; + root = 0; int add_count = 0; for (int m = 0; m < twomol->natoms; m++) { if (create_atoms[m][rxnID] == 1) { @@ -3349,9 +3352,18 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) atom->mask[n] = 1 | groupbit; atom->image[n] = imageflag; - atom->v[n][0] = 0.01;//vnew[0]; - atom->v[n][1] = 0.01;//vnew[1]; - atom->v[n][2] = 0.01;//vnew[2]; + + // guess a somewhat reasonable initial velocity based on reaction site + // further control is possible using bond_react_MASTER_group + // compute |velocity| corresponding to a given temperature t, using specific atom's mass + double vtnorm = sqrt(t / (force->mvv2e / (dimension * force->boltz)) / atom->mass[twomol->type[m]]); + v[n][0] = random[rxnID]->uniform(); + v[n][1] = random[rxnID]->uniform(); + v[n][2] = random[rxnID]->uniform(); + double vnorm = sqrt(v[n][0]*v[n][0] + v[n][1]*v[n][1] + v[n][2]*v[n][2]); + v[n][0] = v[n][0]/vnorm*vtnorm; + v[n][1] = v[n][1]/vnorm*vtnorm; + v[n][2] = v[n][2]/vnorm*vtnorm; modify->create_attribute(n); // initialize group statuses diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h old mode 100644 new mode 100755 From 254963cddd7515441dbca7f93eef81437dbf9ed5 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 25 Oct 2020 21:16:04 -0400 Subject: [PATCH 013/132] Update fix_bond_react.rst --- doc/src/fix_bond_react.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 doc/src/fix_bond_react.rst diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst old mode 100644 new mode 100755 index 587ed29980..cd40828e7d --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -366,7 +366,9 @@ deleted). Or, the *modify_create* keyword can be used to specify which post-reaction atoms are used for this fit. The *fragmentID* value must be the name of a molecule fragment defined in the post-reaction :doc:`molecule ` template, and only atoms in this fragment -are used for the fit. +are used for the fit. The velocity of each created atom is initialized +in a random direction with a magnitude calculated from the +instantaneous temperature of the reaction site. The handedness of atoms that are chiral centers can be enforced by listing their IDs in the ChiralIDs section. A chiral atom must be From 4435ed4870666822cfe9c3766e431edb0589d4c5 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 29 Oct 2020 23:08:10 -0400 Subject: [PATCH 014/132] bond/react:example for create_atoms feature builds a polysytrene 50-mer in vacuum --- .../8procs_out.lammps | 4137 +++++++++++++++++ .../chain_plus_styrene_map_create_atoms | 66 + .../chain_plus_styrene_reacted.data_template | 456 ++ ...yrene_unreacted_create_atoms.data_template | 294 ++ .../infromdata.class2 | 49 + .../polystyrene_create_atoms/trimer.data | 797 ++++ 6 files changed, 5799 insertions(+) create mode 100644 examples/USER/reaction/polystyrene_create_atoms/8procs_out.lammps create mode 100644 examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_map_create_atoms create mode 100755 examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_reacted.data_template create mode 100644 examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_unreacted_create_atoms.data_template create mode 100755 examples/USER/reaction/polystyrene_create_atoms/infromdata.class2 create mode 100644 examples/USER/reaction/polystyrene_create_atoms/trimer.data diff --git a/examples/USER/reaction/polystyrene_create_atoms/8procs_out.lammps b/examples/USER/reaction/polystyrene_create_atoms/8procs_out.lammps new file mode 100644 index 0000000000..953a32394a --- /dev/null +++ b/examples/USER/reaction/polystyrene_create_atoms/8procs_out.lammps @@ -0,0 +1,4137 @@ +LAMMPS (22 Oct 2020) +Reading data file ... + orthogonal box = (50.000000 50.000000 50.000000) to (250.00000 250.00000 250.00000) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 48 atoms + reading velocities ... + 48 velocities + scanning bonds ... + 8 = max bonds/atom + scanning angles ... + 21 = max angles/atom + scanning dihedrals ... + 33 = max dihedrals/atom + scanning impropers ... + 29 = max impropers/atom + reading bonds ... + 50 bonds + reading angles ... + 84 angles + reading dihedrals ... + 127 dihedrals + reading impropers ... + 36 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0.0 0.0 0.0 + special bond factors coul: 0.0 0.0 0.0 + 4 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 46 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.022 seconds +Read molecule template mol3: + 1 molecules + 30 atoms with max type 6 + 31 bonds with max type 10 + 51 angles with max type 16 + 73 dihedrals with max type 19 + 21 impropers with max type 7 +Read molecule template mol4: + 1 molecules + 46 atoms with max type 6 + 48 bonds with max type 13 + 81 angles with max type 22 + 121 dihedrals with max type 36 + 35 impropers with max type 9 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +PPPM initialization ... +WARNING: System is not charge neutral, net charge = -0.0006 (../kspace.cpp:313) + using 12-bit tables for long-range coulomb (../kspace.cpp:328) + G vector (1/distance) = 0.20144813 + grid = 45 45 45 + stencil order = 5 + estimated absolute RMS force accuracy = 0.00053712952 + estimated relative force accuracy = 1.6175496e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 21952 12167 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 39 39 39 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1.0 +WARNING: Inconsistent image flags (../domain.cpp:812) +Per MPI rank memory allocation (min/avg/max) = 37.97 | 38.12 | 38.70 Mbytes +Step Temp Press Density f_rxn1[1] + 0 496.23742 0.9983211 6.4856516e-05 0 + 2 672.73362 -516.54985 8.6475354e-05 1 + 4 667.5039 -434.77386 8.6475354e-05 1 + 6 672.39598 -362.84027 8.6475354e-05 1 + 8 685.87152 -299.54792 8.6475354e-05 1 + 10 691.00305 -244.43255 8.6475354e-05 1 + 12 669.95405 -197.53983 8.6475354e-05 1 + 14 646.37761 -158.31437 8.6475354e-05 1 + 16 643.66763 -125.39769 8.6475354e-05 1 + 18 667.56644 -97.573538 8.6475354e-05 1 + 20 703.91664 -74.339207 8.6475354e-05 1 + 22 720.06237 -55.689578 8.6475354e-05 1 + 24 697.20697 -41.333247 8.6475354e-05 1 + 26 674.83509 -30.383402 8.6475354e-05 1 + 28 670.01312 -21.803547 8.6475354e-05 1 + 30 679.49765 -15.012223 8.6475354e-05 1 + 32 700.25949 -9.9961585 8.6475354e-05 1 + 34 700.57498 -6.7727869 8.6475354e-05 1 + 36 685.11304 -4.9950196 8.6475354e-05 1 + 38 678.32094 -4.0105508 8.6475354e-05 1 + 40 676.78265 -3.2337378 8.6475354e-05 1 + 42 678.24749 -2.5623955 8.6475354e-05 1 + 44 681.72485 -2.2286571 8.6475354e-05 1 + 46 668.52658 -2.2541195 8.6475354e-05 1 + 48 658.84625 -2.3473498 8.6475354e-05 1 + 50 655.89802 -2.1608375 8.6475354e-05 1 + 52 650.56205 -1.68496 8.6475354e-05 1 + 54 666.65857 -1.3229867 8.6475354e-05 1 + 56 690.98887 -1.3111684 8.6475354e-05 1 + 58 712.94292 -1.4938499 8.6475354e-05 1 + 60 727.24487 -1.5260071 8.6475354e-05 1 + 62 718.0806 -1.2046747 8.6475354e-05 1 + 64 700.02584 -0.7635068 8.6475354e-05 1 + 66 688.52896 -0.53631295 8.6475354e-05 1 + 68 679.79647 -0.53791747 8.6475354e-05 1 + 70 694.44255 -0.5532644 8.6475354e-05 1 + 72 713.0813 -0.30885385 8.6475354e-05 1 + 74 721.95891 0.134531 8.6475354e-05 1 + 76 742.81658 0.42479462 8.6475354e-05 1 + 78 743.68772 0.45650714 8.6475354e-05 1 + 80 735.07709 0.32514596 8.6475354e-05 1 + 82 740.82043 0.20849187 8.6475354e-05 1 + 84 734.58615 0.24802492 8.6475354e-05 1 + 86 739.66066 0.25495108 8.6475354e-05 1 + 88 753.76371 0.1002615 8.6475354e-05 1 + 90 747.39108 -0.10177519 8.6475354e-05 1 + 92 756.14087 -0.28921143 8.6475354e-05 1 + 94 763.80064 -0.3136942 8.6475354e-05 1 + 96 758.26501 -0.22731262 8.6475354e-05 1 + 98 780.51378 -0.27873344 8.6475354e-05 1 + 100 778.14888 -0.39476034 8.6475354e-05 1 + 102 749.63152 -0.47648489 8.6475354e-05 1 + 104 846.93279 -515.29892 0.00010809419 2 + 106 826.13617 -433.34463 0.00010809419 2 + 108 816.77932 -361.49619 0.00010809419 2 + 110 832.98668 -298.67436 0.00010809419 2 + 112 828.70355 -243.96707 0.00010809419 2 + 114 829.78649 -196.94812 0.00010809419 2 + 116 834.95318 -157.12951 0.00010809419 2 + 118 818.14589 -123.74396 0.00010809419 2 + 120 823.23317 -96.119924 0.00010809419 2 + 122 827.11868 -73.432562 0.00010809419 2 + 124 818.85373 -55.093931 0.00010809419 2 + 126 819.83268 -40.717815 0.00010809419 2 + 128 810.0448 -29.70583 0.00010809419 2 + 130 811.69158 -21.50551 0.00010809419 2 + 132 821.37302 -15.473802 0.00010809419 2 + 134 820.66577 -10.994366 0.00010809419 2 + 136 828.20766 -7.7873437 0.00010809419 2 + 138 835.82332 -5.6282316 0.00010809419 2 + 140 845.10867 -4.2922973 0.00010809419 2 + 142 871.58701 -3.5134098 0.00010809419 2 + 144 879.74364 -2.8383489 0.00010809419 2 + 146 875.03242 -2.0846919 0.00010809419 2 + 148 877.25151 -1.3780873 0.00010809419 2 + 150 873.17469 -0.84990975 0.00010809419 2 + 152 890.04002 -0.60830118 0.00010809419 2 + 154 903.70012 -0.4683428 0.00010809419 2 + 156 899.27359 -0.23979738 0.00010809419 2 + 158 898.85893 0.0077916688 0.00010809419 2 + 160 893.65077 0.16405785 0.00010809419 2 + 162 891.71694 0.14137049 0.00010809419 2 + 164 903.78638 0.04704286 0.00010809419 2 + 166 905.9683 0.1349231 0.00010809419 2 + 168 910.76595 0.40440178 0.00010809419 2 + 170 922.28442 0.6891772 0.00010809419 2 + 172 916.21424 0.86117662 0.00010809419 2 + 174 903.02225 0.89400959 0.00010809419 2 + 176 885.39888 0.97920294 0.00010809419 2 + 178 870.41144 1.2525889 0.00010809419 2 + 180 869.70627 1.6068325 0.00010809419 2 + 182 871.11959 1.8160032 0.00010809419 2 + 184 869.3783 1.7223162 0.00010809419 2 + 186 864.82644 1.49422 0.00010809419 2 + 188 870.53517 1.4225742 0.00010809419 2 + 190 886.68548 1.5811771 0.00010809419 2 + 192 891.75807 1.7148245 0.00010809419 2 + 194 894.5438 1.4550304 0.00010809419 2 + 196 884.78947 0.8635917 0.00010809419 2 + 198 868.94073 0.33605001 0.00010809419 2 + 200 875.79343 0.13232632 0.00010809419 2 + 202 883.35077 0.23108222 0.00010809419 2 + 204 888.58232 0.25927752 0.00010809419 2 + 206 1107.5599 8637688.5 0.00012971303 3 + 208 1110.7846 377601.17 0.00012971303 3 + 210 1119.1946 40058.093 0.00012971303 3 + 212 1133.7765 7445.8597 0.00012971303 3 + 214 1135.8825 1828.4071 0.00012971303 3 + 216 1158.7218 403.45537 0.00012971303 3 + 218 1169.4708 -31.054599 0.00012971303 3 + 220 1160.98 -156.65213 0.00012971303 3 + 222 1155.6262 -176.44394 0.00012971303 3 + 224 1131.1594 -167.87497 0.00012971303 3 + 226 1113.9144 -147.95888 0.00012971303 3 + 228 1129.7212 -122.18556 0.00012971303 3 + 230 1135.2926 -98.191841 0.00012971303 3 + 232 1139.5082 -76.954463 0.00012971303 3 + 234 1138.3988 -58.569198 0.00012971303 3 + 236 1114.7516 -43.273595 0.00012971303 3 + 238 1111.675 -31.385143 0.00012971303 3 + 240 1108.3656 -22.575824 0.00012971303 3 + 242 1098.2288 -16.049189 0.00012971303 3 + 244 1097.5592 -11.075179 0.00012971303 3 + 246 1080.575 -7.2891243 0.00012971303 3 + 248 1062.281 -4.8100451 0.00012971303 3 + 250 1054.3602 -3.6457718 0.00012971303 3 + 252 1041.5474 -3.2427207 0.00012971303 3 + 254 1049.6522 -3.0128429 0.00012971303 3 + 256 1067.6297 -2.6265895 0.00012971303 3 + 258 1081.6873 -2.1996331 0.00012971303 3 + 260 1103.2003 -2.0609219 0.00012971303 3 + 262 1103.0801 -2.1514117 0.00012971303 3 + 264 1118.9504 -2.2123932 0.00012971303 3 + 266 1156.5552 -1.9428664 0.00012971303 3 + 268 1167.8606 -1.2867254 0.00012971303 3 + 270 1180.4323 -0.65452596 0.00012971303 3 + 272 1182.9865 -0.2548239 0.00012971303 3 + 274 1168.7598 -0.0051407959 0.00012971303 3 + 276 1186.6008 0.21071708 0.00012971303 3 + 278 1205.0507 0.5419248 0.00012971303 3 + 280 1220.4904 0.76453778 0.00012971303 3 + 282 1244.6059 0.56375436 0.00012971303 3 + 284 1223.3782 0.067494738 0.00012971303 3 + 286 1202.9298 -0.52770675 0.00012971303 3 + 288 1189.6831 -0.93554081 0.00012971303 3 + 290 1154.4315 -1.0402905 0.00012971303 3 + 292 1161.4818 -1.1434855 0.00012971303 3 + 294 1176.833 -1.2714623 0.00012971303 3 + 296 1179.2197 -1.2607495 0.00012971303 3 + 298 1207.8388 -1.0074678 0.00012971303 3 + 300 1215.1726 -0.39937655 0.00012971303 3 + 302 1210.3522 0.26737494 0.00012971303 3 + 304 1218.4689 0.65569106 0.00012971303 3 + 306 1208.8376 0.87597451 0.00012971303 3 + 308 1286.4107 -509.47242 0.00015133187 4 + 310 1273.3815 -427.85316 0.00015133187 4 + 312 1242.1286 -356.22024 0.00015133187 4 + 314 1253.4942 -293.85005 0.00015133187 4 + 316 1273.6312 -239.98924 0.00015133187 4 + 318 1275.0656 -193.99363 0.00015133187 4 + 320 1295.9103 -155.20399 0.00015133187 4 + 322 1290.9077 -122.56609 0.00015133187 4 + 324 1271.6566 -95.381388 0.00015133187 4 + 326 1263.8102 -73.165359 0.00015133187 4 + 328 1239.1977 -55.302863 0.00015133187 4 + 330 1227.6108 -41.236285 0.00015133187 4 + 332 1224.4531 -30.167712 0.00015133187 4 + 334 1208.0527 -21.468457 0.00015133187 4 + 336 1235.9468 -14.916123 0.00015133187 4 + 338 1267.1547 -10.131348 0.00015133187 4 + 340 1292.5478 -6.8056873 0.00015133187 4 + 342 1335.1976 -4.6458831 0.00015133187 4 + 344 1331.0703 -3.2217937 0.00015133187 4 + 346 1304.564 -2.4053344 0.00015133187 4 + 348 1294.6672 -2.0166678 0.00015133187 4 + 350 1275.671 -1.7896119 0.00015133187 4 + 352 1270.708 -1.6647554 0.00015133187 4 + 354 1269.5585 -1.5099971 0.00015133187 4 + 356 1246.2033 -1.2754664 0.00015133187 4 + 358 1255.6589 -1.126802 0.00015133187 4 + 360 1268.2565 -0.97986712 0.00015133187 4 + 362 1275.1167 -0.76954276 0.00015133187 4 + 364 1287.7098 -0.52952795 0.00015133187 4 + 366 1263.1765 -0.27860938 0.00015133187 4 + 368 1232.2653 -0.18570194 0.00015133187 4 + 370 1230.2485 -0.26197611 0.00015133187 4 + 372 1233.9159 -0.30708265 0.00015133187 4 + 374 1253.5708 -0.26988589 0.00015133187 4 + 376 1282.6496 -0.19467244 0.00015133187 4 + 378 1298.4463 -0.17751858 0.00015133187 4 + 380 1320.5676 -0.27144792 0.00015133187 4 + 382 1338.5616 -0.30891377 0.00015133187 4 + 384 1351.3783 -0.18933152 0.00015133187 4 + 386 1357.3252 0.0265073 0.00015133187 4 + 388 1344.6374 0.20930056 0.00015133187 4 + 390 1333.1019 0.27147994 0.00015133187 4 + 392 1337.4623 0.32960244 0.00015133187 4 + 394 1357.0506 0.53222632 0.00015133187 4 + 396 1383.0145 0.84287387 0.00015133187 4 + 398 1402.3315 1.0270585 0.00015133187 4 + 400 1410.03 0.87301772 0.00015133187 4 + 402 1397.5003 0.50658616 0.00015133187 4 + 404 1371.0536 0.22338437 0.00015133187 4 + 406 1355.6828 0.12299714 0.00015133187 4 + 408 1349.6668 0.084479741 0.00015133187 4 + 410 1534.4693 -221.57225 0.00017295071 5 + 412 1543.4054 -308.97261 0.00017295071 5 + 414 1532.8454 -300.08081 0.00017295071 5 + 416 1533.4105 -263.77232 0.00017295071 5 + 418 1537.4915 -221.76219 0.00017295071 5 + 420 1530.954 -181.87958 0.00017295071 5 + 422 1535.7748 -146.85737 0.00017295071 5 + 424 1519.1766 -116.85102 0.00017295071 5 + 426 1497.2677 -91.226974 0.00017295071 5 + 428 1492.6473 -69.62357 0.00017295071 5 + 430 1472.5275 -52.059519 0.00017295071 5 + 432 1462.4413 -38.529891 0.00017295071 5 + 434 1468.9696 -28.36966 0.00017295071 5 + 436 1452.932 -20.460639 0.00017295071 5 + 438 1468.2846 -14.114515 0.00017295071 5 + 440 1490.4484 -9.1886317 0.00017295071 5 + 442 1487.1913 -5.942928 0.00017295071 5 + 444 1497.2185 -4.4123187 0.00017295071 5 + 446 1478.8939 -3.8118845 0.00017295071 5 + 448 1456.0017 -3.3353043 0.00017295071 5 + 450 1466.4786 -2.6872974 0.00017295071 5 + 452 1465.5824 -2.1548854 0.00017295071 5 + 454 1464.9664 -2.2552192 0.00017295071 5 + 456 1464.778 -2.8523593 0.00017295071 5 + 458 1438.9393 -3.2513212 0.00017295071 5 + 460 1430.9755 -3.129067 0.00017295071 5 + 462 1438.8786 -2.7207139 0.00017295071 5 + 464 1442.65 -2.5598392 0.00017295071 5 + 466 1457.4603 -2.8627635 0.00017295071 5 + 468 1456.3288 -3.1617133 0.00017295071 5 + 470 1453.9005 -2.984669 0.00017295071 5 + 472 1466.2228 -2.3645176 0.00017295071 5 + 474 1473.5811 -1.8008842 0.00017295071 5 + 476 1486.9192 -1.7752973 0.00017295071 5 + 478 1486.6985 -2.0930366 0.00017295071 5 + 480 1481.2602 -2.2133575 0.00017295071 5 + 482 1481.1923 -1.8733217 0.00017295071 5 + 484 1473.2641 -1.3520504 0.00017295071 5 + 486 1471.6493 -1.1879697 0.00017295071 5 + 488 1475.4712 -1.4344883 0.00017295071 5 + 490 1481.9981 -1.6453745 0.00017295071 5 + 492 1504.055 -1.4250176 0.00017295071 5 + 494 1510.1599 -0.76544776 0.00017295071 5 + 496 1496.1128 -0.15333711 0.00017295071 5 + 498 1478.523 0.032710644 0.00017295071 5 + 500 1442.1002 -0.01944848 0.00017295071 5 + 502 1435.515 0.020833055 0.00017295071 5 + 504 1435.4149 0.37469386 0.00017295071 5 + 506 1428.6576 0.78486479 0.00017295071 5 + 508 1431.8185 0.8019623 0.00017295071 5 + 510 1421.3836 0.46585338 0.00017295071 5 + 512 1529.4088 729.29069 0.00019456955 6 + 514 1553.6093 -29.679404 0.00019456955 6 + 516 1560.6793 -193.67199 0.00019456955 6 + 518 1582.4456 -214.57181 0.00019456955 6 + 520 1600.209 -196.52872 0.00019456955 6 + 522 1587.5015 -168.43457 0.00019456955 6 + 524 1597.8334 -139.01628 0.00019456955 6 + 526 1588.3299 -110.66293 0.00019456955 6 + 528 1563.7922 -85.583276 0.00019456955 6 + 530 1562.5661 -65.082386 0.00019456955 6 + 532 1545.9594 -48.827328 0.00019456955 6 + 534 1548.1975 -36.047522 0.00019456955 6 + 536 1571.1596 -25.990003 0.00019456955 6 + 538 1568.3742 -18.119354 0.00019456955 6 + 540 1591.6304 -12.364411 0.00019456955 6 + 542 1621.6504 -8.4436521 0.00019456955 6 + 544 1635.2863 -5.8931502 0.00019456955 6 + 546 1668.6883 -4.3787834 0.00019456955 6 + 548 1677.8643 -3.524089 0.00019456955 6 + 550 1672.6149 -3.1111588 0.00019456955 6 + 552 1686.192 -3.0167906 0.00019456955 6 + 554 1694.1881 -3.021889 0.00019456955 6 + 556 1721.201 -3.0411757 0.00019456955 6 + 558 1756.9269 -2.9903902 0.00019456955 6 + 560 1767.176 -2.8616056 0.00019456955 6 + 562 1781.3616 -2.805622 0.00019456955 6 + 564 1772.6438 -2.7043354 0.00019456955 6 + 566 1752.2449 -2.4746308 0.00019456955 6 + 568 1754.9931 -2.2279232 0.00019456955 6 + 570 1754.7206 -2.0446367 0.00019456955 6 + 572 1758.6452 -2.025602 0.00019456955 6 + 574 1766.1608 -2.0914714 0.00019456955 6 + 576 1761.7544 -2.0664004 0.00019456955 6 + 578 1772.1189 -2.000525 0.00019456955 6 + 580 1799.2454 -2.0250243 0.00019456955 6 + 582 1825.067 -2.2293284 0.00019456955 6 + 584 1849.5617 -2.5697748 0.00019456955 6 + 586 1849.2053 -2.7732917 0.00019456955 6 + 588 1836.8275 -2.7313701 0.00019456955 6 + 590 1826.4569 -2.5953868 0.00019456955 6 + 592 1812.2065 -2.5647921 0.00019456955 6 + 594 1804.9949 -2.6702505 0.00019456955 6 + 596 1803.1318 -2.6613268 0.00019456955 6 + 598 1805.1361 -2.3358896 0.00019456955 6 + 600 1824.188 -1.8387289 0.00019456955 6 + 602 1848.6553 -1.5013544 0.00019456955 6 + 604 1870.6838 -1.5441019 0.00019456955 6 + 606 1874.9469 -1.8017458 0.00019456955 6 + 608 1869.5686 -1.9218444 0.00019456955 6 + 610 1877.623 -1.7853588 0.00019456955 6 + 612 1889.4207 -1.5668847 0.00019456955 6 + 614 1965.8448 -467.80498 0.00021618839 7 + 616 1987.3298 -392.09435 0.00021618839 7 + 618 2000.2927 -325.81873 0.00021618839 7 + 620 2023.5139 -267.59947 0.00021618839 7 + 622 2053.7762 -216.83693 0.00021618839 7 + 624 2061.6352 -173.50374 0.00021618839 7 + 626 2052.7458 -137.4578 0.00021618839 7 + 628 2021.4692 -107.67926 0.00021618839 7 + 630 1995.4739 -82.926012 0.00021618839 7 + 632 1995.1292 -62.399746 0.00021618839 7 + 634 1988.8957 -45.877721 0.00021618839 7 + 636 1991.9075 -33.414941 0.00021618839 7 + 638 1994.8193 -24.397758 0.00021618839 7 + 640 1984.0488 -17.632089 0.00021618839 7 + 642 1979.6828 -12.220819 0.00021618839 7 + 644 1956.266 -7.8761194 0.00021618839 7 + 646 1921.9407 -4.9132587 0.00021618839 7 + 648 1906.8953 -3.4249108 0.00021618839 7 + 650 1884.0064 -2.7059283 0.00021618839 7 + 652 1873.4695 -1.9767323 0.00021618839 7 + 654 1879.7171 -0.9043862 0.00021618839 7 + 656 1864.2258 0.17074359 0.00021618839 7 + 658 1879.9729 0.52626965 0.00021618839 7 + 660 1914.8077 0.17422926 0.00021618839 7 + 662 1951.367 -0.27150227 0.00021618839 7 + 664 2003.6903 -0.40419822 0.00021618839 7 + 666 2022.2638 -0.27719235 0.00021618839 7 + 668 2007.5499 -0.46205565 0.00021618839 7 + 670 2001.0368 -1.2081892 0.00021618839 7 + 672 1989.3934 -1.9884832 0.00021618839 7 + 674 2003.9186 -2.2824546 0.00021618839 7 + 676 2029.3746 -1.9648526 0.00021618839 7 + 678 2029.8301 -1.4595559 0.00021618839 7 + 680 2039.736 -1.3563856 0.00021618839 7 + 682 2030.692 -1.5588443 0.00021618839 7 + 684 2012.8781 -1.6591768 0.00021618839 7 + 686 2007.5676 -1.4469618 0.00021618839 7 + 688 1976.2079 -1.0593207 0.00021618839 7 + 690 1936.7606 -0.99860488 0.00021618839 7 + 692 1917.263 -1.4227025 0.00021618839 7 + 694 1898.286 -1.8944056 0.00021618839 7 + 696 1908.9759 -2.0293348 0.00021618839 7 + 698 1929.625 -1.7527389 0.00021618839 7 + 700 1928.5094 -1.4327584 0.00021618839 7 + 702 1925.3732 -1.4772437 0.00021618839 7 + 704 1905.6439 -1.7140386 0.00021618839 7 + 706 1892.0501 -1.7837212 0.00021618839 7 + 708 1897.1334 -1.5195612 0.00021618839 7 + 710 1891.8002 -1.0767969 0.00021618839 7 + 712 1899.5619 -0.86887435 0.00021618839 7 + 714 1905.3485 -0.94002209 0.00021618839 7 + 716 2060.3083 -484.08676 0.00023780722 8 + 718 2101.3468 -422.17239 0.00023780722 8 + 720 2132.6048 -356.92116 0.00023780722 8 + 722 2148.8483 -296.33815 0.00023780722 8 + 724 2165.9219 -242.83932 0.00023780722 8 + 726 2152.8378 -196.66477 0.00023780722 8 + 728 2140.9769 -157.3232 0.00023780722 8 + 730 2135.9583 -124.09964 0.00023780722 8 + 732 2109.2748 -96.383726 0.00023780722 8 + 734 2102.2854 -73.867192 0.00023780722 8 + 736 2094.2383 -56.001724 0.00023780722 8 + 738 2077.1035 -41.839387 0.00023780722 8 + 740 2081.3509 -30.614919 0.00023780722 8 + 742 2066.1613 -21.796463 0.00023780722 8 + 744 2041.6068 -15.208246 0.00023780722 8 + 746 2023.3105 -10.622121 0.00023780722 8 + 748 1988.2601 -7.4664823 0.00023780722 8 + 750 1976.5559 -5.2218916 0.00023780722 8 + 752 1994.2738 -3.5641818 0.00023780722 8 + 754 2015.1651 -2.4337385 0.00023780722 8 + 756 2059.2266 -1.8718232 0.00023780722 8 + 758 2080.4658 -1.5660802 0.00023780722 8 + 760 2085.6804 -1.2208682 0.00023780722 8 + 762 2111.7377 -0.80876969 0.00023780722 8 + 764 2123.4038 -0.46004685 0.00023780722 8 + 766 2142.9461 -0.50137367 0.00023780722 8 + 768 2155.9796 -0.88504716 0.00023780722 8 + 770 2137.3328 -1.2131181 0.00023780722 8 + 772 2133.4178 -1.2839864 0.00023780722 8 + 774 2135.5642 -1.1107438 0.00023780722 8 + 776 2131.4716 -0.9763852 0.00023780722 8 + 778 2141.1425 -1.1141508 0.00023780722 8 + 780 2122.4577 -1.2362837 0.00023780722 8 + 782 2097.188 -1.0587093 0.00023780722 8 + 784 2086.4293 -0.54517591 0.00023780722 8 + 786 2059.7386 0.078658205 0.00023780722 8 + 788 2056.9502 0.39365487 0.00023780722 8 + 790 2059.7875 0.44862285 0.00023780722 8 + 792 2053.9519 0.57572021 0.00023780722 8 + 794 2068.6847 0.87417066 0.00023780722 8 + 796 2074.5991 1.2047124 0.00023780722 8 + 798 2069.278 1.2159747 0.00023780722 8 + 800 2066.7899 0.81647619 0.00023780722 8 + 802 2049.668 0.38483557 0.00023780722 8 + 804 2041.8371 0.23434063 0.00023780722 8 + 806 2038.5434 0.39443232 0.00023780722 8 + 808 2026.6223 0.58693138 0.00023780722 8 + 810 2024.1624 0.5475207 0.00023780722 8 + 812 2004.3173 0.49231818 0.00023780722 8 + 814 1990.7789 0.70059886 0.00023780722 8 + 816 1987.2131 1.2210152 0.00023780722 8 + 818 2161.5038 10822.918 0.00025942606 9 + 820 2177.4678 1175.2783 0.00025942606 9 + 822 2184.519 57.816329 0.00025942606 9 + 824 2178.3276 -139.4906 0.00025942606 9 + 826 2180.645 -171.63641 0.00025942606 9 + 828 2165.9354 -159.58872 0.00025942606 9 + 830 2154.8716 -135.85339 0.00025942606 9 + 832 2159.4294 -110.79695 0.00025942606 9 + 834 2153.9831 -87.18999 0.00025942606 9 + 836 2167.9422 -66.446821 0.00025942606 9 + 838 2187.3361 -49.192935 0.00025942606 9 + 840 2200.8082 -35.535202 0.00025942606 9 + 842 2228.2294 -25.285213 0.00025942606 9 + 844 2225.4003 -17.694836 0.00025942606 9 + 846 2206.6625 -11.958408 0.00025942606 9 + 848 2190.7535 -7.5738088 0.00025942606 9 + 850 2158.8859 -4.4081209 0.00025942606 9 + 852 2150.4249 -2.6693514 0.00025942606 9 + 854 2146.7827 -2.1285586 0.00025942606 9 + 856 2121.866 -2.0452297 0.00025942606 9 + 858 2113.5398 -1.930143 0.00025942606 9 + 860 2093.4925 -1.6900544 0.00025942606 9 + 862 2074.3135 -1.6580782 0.00025942606 9 + 864 2088.9188 -2.0758526 0.00025942606 9 + 866 2087.6915 -2.5592562 0.00025942606 9 + 868 2097.5344 -2.7852457 0.00025942606 9 + 870 2112.2374 -2.6428098 0.00025942606 9 + 872 2097.2111 -2.3002782 0.00025942606 9 + 874 2106.853 -2.1636293 0.00025942606 9 + 876 2129.5068 -2.1747853 0.00025942606 9 + 878 2161.3576 -2.0561981 0.00025942606 9 + 880 2217.5514 -1.7416833 0.00025942606 9 + 882 2230.9698 -1.2884706 0.00025942606 9 + 884 2211.38 -1.0467174 0.00025942606 9 + 886 2187.0138 -1.1460354 0.00025942606 9 + 888 2146.1106 -1.2881048 0.00025942606 9 + 890 2140.9302 -1.3342717 0.00025942606 9 + 892 2149.0235 -1.2373227 0.00025942606 9 + 894 2134.5144 -1.1269002 0.00025942606 9 + 896 2142.6185 -1.2248568 0.00025942606 9 + 898 2137.3035 -1.302225 0.00025942606 9 + 900 2138.4339 -1.1745745 0.00025942606 9 + 902 2166.0789 -0.883737 0.00025942606 9 + 904 2166.6321 -0.53814532 0.00025942606 9 + 906 2163.9023 -0.4089786 0.00025942606 9 + 908 2153.7644 -0.42222952 0.00025942606 9 + 910 2124.8196 -0.28063037 0.00025942606 9 + 912 2123.2354 0.043174822 0.00025942606 9 + 914 2130.1172 0.46272084 0.00025942606 9 + 916 2139.3275 0.76049317 0.00025942606 9 + 918 2178.3808 0.82940816 0.00025942606 9 + 920 2323.8782 -485.39314 0.0002810449 10 + 922 2332.1565 -406.46688 0.0002810449 10 + 924 2336.3166 -337.18565 0.0002810449 10 + 926 2313.084 -276.7101 0.0002810449 10 + 928 2301.6359 -224.66195 0.0002810449 10 + 930 2284.8771 -180.5217 0.0002810449 10 + 932 2268.3016 -143.34858 0.0002810449 10 + 934 2283.2572 -112.17043 0.0002810449 10 + 936 2301.3935 -86.232909 0.0002810449 10 + 938 2326.6508 -65.092653 0.0002810449 10 + 940 2354.0325 -48.308852 0.0002810449 10 + 942 2357.0053 -35.117439 0.0002810449 10 + 944 2362.4019 -24.804745 0.0002810449 10 + 946 2364.5934 -16.882852 0.0002810449 10 + 948 2354.2772 -11.08542 0.0002810449 10 + 950 2358.2567 -7.2073771 0.0002810449 10 + 952 2357.9722 -4.7692456 0.0002810449 10 + 954 2370.3706 -3.2926218 0.0002810449 10 + 956 2395.8214 -2.466307 0.0002810449 10 + 958 2401.6564 -2.11421 0.0002810449 10 + 960 2403.7092 -2.1429976 0.0002810449 10 + 962 2396.0698 -2.2959924 0.0002810449 10 + 964 2390.1649 -2.3157527 0.0002810449 10 + 966 2404.5929 -2.1734121 0.0002810449 10 + 968 2408.3192 -1.98028 0.0002810449 10 + 970 2398.7909 -1.9375567 0.0002810449 10 + 972 2383.6803 -2.0199738 0.0002810449 10 + 974 2355.1449 -1.9574814 0.0002810449 10 + 976 2346.3489 -1.6961375 0.0002810449 10 + 978 2347.3597 -1.3865895 0.0002810449 10 + 980 2343.0369 -1.2700218 0.0002810449 10 + 982 2345.3213 -1.4297279 0.0002810449 10 + 984 2327.6 -1.5695591 0.0002810449 10 + 986 2318.7362 -1.4876651 0.0002810449 10 + 988 2326.2577 -1.2479203 0.0002810449 10 + 990 2316.612 -1.046613 0.0002810449 10 + 992 2313.3503 -1.0544885 0.0002810449 10 + 994 2314.0739 -1.0425882 0.0002810449 10 + 996 2317.8974 -0.69797366 0.0002810449 10 + 998 2349.5732 -0.086575463 0.0002810449 10 + 1000 2378.2958 0.48380694 0.0002810449 10 + 1002 2398.6531 0.66903819 0.0002810449 10 + 1004 2417.9165 0.48507547 0.0002810449 10 + 1006 2402.714 0.343508 0.0002810449 10 + 1008 2387.7715 0.39591155 0.0002810449 10 + 1010 2384.6905 0.48121177 0.0002810449 10 + 1012 2374.5546 0.33734725 0.0002810449 10 + 1014 2375.4496 -0.12992559 0.0002810449 10 + 1016 2366.5143 -0.54452336 0.0002810449 10 + 1018 2351.6829 -0.56192848 0.0002810449 10 + 1020 2345.0219 -0.2460576 0.0002810449 10 + 1022 2463.1847 -516.33252 0.00030266374 11 + 1024 2454.155 -435.41186 0.00030266374 11 + 1026 2437.707 -363.71737 0.00030266374 11 + 1028 2408.2814 -300.48778 0.00030266374 11 + 1030 2391.9754 -245.2709 0.00030266374 11 + 1032 2379.439 -197.89467 0.00030266374 11 + 1034 2368.5571 -158.05214 0.00030266374 11 + 1036 2366.4376 -124.96986 0.00030266374 11 + 1038 2352.3062 -97.480849 0.00030266374 11 + 1040 2359.7206 -74.664867 0.00030266374 11 + 1042 2380.554 -56.050357 0.00030266374 11 + 1044 2392.3114 -41.388607 0.00030266374 11 + 1046 2406.4028 -30.298934 0.00030266374 11 + 1048 2397.032 -21.930411 0.00030266374 11 + 1050 2388.3085 -15.453312 0.00030266374 11 + 1052 2408.961 -10.487276 0.00030266374 11 + 1054 2415.0795 -6.9671499 0.00030266374 11 + 1056 2413.2045 -4.92205 0.00030266374 11 + 1058 2402.5175 -3.9355994 0.00030266374 11 + 1060 2372.7166 -3.3093623 0.00030266374 11 + 1062 2379.1447 -2.6515003 0.00030266374 11 + 1064 2403.202 -1.9596171 0.00030266374 11 + 1066 2420.0621 -1.5615553 0.00030266374 11 + 1068 2434.315 -1.6023246 0.00030266374 11 + 1070 2413.6852 -1.6808363 0.00030266374 11 + 1072 2390.6494 -1.4902277 0.00030266374 11 + 1074 2391.2701 -1.1175681 0.00030266374 11 + 1076 2384.3245 -0.86479593 0.00030266374 11 + 1078 2383.5286 -0.99750191 0.00030266374 11 + 1080 2361.881 -1.2538663 0.00030266374 11 + 1082 2310.5086 -1.2171158 0.00030266374 11 + 1084 2271.943 -0.84898316 0.00030266374 11 + 1086 2245.7089 -0.41447514 0.00030266374 11 + 1088 2238.5277 -0.24768594 0.00030266374 11 + 1090 2250.6586 -0.33937731 0.00030266374 11 + 1092 2252.3465 -0.28270513 0.00030266374 11 + 1094 2257.7627 0.15192401 0.00030266374 11 + 1096 2269.8741 0.81014869 0.00030266374 11 + 1098 2286.5891 1.2659299 0.00030266374 11 + 1100 2325.5369 1.2551156 0.00030266374 11 + 1102 2346.6869 1.0727392 0.00030266374 11 + 1104 2355.8688 1.0527111 0.00030266374 11 + 1106 2358.3475 1.2373615 0.00030266374 11 + 1108 2345.8422 1.3818899 0.00030266374 11 + 1110 2353.8344 1.1564982 0.00030266374 11 + 1112 2369.5181 0.66950876 0.00030266374 11 + 1114 2373.066 0.29808963 0.00030266374 11 + 1116 2378.6809 0.23783651 0.00030266374 11 + 1118 2364.3707 0.43587025 0.00030266374 11 + 1120 2348.2868 0.57308599 0.00030266374 11 + 1122 2353.9119 0.50264505 0.00030266374 11 + 1124 2522.0253 52021.206 0.00032428258 12 + 1126 2539.0142 7338.6879 0.00032428258 12 + 1128 2559.8158 1270.0735 0.00032428258 12 + 1130 2561.38 145.3418 0.00032428258 12 + 1132 2579.5507 -94.489179 0.00032428258 12 + 1134 2589.1423 -136.27816 0.00032428258 12 + 1136 2596.4703 -127.81426 0.00032428258 12 + 1138 2624.7426 -107.06193 0.00032428258 12 + 1140 2635.6919 -85.101749 0.00032428258 12 + 1142 2646.3826 -65.610499 0.00032428258 12 + 1144 2659.2678 -49.534785 0.00032428258 12 + 1146 2649.6461 -36.607005 0.00032428258 12 + 1148 2660.6024 -26.488565 0.00032428258 12 + 1150 2670.7082 -18.659422 0.00032428258 12 + 1152 2675.1501 -12.837639 0.00032428258 12 + 1154 2698.7451 -8.8002486 0.00032428258 12 + 1156 2707.7717 -5.9663794 0.00032428258 12 + 1158 2729.6321 -3.9589674 0.00032428258 12 + 1160 2770.6577 -2.6699229 0.00032428258 12 + 1162 2784.6698 -1.9813875 0.00032428258 12 + 1164 2793.4127 -1.7981665 0.00032428258 12 + 1166 2786.6171 -1.8331689 0.00032428258 12 + 1168 2763.219 -1.8406929 0.00032428258 12 + 1170 2760.6924 -1.8850852 0.00032428258 12 + 1172 2757.2723 -2.0886949 0.00032428258 12 + 1174 2756.8909 -2.6016683 0.00032428258 12 + 1176 2771.3594 -3.2945397 0.00032428258 12 + 1178 2766.3013 -3.773452 0.00032428258 12 + 1180 2754.5699 -3.9231145 0.00032428258 12 + 1182 2743.4624 -3.8874086 0.00032428258 12 + 1184 2724.9347 -3.8562824 0.00032428258 12 + 1186 2722.9503 -3.8989691 0.00032428258 12 + 1188 2735.073 -3.7774613 0.00032428258 12 + 1190 2744.2224 -3.2658869 0.00032428258 12 + 1192 2748.5938 -2.4445578 0.00032428258 12 + 1194 2740.3303 -1.62823 0.00032428258 12 + 1196 2731.1588 -1.1293334 0.00032428258 12 + 1198 2726.6177 -0.94476657 0.00032428258 12 + 1200 2729.2096 -0.85989877 0.00032428258 12 + 1202 2733.9837 -0.76063952 0.00032428258 12 + 1204 2729.2231 -0.7546601 0.00032428258 12 + 1206 2727.2562 -1.0700876 0.00032428258 12 + 1208 2720.7499 -1.6500762 0.00032428258 12 + 1210 2708.6566 -2.1851417 0.00032428258 12 + 1212 2701.892 -2.4148926 0.00032428258 12 + 1214 2688.1758 -2.271921 0.00032428258 12 + 1216 2685.2216 -1.9798955 0.00032428258 12 + 1218 2706.9007 -1.7191217 0.00032428258 12 + 1220 2713.4925 -1.3407824 0.00032428258 12 + 1222 2738.9322 -0.77566391 0.00032428258 12 + 1224 2775.5509 -0.0090904929 0.00032428258 12 + 1226 2871.2813 -310.16764 0.00034590142 13 + 1228 2871.5817 -331.77712 0.00034590142 13 + 1230 2857.2201 -300.83945 0.00034590142 13 + 1232 2837.3673 -256.8061 0.00034590142 13 + 1234 2862.5084 -212.5256 0.00034590142 13 + 1236 2874.7593 -172.25556 0.00034590142 13 + 1238 2882.6633 -137.48854 0.00034590142 13 + 1240 2909.4893 -108.42395 0.00034590142 13 + 1242 2899.363 -84.307615 0.00034590142 13 + 1244 2909.5571 -64.468204 0.00034590142 13 + 1246 2941.0066 -48.373391 0.00034590142 13 + 1248 2936.772 -35.618618 0.00034590142 13 + 1250 2952.4744 -26.043372 0.00034590142 13 + 1252 2969.6093 -18.874053 0.00034590142 13 + 1254 2965.3037 -13.316472 0.00034590142 13 + 1256 2995.4101 -9.132234 0.00034590142 13 + 1258 3007.6778 -6.1946405 0.00034590142 13 + 1260 2994.9045 -4.5054107 0.00034590142 13 + 1262 3004.2835 -3.8873592 0.00034590142 13 + 1264 3001.6362 -3.6367295 0.00034590142 13 + 1266 3010.5562 -3.3538168 0.00034590142 13 + 1268 3046.5006 -3.141016 0.00034590142 13 + 1270 3056.1295 -3.1442573 0.00034590142 13 + 1272 3073.7105 -3.4643552 0.00034590142 13 + 1274 3102.7734 -3.7810315 0.00034590142 13 + 1276 3117.8626 -3.7042351 0.00034590142 13 + 1278 3138.7031 -3.3068889 0.00034590142 13 + 1280 3141.649 -2.81218 0.00034590142 13 + 1282 3120.5478 -2.4008861 0.00034590142 13 + 1284 3115.974 -2.0656352 0.00034590142 13 + 1286 3099.7148 -1.5004649 0.00034590142 13 + 1288 3082.8778 -0.71815106 0.00034590142 13 + 1290 3090.2566 -0.080564342 0.00034590142 13 + 1292 3080.8676 0.15328737 0.00034590142 13 + 1294 3072.2673 -0.084005595 0.00034590142 13 + 1296 3068.6598 -0.48789662 0.00034590142 13 + 1298 3051.4976 -0.73147096 0.00034590142 13 + 1300 3050.1371 -0.91875812 0.00034590142 13 + 1302 3071.9289 -1.302026 0.00034590142 13 + 1304 3089.0938 -1.9004835 0.00034590142 13 + 1306 3115.0464 -2.4956357 0.00034590142 13 + 1308 3141.219 -2.7417336 0.00034590142 13 + 1310 3156.2045 -2.5604889 0.00034590142 13 + 1312 3189.7615 -2.2909175 0.00034590142 13 + 1314 3229.6182 -2.2287307 0.00034590142 13 + 1316 3254.1712 -2.3087605 0.00034590142 13 + 1318 3288.7718 -2.2666589 0.00034590142 13 + 1320 3324.0655 -1.8935613 0.00034590142 13 + 1322 3340.5208 -1.3542012 0.00034590142 13 + 1324 3365.0481 -1.0760891 0.00034590142 13 + 1326 3370.2387 -1.0983067 0.00034590142 13 + 1328 3471.4805 2014.1654 0.00036752025 14 + 1330 3505.1634 330.03534 0.00036752025 14 + 1332 3539.7134 -69.649334 0.00036752025 14 + 1334 3566.793 -167.82115 0.00036752025 14 + 1336 3604.5501 -176.10466 0.00036752025 14 + 1338 3590.7429 -157.35136 0.00036752025 14 + 1340 3556.3012 -131.95483 0.00036752025 14 + 1342 3533.6395 -106.5047 0.00036752025 14 + 1344 3490.0063 -83.120672 0.00036752025 14 + 1346 3465.607 -63.491864 0.00036752025 14 + 1348 3457.3149 -47.999092 0.00036752025 14 + 1350 3412.3409 -35.927698 0.00036752025 14 + 1352 3381.2277 -26.551014 0.00036752025 14 + 1354 3349.4638 -19.272568 0.00036752025 14 + 1356 3304.6611 -13.811171 0.00036752025 14 + 1358 3304.3632 -10.049667 0.00036752025 14 + 1360 3310.1505 -7.4676253 0.00036752025 14 + 1362 3324.0496 -5.5416893 0.00036752025 14 + 1364 3367.7593 -4.0623241 0.00036752025 14 + 1366 3397.9879 -2.7787434 0.00036752025 14 + 1368 3412.4534 -1.7492008 0.00036752025 14 + 1370 3427.9927 -1.147808 0.00036752025 14 + 1372 3421.2999 -0.84877502 0.00036752025 14 + 1374 3431.4368 -0.77334018 0.00036752025 14 + 1376 3461.4741 -0.86904112 0.00036752025 14 + 1378 3483.9644 -1.1476447 0.00036752025 14 + 1380 3505.0425 -1.6733489 0.00036752025 14 + 1382 3494.7077 -2.2709129 0.00036752025 14 + 1384 3454.6986 -2.73897 0.00036752025 14 + 1386 3423.1053 -3.040692 0.00036752025 14 + 1388 3393.9828 -3.1941004 0.00036752025 14 + 1390 3368.8365 -3.3149273 0.00036752025 14 + 1392 3357.374 -3.4753807 0.00036752025 14 + 1394 3338.6876 -3.5730386 0.00036752025 14 + 1396 3322.6963 -3.5669074 0.00036752025 14 + 1398 3317.4036 -3.5137605 0.00036752025 14 + 1400 3306.4233 -3.5036114 0.00036752025 14 + 1402 3294.3469 -3.6465019 0.00036752025 14 + 1404 3288.9613 -3.9285698 0.00036752025 14 + 1406 3281.6542 -4.2217607 0.00036752025 14 + 1408 3289.0894 -4.4494179 0.00036752025 14 + 1410 3305.4438 -4.5424443 0.00036752025 14 + 1412 3307.9857 -4.4630054 0.00036752025 14 + 1414 3295.9878 -4.2471632 0.00036752025 14 + 1416 3282.069 -3.9622413 0.00036752025 14 + 1418 3269.3405 -3.6259962 0.00036752025 14 + 1420 3272.8895 -3.2426864 0.00036752025 14 + 1422 3294.6417 -2.7828443 0.00036752025 14 + 1424 3307.614 -2.2516614 0.00036752025 14 + 1426 3315.9908 -1.8186677 0.00036752025 14 + 1428 3307.4338 -1.6062873 0.00036752025 14 + 1430 3362.0036 591.24602 0.00038913909 15 + 1432 3348.3711 -22.903151 0.00038913909 15 + 1434 3339.0009 -180.94362 0.00038913909 15 + 1436 3327.8309 -205.13316 0.00038913909 15 + 1438 3323.8846 -188.6757 0.00038913909 15 + 1440 3302.8168 -161.33916 0.00038913909 15 + 1442 3280.8634 -133.06553 0.00038913909 15 + 1444 3274.9669 -106.90061 0.00038913909 15 + 1446 3261.4086 -83.772906 0.00038913909 15 + 1448 3260.2033 -64.232762 0.00038913909 15 + 1450 3256.8934 -48.308404 0.00038913909 15 + 1452 3243.1338 -35.618715 0.00038913909 15 + 1454 3249.12 -25.595933 0.00038913909 15 + 1456 3257.8764 -17.638422 0.00038913909 15 + 1458 3248.4414 -11.467315 0.00038913909 15 + 1460 3237.7196 -7.1629632 0.00038913909 15 + 1462 3212.5536 -4.5262728 0.00038913909 15 + 1464 3207.8346 -3.1275511 0.00038913909 15 + 1466 3240.6709 -2.4532209 0.00038913909 15 + 1468 3274.7659 -1.9941312 0.00038913909 15 + 1470 3309.7636 -1.7744811 0.00038913909 15 + 1472 3319.9011 -2.0039409 0.00038913909 15 + 1474 3301.7286 -2.5404117 0.00038913909 15 + 1476 3304.5902 -3.015492 0.00038913909 15 + 1478 3324.5802 -3.0251512 0.00038913909 15 + 1480 3349.1191 -2.6296881 0.00038913909 15 + 1482 3386.3334 -2.3009124 0.00038913909 15 + 1484 3386.5448 -2.2135937 0.00038913909 15 + 1486 3360.3384 -2.1803619 0.00038913909 15 + 1488 3347.1255 -1.9008543 0.00038913909 15 + 1490 3332.276 -1.2843614 0.00038913909 15 + 1492 3332.4353 -0.78765054 0.00038913909 15 + 1494 3362.446 -0.90165015 0.00038913909 15 + 1496 3378.4951 -1.503457 0.00038913909 15 + 1498 3399.9682 -2.142196 0.00038913909 15 + 1500 3424.6642 -2.4001451 0.00038913909 15 + 1502 3415.6927 -2.3206656 0.00038913909 15 + 1504 3399.699 -2.4566927 0.00038913909 15 + 1506 3380.1726 -3.0059402 0.00038913909 15 + 1508 3356.1819 -3.5410815 0.00038913909 15 + 1510 3372.1715 -3.5489313 0.00038913909 15 + 1512 3407.3769 -2.8683598 0.00038913909 15 + 1514 3422.0433 -1.9562886 0.00038913909 15 + 1516 3438.5941 -1.4855083 0.00038913909 15 + 1518 3429.8051 -1.4723825 0.00038913909 15 + 1520 3417.385 -1.4858933 0.00038913909 15 + 1522 3440.37 -1.1865901 0.00038913909 15 + 1524 3458.4548 -0.67483073 0.00038913909 15 + 1526 3469.3533 -0.55678882 0.00038913909 15 + 1528 3490.916 -1.1714695 0.00038913909 15 + 1530 3492.0061 -2.0409487 0.00038913909 15 + 1532 3591.2065 933.33366 0.00041075793 16 + 1534 3613.996 28.275741 0.00041075793 16 + 1536 3592.9837 -172.35131 0.00041075793 16 + 1538 3576.1566 -203.31573 0.00041075793 16 + 1540 3569.3197 -188.5623 0.00041075793 16 + 1542 3559.2173 -161.72853 0.00041075793 16 + 1544 3581.5844 -132.85329 0.00041075793 16 + 1546 3598.8905 -105.35356 0.00041075793 16 + 1548 3591.8015 -81.305445 0.00041075793 16 + 1550 3601.2781 -61.769959 0.00041075793 16 + 1552 3610.8049 -46.305773 0.00041075793 16 + 1554 3635.071 -33.909703 0.00041075793 16 + 1556 3673.1152 -23.903242 0.00041075793 16 + 1558 3674.3301 -16.196577 0.00041075793 16 + 1560 3656.4931 -10.875945 0.00041075793 16 + 1562 3635.4528 -7.5675014 0.00041075793 16 + 1564 3605.0214 -5.4309671 0.00041075793 16 + 1566 3597.8995 -3.8836753 0.00041075793 16 + 1568 3589.3965 -2.7710753 0.00041075793 16 + 1570 3557.0846 -2.1656742 0.00041075793 16 + 1572 3522.8206 -2.1249828 0.00041075793 16 + 1574 3488.0784 -2.3270696 0.00041075793 16 + 1576 3468.5242 -2.3006944 0.00041075793 16 + 1578 3480.3442 -1.9105952 0.00041075793 16 + 1580 3502.4035 -1.4703121 0.00041075793 16 + 1582 3514.5124 -1.3686635 0.00041075793 16 + 1584 3529.8072 -1.6349027 0.00041075793 16 + 1586 3549.9111 -1.8290023 0.00041075793 16 + 1588 3581.7588 -1.6259883 0.00041075793 16 + 1590 3627.3261 -1.2043943 0.00041075793 16 + 1592 3670.0906 -1.032423 0.00041075793 16 + 1594 3693.8859 -1.3608622 0.00041075793 16 + 1596 3716.2459 -2.0059406 0.00041075793 16 + 1598 3731.9525 -2.5008352 0.00041075793 16 + 1600 3743.6525 -2.6784874 0.00041075793 16 + 1602 3760.9905 -2.7998984 0.00041075793 16 + 1604 3761.3113 -3.1223193 0.00041075793 16 + 1606 3748.8697 -3.6314108 0.00041075793 16 + 1608 3739.8794 -3.9850298 0.00041075793 16 + 1610 3722.0372 -3.8300328 0.00041075793 16 + 1612 3715.944 -3.30415 0.00041075793 16 + 1614 3712.6256 -2.7922936 0.00041075793 16 + 1616 3689.1991 -2.5191961 0.00041075793 16 + 1618 3674.8638 -2.4644698 0.00041075793 16 + 1620 3656.7564 -2.3324852 0.00041075793 16 + 1622 3635.8706 -2.016391 0.00041075793 16 + 1624 3634.1611 -1.7433529 0.00041075793 16 + 1626 3612.7237 -1.6722602 0.00041075793 16 + 1628 3577.439 -1.84882 0.00041075793 16 + 1630 3562.4417 -2.128466 0.00041075793 16 + 1632 3549.0826 -2.2282459 0.00041075793 16 + 1634 3632.1374 -186.35031 0.00043237677 17 + 1636 3648.9593 -296.79359 0.00043237677 17 + 1638 3641.3738 -282.99578 0.00043237677 17 + 1640 3650.8687 -244.99487 0.00043237677 17 + 1642 3673.7223 -204.09587 0.00043237677 17 + 1644 3690.3923 -166.23129 0.00043237677 17 + 1646 3717.9157 -133.14546 0.00043237677 17 + 1648 3718.0414 -104.89207 0.00043237677 17 + 1650 3697.4633 -81.115712 0.00043237677 17 + 1652 3705.0511 -61.49637 0.00043237677 17 + 1654 3714.781 -45.659171 0.00043237677 17 + 1656 3730.9613 -33.243337 0.00043237677 17 + 1658 3741.1851 -23.708946 0.00043237677 17 + 1660 3717.9711 -16.478718 0.00043237677 17 + 1662 3701.7524 -11.228053 0.00043237677 17 + 1664 3711.2786 -7.6811287 0.00043237677 17 + 1666 3729.4217 -5.4701745 0.00043237677 17 + 1668 3756.06 -4.196296 0.00043237677 17 + 1670 3762.1859 -3.3948328 0.00043237677 17 + 1672 3750.3442 -2.795002 0.00043237677 17 + 1674 3750.3911 -2.3631317 0.00043237677 17 + 1676 3743.935 -2.1198915 0.00043237677 17 + 1678 3733.116 -2.0433621 0.00043237677 17 + 1680 3711.4814 -1.9570085 0.00043237677 17 + 1682 3673.0703 -1.7553287 0.00043237677 17 + 1684 3640.8032 -1.6100182 0.00043237677 17 + 1686 3623.5278 -1.7720453 0.00043237677 17 + 1688 3609.6657 -2.2903733 0.00043237677 17 + 1690 3595.0925 -2.9520482 0.00043237677 17 + 1692 3574.7946 -3.4520403 0.00043237677 17 + 1694 3553.4592 -3.7172417 0.00043237677 17 + 1696 3550.4998 -3.9662696 0.00043237677 17 + 1698 3573.0918 -4.3864824 0.00043237677 17 + 1700 3608.4812 -4.8143282 0.00043237677 17 + 1702 3649.7102 -4.8822052 0.00043237677 17 + 1704 3691.715 -4.4058032 0.00043237677 17 + 1706 3712.538 -3.5738906 0.00043237677 17 + 1708 3723.8041 -2.8233117 0.00043237677 17 + 1710 3728.6131 -2.3180266 0.00043237677 17 + 1712 3721.5916 -1.8298925 0.00043237677 17 + 1714 3722.2323 -1.145955 0.00043237677 17 + 1716 3720.8412 -0.35106009 0.00043237677 17 + 1718 3704.2798 0.13931625 0.00043237677 17 + 1720 3691.24 0.0070879972 0.00043237677 17 + 1722 3664.7923 -0.49492297 0.00043237677 17 + 1724 3636.2585 -0.93235898 0.00043237677 17 + 1726 3623.6805 -1.0766384 0.00043237677 17 + 1728 3601.4828 -1.0674569 0.00043237677 17 + 1730 3594.1993 -1.2953611 0.00043237677 17 + 1732 3595.7016 -1.7010658 0.00043237677 17 + 1734 3584.1108 -1.801104 0.00043237677 17 + 1736 3713.9177 157.48163 0.00045399561 18 + 1738 3729.1228 -244.26726 0.00045399561 18 + 1740 3729.6815 -300.0614 0.00045399561 18 + 1742 3750.7503 -278.25336 0.00045399561 18 + 1744 3748.1243 -238.83242 0.00045399561 18 + 1746 3741.9127 -197.8389 0.00045399561 18 + 1748 3755.7248 -160.28928 0.00045399561 18 + 1750 3749.7764 -127.74147 0.00045399561 18 + 1752 3753.2746 -100.53428 0.00045399561 18 + 1754 3765.3549 -78.121856 0.00045399561 18 + 1756 3759.2282 -59.655351 0.00045399561 18 + 1758 3775.6312 -44.626232 0.00045399561 18 + 1760 3784.8396 -32.615627 0.00045399561 18 + 1762 3771.0752 -23.447131 0.00045399561 18 + 1764 3780.4144 -16.86878 0.00045399561 18 + 1766 3782.4234 -12.0877 0.00045399561 18 + 1768 3794.5104 -8.4068303 0.00045399561 18 + 1770 3824.6482 -5.5286928 0.00045399561 18 + 1772 3824.8005 -3.4631071 0.00045399561 18 + 1774 3824.9637 -2.4005261 0.00045399561 18 + 1776 3832.2073 -2.0425462 0.00045399561 18 + 1778 3824.1265 -1.7381825 0.00045399561 18 + 1780 3826.3354 -1.2396341 0.00045399561 18 + 1782 3822.7018 -0.70624837 0.00045399561 18 + 1784 3803.6551 -0.51472634 0.00045399561 18 + 1786 3799.9592 -0.8237544 0.00045399561 18 + 1788 3798.5286 -1.2770654 0.00045399561 18 + 1790 3792.3951 -1.4626882 0.00045399561 18 + 1792 3788.7063 -1.3397023 0.00045399561 18 + 1794 3777.0686 -1.1815152 0.00045399561 18 + 1796 3779.2508 -1.2957126 0.00045399561 18 + 1798 3807.3391 -1.6056954 0.00045399561 18 + 1800 3840.8603 -1.7394881 0.00045399561 18 + 1802 3867.8952 -1.5119262 0.00045399561 18 + 1804 3879.448 -1.1126446 0.00045399561 18 + 1806 3874.0178 -0.89376073 0.00045399561 18 + 1808 3870.4205 -1.0013994 0.00045399561 18 + 1810 3874.9689 -1.1896861 0.00045399561 18 + 1812 3882.7366 -1.1347346 0.00045399561 18 + 1814 3893.4144 -0.80375709 0.00045399561 18 + 1816 3892.8065 -0.43723593 0.00045399561 18 + 1818 3879.6317 -0.27127498 0.00045399561 18 + 1820 3863.231 -0.26927869 0.00045399561 18 + 1822 3839.1828 -0.16469626 0.00045399561 18 + 1824 3817.7643 0.17259437 0.00045399561 18 + 1826 3814.5806 0.55900288 0.00045399561 18 + 1828 3814.4881 0.73981688 0.00045399561 18 + 1830 3826.593 0.61721493 0.00045399561 18 + 1832 3850.1378 0.38603904 0.00045399561 18 + 1834 3867.6612 0.31140301 0.00045399561 18 + 1836 3881.9933 0.36675857 0.00045399561 18 + 1838 4088.212 261434.69 0.00047561445 19 + 1840 4096.5564 27676.737 0.00047561445 19 + 1842 4116.6104 4562.7115 0.00047561445 19 + 1844 4138.3331 942.30407 0.00047561445 19 + 1846 4157.8346 171.41233 0.00047561445 19 + 1848 4189.7389 -26.014237 0.00047561445 19 + 1850 4203.2273 -76.212233 0.00047561445 19 + 1852 4206.7084 -81.595913 0.00047561445 19 + 1854 4214.7407 -72.613587 0.00047561445 19 + 1856 4219.541 -59.566243 0.00047561445 19 + 1858 4238.5637 -46.274295 0.00047561445 19 + 1860 4268.5595 -34.588591 0.00047561445 19 + 1862 4277.6539 -25.225003 0.00047561445 19 + 1864 4285.3854 -18.06534 0.00047561445 19 + 1866 4276.8633 -12.627639 0.00047561445 19 + 1868 4255.485 -8.5283892 0.00047561445 19 + 1870 4248.7917 -5.6394153 0.00047561445 19 + 1872 4232.7796 -3.7373251 0.00047561445 19 + 1874 4213.674 -2.5982718 0.00047561445 19 + 1876 4196.3767 -1.8849709 0.00047561445 19 + 1878 4154.9323 -1.2753507 0.00047561445 19 + 1880 4121.2743 -0.82249822 0.00047561445 19 + 1882 4101.6239 -0.60366804 0.00047561445 19 + 1884 4076.731 -0.62133231 0.00047561445 19 + 1886 4071.191 -0.92478991 0.00047561445 19 + 1888 4070.5745 -1.3485064 0.00047561445 19 + 1890 4073.0041 -1.8304913 0.00047561445 19 + 1892 4099.534 -2.4147085 0.00047561445 19 + 1894 4122.2249 -3.0099619 0.00047561445 19 + 1896 4134.95 -3.5440729 0.00047561445 19 + 1898 4138.662 -3.8951738 0.00047561445 19 + 1900 4119.9803 -3.9477528 0.00047561445 19 + 1902 4105.9779 -3.7437217 0.00047561445 19 + 1904 4103.6993 -3.3264299 0.00047561445 19 + 1906 4099.5993 -2.7195122 0.00047561445 19 + 1908 4099.0927 -2.0152229 0.00047561445 19 + 1910 4092.7303 -1.3051093 0.00047561445 19 + 1912 4079.7989 -0.70887774 0.00047561445 19 + 1914 4070.1861 -0.30814281 0.00047561445 19 + 1916 4064.2331 -0.12483815 0.00047561445 19 + 1918 4057.4172 -0.14863786 0.00047561445 19 + 1920 4045.7673 -0.36919485 0.00047561445 19 + 1922 4025.2377 -0.75787503 0.00047561445 19 + 1924 3997.6829 -1.2270004 0.00047561445 19 + 1926 3973.4154 -1.6380242 0.00047561445 19 + 1928 3967.2261 -1.8579591 0.00047561445 19 + 1930 3984.008 -1.8481876 0.00047561445 19 + 1932 4014.2028 -1.695545 0.00047561445 19 + 1934 4040.7038 -1.4466441 0.00047561445 19 + 1936 4046.6823 -1.0457806 0.00047561445 19 + 1938 4050.3414 -0.43691244 0.00047561445 19 + 1940 4158.8456 -485.87062 0.00049723329 20 + 1942 4138.6859 -406.83847 0.00049723329 20 + 1944 4122.6253 -337.57463 0.00049723329 20 + 1946 4101.6274 -277.34116 0.00049723329 20 + 1948 4085.2854 -225.34082 0.00049723329 20 + 1950 4088.9637 -181.0183 0.00049723329 20 + 1952 4109.9585 -143.74698 0.00049723329 20 + 1954 4141.6977 -112.7839 0.00049723329 20 + 1956 4173.9013 -87.397165 0.00049723329 20 + 1958 4185.8014 -66.686886 0.00049723329 20 + 1960 4182.5342 -49.929089 0.00049723329 20 + 1962 4173.7911 -36.539866 0.00049723329 20 + 1964 4164.6792 -26.055513 0.00049723329 20 + 1966 4166.91 -18.173563 0.00049723329 20 + 1968 4170.7606 -12.411793 0.00049723329 20 + 1970 4168.2387 -8.2434854 0.00049723329 20 + 1972 4167.5496 -5.3241601 0.00049723329 20 + 1974 4165.6717 -3.4268698 0.00049723329 20 + 1976 4171.0255 -2.459824 0.00049723329 20 + 1978 4186.2281 -2.210817 0.00049723329 20 + 1980 4200.046 -2.2265372 0.00049723329 20 + 1982 4214.8919 -2.1835848 0.00049723329 20 + 1984 4230.6418 -1.9876854 0.00049723329 20 + 1986 4242.4071 -1.7430167 0.00049723329 20 + 1988 4252.8222 -1.6283597 0.00049723329 20 + 1990 4255.8615 -1.5968122 0.00049723329 20 + 1992 4261.9838 -1.4850549 0.00049723329 20 + 1994 4280.013 -1.1801127 0.00049723329 20 + 1996 4298.903 -0.75483617 0.00049723329 20 + 1998 4315.3363 -0.43775783 0.00049723329 20 + 2000 4312.8744 -0.26775056 0.00049723329 20 + 2002 4295.4994 -0.071325246 0.00049723329 20 + 2004 4276.0581 0.34550495 0.00049723329 20 + 2006 4259.7706 1.0097526 0.00049723329 20 + 2008 4259.7877 1.6450507 0.00049723329 20 + 2010 4266.37 1.9897528 0.00049723329 20 + 2012 4263.4827 2.1177927 0.00049723329 20 + 2014 4268.7607 2.2393951 0.00049723329 20 + 2016 4281.4665 2.4617856 0.00049723329 20 + 2018 4299.8629 2.6164942 0.00049723329 20 + 2020 4332.5133 2.4169235 0.00049723329 20 + 2022 4350.4848 1.8843467 0.00049723329 20 + 2024 4354.7043 1.2629554 0.00049723329 20 + 2026 4348.8078 0.82057161 0.00049723329 20 + 2028 4326.3199 0.59662969 0.00049723329 20 + 2030 4306.4246 0.32430208 0.00049723329 20 + 2032 4292.6428 -0.17386259 0.00049723329 20 + 2034 4285.4709 -0.76060626 0.00049723329 20 + 2036 4289.9933 -1.1707279 0.00049723329 20 + 2038 4289.6574 -1.2615962 0.00049723329 20 + 2040 4289.8823 -1.2227653 0.00049723329 20 + 2042 4372.236 -484.15319 0.00051885212 21 + 2044 4363.8565 -409.58287 0.00051885212 21 + 2046 4374.4373 -342.09516 0.00051885212 21 + 2048 4397.6019 -282.27516 0.00051885212 21 + 2050 4419.5998 -230.19598 0.00051885212 21 + 2052 4444.6113 -185.83214 0.00051885212 21 + 2054 4463.2143 -148.62046 0.00051885212 21 + 2056 4483.7739 -117.65238 0.00051885212 21 + 2058 4502.9214 -92.03373 0.00051885212 21 + 2060 4499.5116 -70.903642 0.00051885212 21 + 2062 4485.0808 -53.819643 0.00051885212 21 + 2064 4460.1892 -40.351592 0.00051885212 21 + 2066 4441.3547 -29.893614 0.00051885212 21 + 2068 4453.6573 -21.870035 0.00051885212 21 + 2070 4471.3583 -15.74966 0.00051885212 21 + 2072 4481.8502 -11.269104 0.00051885212 21 + 2074 4482.5479 -8.2901014 0.00051885212 21 + 2076 4458.9428 -6.4842891 0.00051885212 21 + 2078 4440.2746 -5.4884006 0.00051885212 21 + 2080 4430.7879 -4.8831169 0.00051885212 21 + 2082 4418.2045 -4.3334616 0.00051885212 21 + 2084 4420.9827 -3.8690608 0.00051885212 21 + 2086 4415.2895 -3.4747959 0.00051885212 21 + 2088 4403.2127 -3.0698792 0.00051885212 21 + 2090 4404.9829 -2.6092157 0.00051885212 21 + 2092 4394.4738 -2.0329887 0.00051885212 21 + 2094 4381.445 -1.4800426 0.00051885212 21 + 2096 4382.9362 -1.087972 0.00051885212 21 + 2098 4380.2994 -0.77244565 0.00051885212 21 + 2100 4394.8792 -0.49150427 0.00051885212 21 + 2102 4420.8861 -0.20635176 0.00051885212 21 + 2104 4429.8268 0.0310276 0.00051885212 21 + 2106 4440.2236 0.055920203 0.00051885212 21 + 2108 4439.1631 -0.098651465 0.00051885212 21 + 2110 4427.5624 -0.31987022 0.00051885212 21 + 2112 4425.6367 -0.54703789 0.00051885212 21 + 2114 4413.4448 -0.71799966 0.00051885212 21 + 2116 4390.8139 -0.88704628 0.00051885212 21 + 2118 4370.4401 -1.0790848 0.00051885212 21 + 2120 4341.8148 -1.1893832 0.00051885212 21 + 2122 4323.8283 -1.1913674 0.00051885212 21 + 2124 4316.3088 -1.0938027 0.00051885212 21 + 2126 4303.2157 -0.92089888 0.00051885212 21 + 2128 4293.2329 -0.72556801 0.00051885212 21 + 2130 4277.4687 -0.470313 0.00051885212 21 + 2132 4254.036 -0.18509838 0.00051885212 21 + 2134 4238.7708 0.0079755602 0.00051885212 21 + 2136 4226.4974 0.040694129 0.00051885212 21 + 2138 4216.435 -0.083088073 0.00051885212 21 + 2140 4210.2068 -0.27891332 0.00051885212 21 + 2142 4190.1478 -0.45071942 0.00051885212 21 + 2144 4358.0641 7552.2519 0.00054047096 22 + 2146 4343.8669 2546.2605 0.00054047096 22 + 2148 4337.8495 832.13859 0.00054047096 22 + 2150 4344.8145 161.37654 0.00054047096 22 + 2152 4354.659 -102.52396 0.00054047096 22 + 2154 4351.261 -186.01241 0.00054047096 22 + 2156 4338.2721 -196.408 0.00054047096 22 + 2158 4326.0159 -183.30606 0.00054047096 22 + 2160 4316.8225 -163.19657 0.00054047096 22 + 2162 4315.5646 -139.65485 0.00054047096 22 + 2164 4318.7228 -112.47106 0.00054047096 22 + 2166 4308.7441 -86.692739 0.00054047096 22 + 2168 4296.5417 -64.897163 0.00054047096 22 + 2170 4295.1338 -47.217693 0.00054047096 22 + 2172 4296.3245 -33.218667 0.00054047096 22 + 2174 4309.7186 -22.42771 0.00054047096 22 + 2176 4322.8738 -14.380445 0.00054047096 22 + 2178 4325.1652 -8.7240076 0.00054047096 22 + 2180 4339.5136 -5.1399194 0.00054047096 22 + 2182 4359.4978 -3.125563 0.00054047096 22 + 2184 4374.7235 -2.1060967 0.00054047096 22 + 2186 4392.561 -1.6122362 0.00054047096 22 + 2188 4391.6476 -1.3419931 0.00054047096 22 + 2190 4375.4402 -1.2451958 0.00054047096 22 + 2192 4370.8847 -1.2691448 0.00054047096 22 + 2194 4362.5429 -1.1671537 0.00054047096 22 + 2196 4357.6371 -0.78265168 0.00054047096 22 + 2198 4353.2768 -0.1660927 0.00054047096 22 + 2200 4327.6061 0.4949875 0.00054047096 22 + 2202 4303.2649 0.97439091 0.00054047096 22 + 2204 4295.6358 1.2953222 0.00054047096 22 + 2206 4299.8451 1.6516724 0.00054047096 22 + 2208 4331.8468 2.0778491 0.00054047096 22 + 2210 4369.8179 2.4301813 0.00054047096 22 + 2212 4390.4687 2.4771921 0.00054047096 22 + 2214 4410.043 2.0979253 0.00054047096 22 + 2216 4420.4824 1.5015737 0.00054047096 22 + 2218 4428.5418 0.9293217 0.00054047096 22 + 2220 4438.6351 0.4452181 0.00054047096 22 + 2222 4429.7042 -0.022725602 0.00054047096 22 + 2224 4410.5614 -0.57362223 0.00054047096 22 + 2226 4394.6197 -1.1018693 0.00054047096 22 + 2228 4377.6656 -1.356307 0.00054047096 22 + 2230 4369.9848 -1.2799089 0.00054047096 22 + 2232 4359.5241 -1.033239 0.00054047096 22 + 2234 4329.7464 -0.87111314 0.00054047096 22 + 2236 4297.4136 -0.92360827 0.00054047096 22 + 2238 4274.4896 -1.0300654 0.00054047096 22 + 2240 4273.3355 -0.99506577 0.00054047096 22 + 2242 4299.8049 -0.84965213 0.00054047096 22 + 2244 4375.9624 -0.73547198 0.00054047096 22 + 2246 4419.4249 -428.66499 0.0005620898 23 + 2248 4440.1921 -357.75283 0.0005620898 23 + 2250 4458.4562 -295.72755 0.0005620898 23 + 2252 4483.515 -241.53239 0.0005620898 23 + 2254 4521.6264 -194.6715 0.0005620898 23 + 2256 4558.4436 -154.95368 0.0005620898 23 + 2258 4584.9658 -121.92313 0.0005620898 23 + 2260 4603.2392 -94.63205 0.0005620898 23 + 2262 4610.9187 -72.117113 0.0005620898 23 + 2264 4620.6516 -53.81207 0.0005620898 23 + 2266 4641.2237 -39.52074 0.0005620898 23 + 2268 4656.112 -28.916367 0.0005620898 23 + 2270 4661.2055 -21.28721 0.0005620898 23 + 2272 4654.102 -15.778242 0.0005620898 23 + 2274 4635.5037 -11.772833 0.0005620898 23 + 2276 4629.6411 -9.0646229 0.0005620898 23 + 2278 4644.5739 -7.5297271 0.0005620898 23 + 2280 4672.0076 -6.7876668 0.0005620898 23 + 2282 4715.8278 -6.3114881 0.0005620898 23 + 2284 4756.7958 -5.5841706 0.0005620898 23 + 2286 4786.6985 -4.5853628 0.0005620898 23 + 2288 4809.2288 -3.3898975 0.0005620898 23 + 2290 4814.2053 -2.5577365 0.0005620898 23 + 2292 4817.5747 -2.0119957 0.0005620898 23 + 2294 4838.8221 -1.5689555 0.0005620898 23 + 2296 4875.5697 -1.1551628 0.0005620898 23 + 2298 4930.9308 -0.81843584 0.0005620898 23 + 2300 4984.499 -0.82134226 0.0005620898 23 + 2302 5011.4719 -1.294796 0.0005620898 23 + 2304 5020.5621 -2.0456668 0.0005620898 23 + 2306 5009.736 -2.6179285 0.0005620898 23 + 2308 4995.1273 -3.3240647 0.0005620898 23 + 2310 4989.781 -4.1051438 0.0005620898 23 + 2312 4987.6058 -4.6474518 0.0005620898 23 + 2314 4993.5373 -5.2163273 0.0005620898 23 + 2316 5013.1231 -5.3993449 0.0005620898 23 + 2318 5032.7696 -5.1426741 0.0005620898 23 + 2320 5052.2507 -4.7378163 0.0005620898 23 + 2322 5066.676 -4.4309223 0.0005620898 23 + 2324 5070.9335 -4.011325 0.0005620898 23 + 2326 5075.3187 -3.575017 0.0005620898 23 + 2328 5080.1483 -2.937051 0.0005620898 23 + 2330 5089.0513 -2.218688 0.0005620898 23 + 2332 5106.4161 -1.5761829 0.0005620898 23 + 2334 5114.3901 -1.3379256 0.0005620898 23 + 2336 5111.765 -1.4168282 0.0005620898 23 + 2338 5109.8218 -1.3945147 0.0005620898 23 + 2340 5112.3651 -1.3179987 0.0005620898 23 + 2342 5129.4026 -1.1933029 0.0005620898 23 + 2344 5151.596 -1.1509356 0.0005620898 23 + 2346 5173.0185 -1.1910036 0.0005620898 23 + 2348 5397.9032 68.928762 0.00058370864 24 + 2350 5407.0266 -233.97041 0.00058370864 24 + 2352 5422.5601 -279.88482 0.00058370864 24 + 2354 5473.9255 -259.08824 0.00058370864 24 + 2356 5488.0698 -221.76737 0.00058370864 24 + 2358 5468.2353 -183.12481 0.00058370864 24 + 2360 5493.5403 -147.94875 0.00058370864 24 + 2362 5556.8153 -117.258 0.00058370864 24 + 2364 5476.495 -91.2006 0.00058370864 24 + 2366 5535.1518 -69.535188 0.00058370864 24 + 2368 5463.379 -52.175894 0.00058370864 24 + 2370 5406.5993 -38.635185 0.00058370864 24 + 2372 5379.6399 -28.053989 0.00058370864 24 + 2374 5293.9387 -19.606039 0.00058370864 24 + 2376 5254.14 -12.991082 0.00058370864 24 + 2378 5252.9692 -7.9447819 0.00058370864 24 + 2380 5190.6301 -4.2982853 0.00058370864 24 + 2382 5239.8106 -2.0984084 0.00058370864 24 + 2384 5265.9434 -0.66290855 0.00058370864 24 + 2386 5278.5471 0.24706688 0.00058370864 24 + 2388 5310.5694 0.81491696 0.00058370864 24 + 2390 5325.4843 0.83332156 0.00058370864 24 + 2392 5287.052 0.65384817 0.00058370864 24 + 2394 5217.4306 -0.2905052 0.00058370864 24 + 2396 5151.0811 -1.3614891 0.00058370864 24 + 2398 5089.4464 -2.1978833 0.00058370864 24 + 2400 5096.8527 -2.5845056 0.00058370864 24 + 2402 5081.1023 -2.6357504 0.00058370864 24 + 2404 5112.6314 -2.7644934 0.00058370864 24 + 2406 5098.9354 -2.724554 0.00058370864 24 + 2408 5027.2334 -2.6826803 0.00058370864 24 + 2410 4972.12 -2.1045636 0.00058370864 24 + 2412 4978.4482 -1.2633463 0.00058370864 24 + 2414 5015.2935 -0.8286916 0.00058370864 24 + 2416 5052.309 -0.81559079 0.00058370864 24 + 2418 5003.9654 -1.104621 0.00058370864 24 + 2420 4973.9856 -1.5018687 0.00058370864 24 + 2422 4949.7823 -1.6447218 0.00058370864 24 + 2424 4901.9468 -1.5725746 0.00058370864 24 + 2426 4945.389 -1.9278468 0.00058370864 24 + 2428 4973.9992 -2.4855638 0.00058370864 24 + 2430 4942.1022 -2.7325455 0.00058370864 24 + 2432 4934.3944 -2.6684489 0.00058370864 24 + 2434 4931.5278 -2.3317286 0.00058370864 24 + 2436 4815.7187 -1.7602239 0.00058370864 24 + 2438 4763.8819 -1.4516585 0.00058370864 24 + 2440 4827.3393 -1.5296665 0.00058370864 24 + 2442 4794.2051 -1.3026967 0.00058370864 24 + 2444 4784.3245 -0.9623875 0.00058370864 24 + 2446 4880.5328 -0.79855584 0.00058370864 24 + 2448 4892.9298 -0.48521837 0.00058370864 24 + 2450 5042.5229 182.15531 0.00060532748 25 + 2452 5194.8177 -126.79776 0.00060532748 25 + 2454 5156.6538 -209.68466 0.00060532748 25 + 2456 5136.7898 -214.15629 0.00060532748 25 + 2458 5190.4494 -191.92028 0.00060532748 25 + 2460 5193.0372 -162.44965 0.00060532748 25 + 2462 5135.1347 -132.94313 0.00060532748 25 + 2464 5088.2711 -105.26975 0.00060532748 25 + 2466 5044.2865 -80.777237 0.00060532748 25 + 2468 5030.1682 -60.734524 0.00060532748 25 + 2470 5014.4445 -44.886842 0.00060532748 25 + 2472 5005.9881 -32.581621 0.00060532748 25 + 2474 5084.7476 -23.310238 0.00060532748 25 + 2476 5139.566 -16.306979 0.00060532748 25 + 2478 5123.4439 -11.089426 0.00060532748 25 + 2480 5164.1777 -7.6656601 0.00060532748 25 + 2482 5166.1753 -5.6256871 0.00060532748 25 + 2484 5134.5927 -4.5032297 0.00060532748 25 + 2486 5177.4063 -3.9773157 0.00060532748 25 + 2488 5176.7834 -3.4385437 0.00060532748 25 + 2490 5169.781 -2.9064023 0.00060532748 25 + 2492 5201.8608 -2.6139644 0.00060532748 25 + 2494 5238.2059 -2.4480956 0.00060532748 25 + 2496 5254.5338 -2.3015056 0.00060532748 25 + 2498 5302.7629 -2.3369754 0.00060532748 25 + 2500 5270.998 -2.39524 0.00060532748 25 + 2502 5243.3575 -2.5889856 0.00060532748 25 + 2504 5243.4678 -2.9219197 0.00060532748 25 + 2506 5255.0345 -3.2719206 0.00060532748 25 + 2508 5235.6551 -3.4395484 0.00060532748 25 + 2510 5267.9805 -3.4601437 0.00060532748 25 + 2512 5261.7225 -3.2244038 0.00060532748 25 + 2514 5247.9792 -2.9449064 0.00060532748 25 + 2516 9386.5057 0.95935555 0.00060532748 25 + 2518 8507.1834 0.58218735 0.00060532748 25 + 2520 7456.5024 -1.7231674 0.00060532748 25 + 2522 6442.2381 -5.0299011 0.00060532748 25 + 2524 6243.5623 -4.3174698 0.00060532748 25 + 2526 7107.4023 -1.4486735 0.00060532748 25 + 2528 7462.5296 -1.6382013 0.00060532748 25 + 2530 7393.0945 -4.1006752 0.00060532748 25 + 2532 7446.8193 -4.961236 0.00060532748 25 + 2534 7814.2762 -3.5806698 0.00060532748 25 + 2536 7831.3195 -3.3453364 0.00060532748 25 + 2538 7269.6909 -4.5344277 0.00060532748 25 + 2540 6782.9301 -6.405289 0.00060532748 25 + 2542 6632.3199 -6.7366822 0.00060532748 25 + 2544 6843.4229 -5.4785068 0.00060532748 25 + 2546 7126.1657 -3.6868879 0.00060532748 25 + 2548 7320.2489 -2.1533112 0.00060532748 25 + 2550 7318.4623 -0.76400617 0.00060532748 25 + 2552 7319.7814 54889.243 0.00062694632 26 + 2554 7257.4954 4122.9284 0.00062694632 26 + 2556 7297.3206 322.50289 0.00062694632 26 + 2558 7268.0205 -127.41959 0.00062694632 26 + 2560 7199.2444 -173.52049 0.00062694632 26 + 2562 7087.7664 -155.56395 0.00062694632 26 + 2564 7071.1012 -128.16295 0.00062694632 26 + 2566 7136.41 -102.18408 0.00062694632 26 + 2568 7237.9761 -79.61277 0.00062694632 26 + 2570 7228.6075 -61.50493 0.00062694632 26 + 2572 6904.7633 -47.60803 0.00062694632 26 + 2574 6577.8766 -36.791331 0.00062694632 26 + 2576 6537.2024 -28.595961 0.00062694632 26 + 2578 6268.7053 -22.055058 0.00062694632 26 + 2580 6100.1948 -17.065896 0.00062694632 26 + 2582 6292.5224 -12.531749 0.00062694632 26 + 2584 6617.9859 -9.1082267 0.00062694632 26 + 2586 7058.3242 -6.5873287 0.00062694632 26 + 2588 7139.8019 -5.1508398 0.00062694632 26 + 2590 6870.0064 -4.7676802 0.00062694632 26 + 2592 6850.0669 -3.8204539 0.00062694632 26 + 2594 6914.4185 -2.4871515 0.00062694632 26 + 2596 6820.8591 -1.878383 0.00062694632 26 + 2598 6824.4608 -2.7091904 0.00062694632 26 + 2600 6605.8159 -4.055072 0.00062694632 26 + 2602 6601.1903 -4.9484338 0.00062694632 26 + 2604 6907.3437 -4.3220809 0.00062694632 26 + 2606 7033.6509 -2.8055047 0.00062694632 26 + 2608 7227.168 -1.8930939 0.00062694632 26 + 2610 7251.0672 -1.4869091 0.00062694632 26 + 2612 7140.7433 -1.9045777 0.00062694632 26 + 2614 7217.3576 -2.7698794 0.00062694632 26 + 2616 7199.0311 -3.015468 0.00062694632 26 + 2618 6902.2381 -3.091212 0.00062694632 26 + 2620 6760.3459 -4.3956075 0.00062694632 26 + 2622 6748.5752 -7.1577934 0.00062694632 26 + 2624 6498.4701 -9.9592243 0.00062694632 26 + 2626 6670.5347 -12.012125 0.00062694632 26 + 2628 6924.154 -11.6565 0.00062694632 26 + 2630 7093.9625 -10.6097 0.00062694632 26 + 2632 7200.2062 -9.6426422 0.00062694632 26 + 2634 6935.9294 -8.8684397 0.00062694632 26 + 2636 6515.3997 -7.626073 0.00062694632 26 + 2638 6642.2308 -5.9357977 0.00062694632 26 + 2640 6679.4207 -3.3768289 0.00062694632 26 + 2642 6391.0538 -0.45948537 0.00062694632 26 + 2644 6265.7264 1.2939434 0.00062694632 26 + 2646 6258.969 1.734008 0.00062694632 26 + 2648 6091.1112 1.7722562 0.00062694632 26 + 2650 6065.0546 1.4271238 0.00062694632 26 + 2652 6181.5247 0.9929013 0.00062694632 26 + 2654 6424.8373 2219.1488 0.00064856516 27 + 2656 6921.2471 293.11761 0.00064856516 27 + 2658 6763.5621 -107.46336 0.00064856516 27 + 2660 6599.8594 -186.27697 0.00064856516 27 + 2662 6734.0422 -184.24783 0.00064856516 27 + 2664 6874.8006 -160.69783 0.00064856516 27 + 2666 6818.3636 -132.93351 0.00064856516 27 + 2668 6701.1771 -104.71394 0.00064856516 27 + 2670 6352.4528 -80.998307 0.00064856516 27 + 2672 6092.4085 -60.899354 0.00064856516 27 + 2674 6194.4901 -43.587513 0.00064856516 27 + 2676 6358.7451 -28.845278 0.00064856516 27 + 2678 6360.9285 -17.879904 0.00064856516 27 + 2680 6361.5713 -11.346356 0.00064856516 27 + 2682 6205.8623 -7.4884075 0.00064856516 27 + 2684 6246.8348 -5.4773135 0.00064856516 27 + 2686 6328.5463 -4.3593929 0.00064856516 27 + 2688 6223.9976 -3.9407185 0.00064856516 27 + 2690 6106.554 -4.6997103 0.00064856516 27 + 2692 6168.4171 -6.396616 0.00064856516 27 + 2694 6139.2582 -7.8239605 0.00064856516 27 + 2696 6239.3903 -8.3808936 0.00064856516 27 + 2698 6405.2879 -7.5114356 0.00064856516 27 + 2700 6368.2 -5.6203059 0.00064856516 27 + 2702 6155.1715 -4.1491711 0.00064856516 27 + 2704 6110.6658 -4.0107178 0.00064856516 27 + 2706 5979.7665 -3.8463124 0.00064856516 27 + 2708 6010.5588 -3.0468839 0.00064856516 27 + 2710 6181.1661 -1.5749172 0.00064856516 27 + 2712 6203.6709 -0.24646367 0.00064856516 27 + 2714 6239.7545 -0.66240364 0.00064856516 27 + 2716 6231.4404 -2.7898432 0.00064856516 27 + 2718 5955.3416 -5.003216 0.00064856516 27 + 2720 5917.8094 -6.2365649 0.00064856516 27 + 2722 6133.6974 -6.0739996 0.00064856516 27 + 2724 6298.0231 -5.8507391 0.00064856516 27 + 2726 6295.3699 -6.3683403 0.00064856516 27 + 2728 6198.3701 -7.221616 0.00064856516 27 + 2730 6076.015 -7.0930518 0.00064856516 27 + 2732 6206.0761 -5.8369908 0.00064856516 27 + 2734 6402.0508 -3.7427091 0.00064856516 27 + 2736 6413.189 -1.9094711 0.00064856516 27 + 2738 6454.2519 -1.7466187 0.00064856516 27 + 2740 6325.859 -2.2413434 0.00064856516 27 + 2742 6111.4194 -2.2428871 0.00064856516 27 + 2744 6121.0656 -1.7522684 0.00064856516 27 + 2746 6100.9367 -0.85264856 0.00064856516 27 + 2748 5996.4279 -0.8861401 0.00064856516 27 + 2750 6087.5512 -2.86459 0.00064856516 27 + 2752 5977.3707 -4.7642892 0.00064856516 27 + 2754 5949.0314 -5.57108 0.00064856516 27 + 2756 6168.3001 -502.96405 0.00067018399 28 + 2758 6200.1666 -421.68078 0.00067018399 28 + 2760 6199.5233 -351.10973 0.00067018399 28 + 2762 6234.867 -290.73108 0.00067018399 28 + 2764 6145.1871 -238.129 0.00067018399 28 + 2766 6214.3271 -192.33635 0.00067018399 28 + 2768 6368.3971 -152.80846 0.00067018399 28 + 2770 6316.4154 -119.46414 0.00067018399 28 + 2772 6176.9381 -92.956853 0.00067018399 28 + 2774 6039.3515 -72.434763 0.00067018399 28 + 2776 5818.0769 -55.931431 0.00067018399 28 + 2778 5813.5845 -42.565903 0.00067018399 28 + 2780 5935.7699 -31.678196 0.00067018399 28 + 2782 6026.6265 -23.417297 0.00067018399 28 + 2784 6163.5786 -18.225936 0.00067018399 28 + 2786 6149.8745 -14.890416 0.00067018399 28 + 2788 6041.4351 -12.080924 0.00067018399 28 + 2790 6100.1736 -9.5414071 0.00067018399 28 + 2792 6155.6109 -7.3388116 0.00067018399 28 + 2794 6136.3566 -6.2777817 0.00067018399 28 + 2796 6233.5181 -6.6061357 0.00067018399 28 + 2798 6151.9289 -6.7000464 0.00067018399 28 + 2800 6149.1697 -6.2780785 0.00067018399 28 + 2802 6155.9502 -5.311202 0.00067018399 28 + 2804 6024.1889 -4.3462915 0.00067018399 28 + 2806 5814.2296 -4.3268369 0.00067018399 28 + 2808 5642.9582 -5.2793898 0.00067018399 28 + 2810 5489.9528 -5.9051947 0.00067018399 28 + 2812 5640.7395 -5.9161277 0.00067018399 28 + 2814 5867.8345 -5.2937198 0.00067018399 28 + 2816 5795.7842 -4.3726738 0.00067018399 28 + 2818 5772.502 -4.447022 0.00067018399 28 + 2820 5735.8177 -5.000363 0.00067018399 28 + 2822 5710.0201 -5.0628348 0.00067018399 28 + 2824 5803.017 -4.6695765 0.00067018399 28 + 2826 5948.378 -4.2654852 0.00067018399 28 + 2828 5799.0888 -3.9244904 0.00067018399 28 + 2830 5828.3752 -4.5740029 0.00067018399 28 + 2832 5857.1016 -5.2832346 0.00067018399 28 + 2834 5914.1322 -5.5653537 0.00067018399 28 + 2836 5990.9384 -5.6379058 0.00067018399 28 + 2838 6007.5684 -5.6062956 0.00067018399 28 + 2840 5829.1053 -5.3743156 0.00067018399 28 + 2842 5791.7935 -5.6582957 0.00067018399 28 + 2844 5742.0248 -5.7669999 0.00067018399 28 + 2846 5708.8683 -5.3776393 0.00067018399 28 + 2848 5749.821 -4.8787238 0.00067018399 28 + 2850 5657.0082 -4.1285659 0.00067018399 28 + 2852 5432.8302 -3.3817137 0.00067018399 28 + 2854 5533.1251 -3.8163493 0.00067018399 28 + 2856 5482.4779 -4.5210162 0.00067018399 28 + 2858 5591.5068 10078.074 0.00069180283 29 + 2860 5778.3182 2704.4963 0.00069180283 29 + 2862 5847.8595 810.6613 0.00069180283 29 + 2864 5780.7049 201.58307 0.00069180283 29 + 2866 5919.307 -8.6409893 0.00069180283 29 + 2868 5763.9112 -77.4425 0.00069180283 29 + 2870 5733.7145 -93.233219 0.00069180283 29 + 2872 5985.537 -88.415968 0.00069180283 29 + 2874 6080.6283 -74.305612 0.00069180283 29 + 2876 6090.1818 -57.746325 0.00069180283 29 + 2878 6107.0505 -43.215804 0.00069180283 29 + 2880 5885.3318 -31.303514 0.00069180283 29 + 2882 5787.2313 -22.357492 0.00069180283 29 + 2884 5814.9848 -15.721607 0.00069180283 29 + 2886 5761.2585 -10.771597 0.00069180283 29 + 2888 5766.2082 -8.1764598 0.00069180283 29 + 2890 5873.2138 -7.9116826 0.00069180283 29 + 2892 5706.8186 -8.5071977 0.00069180283 29 + 2894 5700.4979 -9.633124 0.00069180283 29 + 2896 5775.3092 -10.201491 0.00069180283 29 + 2898 5735.4239 -9.8614201 0.00069180283 29 + 2900 5772.5573 -9.685071 0.00069180283 29 + 2902 5709.1096 -9.5318564 0.00069180283 29 + 2904 5551.0836 -8.8045992 0.00069180283 29 + 2906 5649.2227 -7.7078543 0.00069180283 29 + 2908 5767.7144 -5.9888551 0.00069180283 29 + 2910 5685.6769 -3.9843168 0.00069180283 29 + 2912 5750.8035 -3.4358816 0.00069180283 29 + 2914 5685.1406 -4.1156501 0.00069180283 29 + 2916 5505.4975 -5.403883 0.00069180283 29 + 2918 5490.2947 -6.8502363 0.00069180283 29 + 2920 5536.8914 -7.5189219 0.00069180283 29 + 2922 5496.4424 -7.3732427 0.00069180283 29 + 2924 5642.5452 -7.7426445 0.00069180283 29 + 2926 5754.7018 -8.3314405 0.00069180283 29 + 2928 5759.3596 -8.5512801 0.00069180283 29 + 2930 5792.0267 -8.099821 0.00069180283 29 + 2932 5801.987 -6.4894218 0.00069180283 29 + 2934 5746.5527 -4.3364038 0.00069180283 29 + 2936 5743.5356 -2.9292564 0.00069180283 29 + 2938 5685.0191 -2.4294109 0.00069180283 29 + 2940 5730.6318 -2.860644 0.00069180283 29 + 2942 5731.5701 -3.2060076 0.00069180283 29 + 2944 5712.3417 -3.0747772 0.00069180283 29 + 2946 5665.4763 -3.0937864 0.00069180283 29 + 2948 5596.5544 -4.1080737 0.00069180283 29 + 2950 5542.4037 -6.0051076 0.00069180283 29 + 2952 5465.4003 -7.5490741 0.00069180283 29 + 2954 5583.7596 -8.0210846 0.00069180283 29 + 2956 5701.9248 -6.8321071 0.00069180283 29 + 2958 5821.9578 -5.0270435 0.00069180283 29 + 2960 5850.2436 514.0434 0.00071342167 30 + 2962 5791.4468 -87.030472 0.00071342167 30 + 2964 5717.9478 -211.55977 0.00071342167 30 + 2966 5807.1386 -219.55844 0.00071342167 30 + 2968 5866.1488 -195.46533 0.00071342167 30 + 2970 5932.636 -164.42409 0.00071342167 30 + 2972 5942.7119 -134.62158 0.00071342167 30 + 2974 5979.5468 -108.05836 0.00071342167 30 + 2976 6025.3658 -85.448875 0.00071342167 30 + 2978 6110.1521 -66.41261 0.00071342167 30 + 2980 5998.4298 -49.910358 0.00071342167 30 + 2982 5918.6623 -36.60286 0.00071342167 30 + 2984 5925.5844 -27.063497 0.00071342167 30 + 2986 5942.9082 -20.683476 0.00071342167 30 + 2988 5933.1561 -16.149401 0.00071342167 30 + 2990 5929.1714 -12.435952 0.00071342167 30 + 2992 5804.6884 -9.1026254 0.00071342167 30 + 2994 5807.1997 -7.4074003 0.00071342167 30 + 2996 5985.8022 -8.0762634 0.00071342167 30 + 2998 6074.3192 -9.8687069 0.00071342167 30 + 3000 6057.21 -11.174731 0.00071342167 30 + 3002 6075.007 -11.18421 0.00071342167 30 + 3004 5987.3479 -9.9453679 0.00071342167 30 + 3006 5938.4103 -9.0724861 0.00071342167 30 + 3008 5965.8705 -9.4340001 0.00071342167 30 + 3010 5831.196 -9.6673274 0.00071342167 30 + 3012 5870.4376 -8.9025524 0.00071342167 30 + 3014 6016.8784 -6.7616353 0.00071342167 30 + 3016 6010.2107 -3.9697169 0.00071342167 30 + 3018 5901.2968 -2.2568406 0.00071342167 30 + 3020 5891.3535 -2.4619728 0.00071342167 30 + 3022 5730.7697 -2.976375 0.00071342167 30 + 3024 5791.9086 -3.3552926 0.00071342167 30 + 3026 5971.9658 -3.4478784 0.00071342167 30 + 3028 5936.4761 -3.3852394 0.00071342167 30 + 3030 5879.7002 -4.2155063 0.00071342167 30 + 3032 5987.2131 -5.9104065 0.00071342167 30 + 3034 5909.6393 -6.7430419 0.00071342167 30 + 3036 5930.3171 -6.9249843 0.00071342167 30 + 3038 6002.1527 -6.6931199 0.00071342167 30 + 3040 5861.3782 -6.0527004 0.00071342167 30 + 3042 5943.0923 -6.1447396 0.00071342167 30 + 3044 6092.86 -6.4979286 0.00071342167 30 + 3046 6112.986 -6.1871845 0.00071342167 30 + 3048 6270.5634 -5.9882772 0.00071342167 30 + 3050 6246.169 -5.7206045 0.00071342167 30 + 3052 5932.2093 -5.3402899 0.00071342167 30 + 3054 5962.298 -5.8792443 0.00071342167 30 + 3056 5945.843 -6.3127283 0.00071342167 30 + 3058 5850.2141 -6.2687421 0.00071342167 30 + 3060 6099.1919 -6.4263983 0.00071342167 30 + 3062 6152.4698 -469.77342 0.00073504051 31 + 3064 6138.1145 -392.89964 0.00073504051 31 + 3066 6382.1353 -325.82599 0.00073504051 31 + 3068 6368.2319 -267.16804 0.00073504051 31 + 3070 6125.653 -216.23268 0.00073504051 31 + 3072 6199.1075 -173.3993 0.00073504051 31 + 3074 6096.9277 -137.0472 0.00073504051 31 + 3076 6128.4594 -107.02373 0.00073504051 31 + 3078 6410.6432 -83.027038 0.00073504051 31 + 3080 6322.4331 -63.707564 0.00073504051 31 + 3082 6315.6655 -49.044238 0.00073504051 31 + 3084 6384.5813 -37.987635 0.00073504051 31 + 3086 6188.1184 -29.028204 0.00073504051 31 + 3088 6164.6018 -22.005531 0.00073504051 31 + 3090 6302.5303 -16.935448 0.00073504051 31 + 3092 6102.2188 -12.750503 0.00073504051 31 + 3094 6294.5805 -10.162155 0.00073504051 31 + 3096 6324.6812 -7.9212694 0.00073504051 31 + 3098 6098.5679 -5.6224283 0.00073504051 31 + 3100 6170.6064 -3.8113122 0.00073504051 31 + 3102 6268.1523 -2.7517092 0.00073504051 31 + 3104 6042.0518 -1.8996674 0.00073504051 31 + 3106 6371.1553 -2.4739165 0.00073504051 31 + 3108 6353.1109 -2.7139113 0.00073504051 31 + 3110 6155.2247 -2.7357849 0.00073504051 31 + 3112 6265.3662 -3.223482 0.00073504051 31 + 3114 6241.3622 -4.0149702 0.00073504051 31 + 3116 6026.8144 -4.4794651 0.00073504051 31 + 3118 6336.8211 -5.1949313 0.00073504051 31 + 3120 6304.3565 -4.630181 0.00073504051 31 + 3122 6259.2538 -3.5862159 0.00073504051 31 + 3124 6498.2926 -2.9770889 0.00073504051 31 + 3126 6389.8215 -2.3360455 0.00073504051 31 + 3128 6281.7573 -2.0155584 0.00073504051 31 + 3130 6448.7884 -2.2898794 0.00073504051 31 + 3132 6286.5504 -2.1732695 0.00073504051 31 + 3134 6241.8976 -2.4301197 0.00073504051 31 + 3136 6426.9385 -3.514538 0.00073504051 31 + 3138 6176.719 -4.2352839 0.00073504051 31 + 3140 6251.0935 -5.3401436 0.00073504051 31 + 3142 6316.957 -6.0235141 0.00073504051 31 + 3144 6189.9851 -6.0207255 0.00073504051 31 + 3146 6304.8428 -6.0123423 0.00073504051 31 + 3148 6464.3347 -6.159424 0.00073504051 31 + 3150 6195.2089 -5.5140135 0.00073504051 31 + 3152 6380.3579 -5.2160781 0.00073504051 31 + 3154 6286.0613 -4.0278311 0.00073504051 31 + 3156 6080.0756 -2.6145134 0.00073504051 31 + 3158 6229.7127 -1.7227016 0.00073504051 31 + 3160 6303.2142 -1.1585329 0.00073504051 31 + 3162 6097.9077 -0.40806897 0.00073504051 31 + 3164 6509.7871 35236.923 0.00075665935 32 + 3166 6402.4444 6076.3837 0.00075665935 32 + 3168 6291.0264 1275.2998 0.00075665935 32 + 3170 6422.5631 231.70182 0.00075665935 32 + 3172 6389.7334 -33.786499 0.00075665935 32 + 3174 6323.4622 -100.70042 0.00075665935 32 + 3176 6579.8399 -110.06184 0.00075665935 32 + 3178 6482.025 -101.23926 0.00075665935 32 + 3180 6354.3385 -87.243105 0.00075665935 32 + 3182 6402.2719 -71.176204 0.00075665935 32 + 3184 6315.0298 -55.051626 0.00075665935 32 + 3186 6256.0044 -41.274131 0.00075665935 32 + 3188 6342.2232 -30.653402 0.00075665935 32 + 3190 6176.3232 -22.162573 0.00075665935 32 + 3192 6156.7096 -15.538984 0.00075665935 32 + 3194 6302.0206 -10.587747 0.00075665935 32 + 3196 6205.4986 -6.8045291 0.00075665935 32 + 3198 6312.1306 -4.947539 0.00075665935 32 + 3200 6312.9731 -4.2530917 0.00075665935 32 + 3202 6038.6207 -3.7178528 0.00075665935 32 + 3204 6055.3397 -3.3618748 0.00075665935 32 + 3206 6283.1474 -3.438067 0.00075665935 32 + 3208 6190.4768 -3.1737727 0.00075665935 32 + 3210 6431.8312 -3.8344056 0.00075665935 32 + 3212 6411.5893 -4.2280478 0.00075665935 32 + 3214 6184.72 -4.0889917 0.00075665935 32 + 3216 6328.1742 -3.8717794 0.00075665935 32 + 3218 6402.1577 -3.3815252 0.00075665935 32 + 3220 6248.9869 -2.9083862 0.00075665935 32 + 3222 6521.7487 -3.8083129 0.00075665935 32 + 3224 6338.8258 -4.1522715 0.00075665935 32 + 3226 6178.6003 -4.2444983 0.00075665935 32 + 3228 6316.7654 -4.3133222 0.00075665935 32 + 3230 6217.4769 -4.4356963 0.00075665935 32 + 3232 6082.2102 -5.2888398 0.00075665935 32 + 3234 6271.7197 -7.0741328 0.00075665935 32 + 3236 6030.2999 -7.6159982 0.00075665935 32 + 3238 6076.717 -7.6279168 0.00075665935 32 + 3240 6239.0369 -6.9809946 0.00075665935 32 + 3242 6081.9908 -5.6356755 0.00075665935 32 + 3244 6397.3549 -5.4767191 0.00075665935 32 + 3246 6391.5018 -4.8901571 0.00075665935 32 + 3248 6275.561 -3.9301212 0.00075665935 32 + 3250 6365.2589 -2.7691702 0.00075665935 32 + 3252 6363.4406 -1.8499798 0.00075665935 32 + 3254 6177.4881 -1.631069 0.00075665935 32 + 3256 6319.7457 -2.8533645 0.00075665935 32 + 3258 6210.2001 -3.565745 0.00075665935 32 + 3260 6223.1972 -4.0917774 0.00075665935 32 + 3262 6324.2234 -4.2876482 0.00075665935 32 + 3264 6353.9581 -4.3957045 0.00075665935 32 + 3266 6484.7785 1139.5061 0.00077827819 33 + 3268 6591.5394 150.3286 0.00077827819 33 + 3270 6422.9819 -88.927965 0.00077827819 33 + 3272 6387.931 -142.38475 0.00077827819 33 + 3274 6394.1651 -142.49048 0.00077827819 33 + 3276 6352.7155 -127.55273 0.00077827819 33 + 3278 6403.539 -108.8353 0.00077827819 33 + 3280 6393.4741 -89.499587 0.00077827819 33 + 3282 6282.7972 -71.488763 0.00077827819 33 + 3284 6349.6981 -55.896289 0.00077827819 33 + 3286 6434.6705 -42.606864 0.00077827819 33 + 3288 6435.399 -31.952274 0.00077827819 33 + 3290 6438.7909 -24.148345 0.00077827819 33 + 3292 6205.3476 -17.752391 0.00077827819 33 + 3294 6069.7068 -12.516722 0.00077827819 33 + 3296 6265.5342 -8.9778982 0.00077827819 33 + 3298 6382.8635 -6.8502135 0.00077827819 33 + 3300 6357.0508 -5.8052134 0.00077827819 33 + 3302 6481.8683 -5.3418399 0.00077827819 33 + 3304 6320.7328 -3.8622996 0.00077827819 33 + 3306 6322.1166 -2.6682336 0.00077827819 33 + 3308 6514.0727 -2.880462 0.00077827819 33 + 3310 6438.7949 -3.8926256 0.00077827819 33 + 3312 6314.8748 -5.3891805 0.00077827819 33 + 3314 6439.1744 -6.7858704 0.00077827819 33 + 3316 6310.702 -6.755861 0.00077827819 33 + 3318 6395.3688 -7.1208775 0.00077827819 33 + 3320 6523.6992 -8.4265267 0.00077827819 33 + 3322 6334.2553 -9.3987165 0.00077827819 33 + 3324 6345.921 -9.8081715 0.00077827819 33 + 3326 6585.4037 -9.033444 0.00077827819 33 + 3328 6505.3649 -6.7650414 0.00077827819 33 + 3330 6599.1299 -5.5594702 0.00077827819 33 + 3332 6615.2327 -5.4534514 0.00077827819 33 + 3334 6413.9707 -5.2673827 0.00077827819 33 + 3336 6488.773 -4.9346621 0.00077827819 33 + 3338 6592.7128 -3.6838699 0.00077827819 33 + 3340 6492.4529 -2.1093347 0.00077827819 33 + 3342 6624.563 -2.208136 0.00077827819 33 + 3344 6595.2112 -3.0547244 0.00077827819 33 + 3346 6513.9623 -3.6757854 0.00077827819 33 + 3348 6631.5348 -3.7916143 0.00077827819 33 + 3350 6663.5679 -3.0336076 0.00077827819 33 + 3352 6513.9482 -2.3269496 0.00077827819 33 + 3354 6549.0352 -2.9935432 0.00077827819 33 + 3356 6429.0841 -3.9157473 0.00077827819 33 + 3358 6363.8056 -4.4557955 0.00077827819 33 + 3360 6509.4572 -4.426532 0.00077827819 33 + 3362 6573.0489 -3.6842259 0.00077827819 33 + 3364 6522.1123 -3.1179071 0.00077827819 33 + 3366 6706.7798 -3.7056923 0.00077827819 33 + 3368 6859.6857 -433.18889 0.00079989702 34 + 3370 6859.7025 -369.51502 0.00079989702 34 + 3372 7012.9969 -308.73226 0.00079989702 34 + 3374 6898.5562 -253.60146 0.00079989702 34 + 3376 6852.0227 -206.09454 0.00079989702 34 + 3378 6965.6606 -166.26858 0.00079989702 34 + 3380 6883.0721 -132.48286 0.00079989702 34 + 3382 6911.0291 -104.35448 0.00079989702 34 + 3384 7008.4472 -81.127601 0.00079989702 34 + 3386 6871.931 -61.846733 0.00079989702 34 + 3388 6871.6047 -47.074931 0.00079989702 34 + 3390 6872.1258 -35.836117 0.00079989702 34 + 3392 6740.5032 -26.817094 0.00079989702 34 + 3394 6894.8127 -20.164908 0.00079989702 34 + 3396 6945.3615 -14.885111 0.00079989702 34 + 3398 6896.0199 -10.94641 0.00079989702 34 + 3400 6953.316 -8.6422769 0.00079989702 34 + 3402 6942.7839 -7.1884937 0.00079989702 34 + 3404 6872.2911 -6.2325165 0.00079989702 34 + 3406 7008.7697 -6.0248121 0.00079989702 34 + 3408 7028.2392 -5.8133809 0.00079989702 34 + 3410 6954.5587 -5.6856438 0.00079989702 34 + 3412 6934.5764 -5.7987843 0.00079989702 34 + 3414 6788.7386 -5.6593721 0.00079989702 34 + 3416 6781.9026 -5.7768409 0.00079989702 34 + 3418 6861.9043 -5.7789891 0.00079989702 34 + 3420 6845.9974 -5.0411587 0.00079989702 34 + 3422 6896.1167 -4.0372309 0.00079989702 34 + 3424 6855.2377 -2.7801991 0.00079989702 34 + 3426 6705.7216 -1.5853383 0.00079989702 34 + 3428 6727.5449 -1.1111259 0.00079989702 34 + 3430 6822.2667 -1.00108 0.00079989702 34 + 3432 6935.0567 -0.27612483 0.00079989702 34 + 3434 6923.2061 -0.47313452 0.00079989702 34 + 3436 6854.0542 -0.8377992 0.00079989702 34 + 3438 6731.8239 -1.243754 0.00079989702 34 + 3440 6817.9269 -2.0603514 0.00079989702 34 + 3442 6898.4335 -2.6756882 0.00079989702 34 + 3444 6831.1212 -2.7219231 0.00079989702 34 + 3446 6890.7713 -2.6760669 0.00079989702 34 + 3448 6937.7791 -2.4288558 0.00079989702 34 + 3450 6880.2929 -1.9500275 0.00079989702 34 + 3452 6881.6872 -1.667428 0.00079989702 34 + 3454 6768.3494 -1.270681 0.00079989702 34 + 3456 6633.0003 -0.84059394 0.00079989702 34 + 3458 6688.0004 -0.93630092 0.00079989702 34 + 3460 6758.4364 -1.250022 0.00079989702 34 + 3462 6737.351 -1.4418301 0.00079989702 34 + 3464 6924.4994 -1.9680493 0.00079989702 34 + 3466 6965.9264 -2.2343956 0.00079989702 34 + 3468 7099.7771 -2.8338515 0.00079989702 34 + 3470 7365.5406 9210.1322 0.00082151586 35 + 3472 7273.0429 2265.973 0.00082151586 35 + 3474 7086.0007 566.35094 0.00082151586 35 + 3476 7137.9528 75.998379 0.00082151586 35 + 3478 7089.2272 -70.861558 0.00082151586 35 + 3480 7260.9834 -107.43399 0.00082151586 35 + 3482 7298.6582 -106.15764 0.00082151586 35 + 3484 7248.2244 -92.031973 0.00082151586 35 + 3486 7341.0817 -74.371435 0.00082151586 35 + 3488 7439.8508 -57.018026 0.00082151586 35 + 3490 7468.7913 -42.32339 0.00082151586 35 + 3492 7596.887 -31.61683 0.00082151586 35 + 3494 7454.6265 -23.698021 0.00082151586 35 + 3496 7367.0542 -18.074974 0.00082151586 35 + 3498 7443.1139 -14.090777 0.00082151586 35 + 3500 7335.5354 -10.625037 0.00082151586 35 + 3502 7451.7732 -8.6309423 0.00082151586 35 + 3504 7597.9116 -7.7306589 0.00082151586 35 + 3506 7573.996 -6.8833773 0.00082151586 35 + 3508 7685.4891 -6.0764087 0.00082151586 35 + 3510 7704.8387 -4.5814412 0.00082151586 35 + 3512 7453.1923 -2.5302848 0.00082151586 35 + 3514 7480.9293 -1.9603627 0.00082151586 35 + 3516 7414.9212 -2.1424094 0.00082151586 35 + 3518 7341.5999 -2.5941909 0.00082151586 35 + 3520 7502.5881 -3.6003011 0.00082151586 35 + 3522 7410.8775 -4.1379583 0.00082151586 35 + 3524 7195.6431 -4.6876596 0.00082151586 35 + 3526 7282.2831 -6.1200036 0.00082151586 35 + 3528 7156.6473 -6.9781135 0.00082151586 35 + 3530 7117.1928 -7.4998668 0.00082151586 35 + 3532 7315.0548 -7.8113618 0.00082151586 35 + 3534 7245.5705 -6.9777959 0.00082151586 35 + 3536 7243.4926 -6.0865134 0.00082151586 35 + 3538 7418.9789 -5.5194598 0.00082151586 35 + 3540 7297.0501 -4.3056252 0.00082151586 35 + 3542 7276.2132 -3.3854613 0.00082151586 35 + 3544 7352.3988 -2.7943749 0.00082151586 35 + 3546 7289.0909 -2.199869 0.00082151586 35 + 3548 7348.4041 -2.4257071 0.00082151586 35 + 3550 7338.4642 -2.9646835 0.00082151586 35 + 3552 7111.5609 -3.3293719 0.00082151586 35 + 3554 7073.1037 -4.059656 0.00082151586 35 + 3556 7029.0805 -4.3380638 0.00082151586 35 + 3558 7049.1616 -4.2221378 0.00082151586 35 + 3560 7189.4962 -4.1519351 0.00082151586 35 + 3562 7224.8993 -3.8373721 0.00082151586 35 + 3564 7132.671 -3.3841721 0.00082151586 35 + 3566 7191.0892 -3.2422869 0.00082151586 35 + 3568 7214.2291 -2.9159835 0.00082151586 35 + 3570 7253.3367 -2.5775948 0.00082151586 35 + 3572 7422.1579 43074.394 0.0008431347 36 + 3574 7378.0474 8279.5877 0.0008431347 36 + 3576 7279.831 2167.3382 0.0008431347 36 + 3578 7269.3502 633.99813 0.0008431347 36 + 3580 7264.9988 160.90688 0.0008431347 36 + 3582 7250.7559 1.1553943 0.0008431347 36 + 3584 7380.4554 -51.677913 0.0008431347 36 + 3586 7443.8646 -64.740979 0.0008431347 36 + 3588 7461.3387 -61.434866 0.0008431347 36 + 3590 7463.1549 -51.391928 0.0008431347 36 + 3592 7438.5534 -40.338897 0.0008431347 36 + 3594 7264.5781 -30.256086 0.0008431347 36 + 3596 7268.5202 -22.701462 0.0008431347 36 + 3598 7228.5195 -17.294873 0.0008431347 36 + 3600 7201.8062 -13.540261 0.0008431347 36 + 3602 7234.3242 -10.89935 0.0008431347 36 + 3604 7328.7227 -8.9972732 0.0008431347 36 + 3606 7290.0009 -7.4798193 0.0008431347 36 + 3608 7375.1277 -6.7468124 0.0008431347 36 + 3610 7313.1876 -6.0057689 0.0008431347 36 + 3612 7239.5111 -5.1923879 0.0008431347 36 + 3614 7245.7747 -4.3290738 0.0008431347 36 + 3616 7162.401 -3.182203 0.0008431347 36 + 3618 7130.5735 -2.4047591 0.0008431347 36 + 3620 7200.5806 -2.2021632 0.0008431347 36 + 3622 7109.954 -1.9401061 0.0008431347 36 + 3624 7116.0037 -2.1037412 0.0008431347 36 + 3626 7124.5548 -2.2865291 0.0008431347 36 + 3628 7033.0853 -2.2136953 0.0008431347 36 + 3630 7166.5106 -2.7188784 0.0008431347 36 + 3632 7205.6089 -3.1107288 0.0008431347 36 + 3634 7185.4052 -3.3126113 0.0008431347 36 + 3636 7339.2042 -3.7109133 0.0008431347 36 + 3638 7398.2179 -3.6524166 0.0008431347 36 + 3640 7356.9677 -3.3251406 0.0008431347 36 + 3642 7529.0674 -3.4300078 0.0008431347 36 + 3644 7404.9583 -2.8694299 0.0008431347 36 + 3646 7348.5031 -2.3365499 0.0008431347 36 + 3648 7439.5143 -2.0443097 0.0008431347 36 + 3650 7440.5345 -1.6728452 0.0008431347 36 + 3652 7426.9027 -1.6757731 0.0008431347 36 + 3654 7522.6362 -2.1376657 0.0008431347 36 + 3656 7402.4178 -2.4042873 0.0008431347 36 + 3658 7473.021 -3.2318852 0.0008431347 36 + 3660 7491.4296 -4.0566916 0.0008431347 36 + 3662 7448.9995 -4.768084 0.0008431347 36 + 3664 7377.9046 -5.2847911 0.0008431347 36 + 3666 7342.4374 -5.4793032 0.0008431347 36 + 3668 7252.6825 -5.4373863 0.0008431347 36 + 3670 7238.4134 -5.5431568 0.0008431347 36 + 3672 7227.1751 -5.383502 0.0008431347 36 + 3674 7339.3464 -444.62651 0.00086475354 37 + 3676 7342.3871 -378.49228 0.00086475354 37 + 3678 7367.2893 -316.96486 0.00086475354 37 + 3680 7385.1613 -262.40999 0.00086475354 37 + 3682 7323.136 -214.96105 0.00086475354 37 + 3684 7312.9794 -174.149 0.00086475354 37 + 3686 7366.9363 -139.09374 0.00086475354 37 + 3688 7348.4045 -108.93631 0.00086475354 37 + 3690 7376.8893 -84.030482 0.00086475354 37 + 3692 7308.8919 -63.962982 0.00086475354 37 + 3694 7148.8845 -47.766908 0.00086475354 37 + 3696 7118.7058 -34.653456 0.00086475354 37 + 3698 7150.8129 -23.670021 0.00086475354 37 + 3700 7090.1607 -14.719907 0.00086475354 37 + 3702 7165.2257 -8.8656193 0.00086475354 37 + 3704 7088.6694 -5.4452493 0.00086475354 37 + 3706 7021.5798 -3.6315448 0.00086475354 37 + 3708 7127.832 -2.6321388 0.00086475354 37 + 3710 7183.775 -1.7609644 0.00086475354 37 + 3712 7181.7139 -1.6523966 0.00086475354 37 + 3714 7166.9311 -2.6896856 0.00086475354 37 + 3716 7029.456 -3.9284468 0.00086475354 37 + 3718 6953.4802 -4.6023443 0.00086475354 37 + 3720 7033.5585 -4.3027235 0.00086475354 37 + 3722 7023.3101 -3.1205417 0.00086475354 37 + 3724 7023.2748 -2.4353997 0.00086475354 37 + 3726 7003.9572 -2.6314119 0.00086475354 37 + 3728 6994.5976 -3.0750204 0.00086475354 37 + 3730 7057.2702 -3.1048664 0.00086475354 37 + 3732 7177.6239 -2.6145191 0.00086475354 37 + 3734 7158.9201 -2.1302356 0.00086475354 37 + 3736 7152.2976 -2.7650935 0.00086475354 37 + 3738 7138.2264 -4.2089475 0.00086475354 37 + 3740 7144.453 -5.5847115 0.00086475354 37 + 3742 7177.4185 -6.2025365 0.00086475354 37 + 3744 7134.3089 -5.8970079 0.00086475354 37 + 3746 7080.6305 -5.5615302 0.00086475354 37 + 3748 6971.7503 -5.5907106 0.00086475354 37 + 3750 6926.1213 -5.7478665 0.00086475354 37 + 3752 6916.3174 -5.4216883 0.00086475354 37 + 3754 6986.811 -4.4163936 0.00086475354 37 + 3756 6967.5511 -2.9334231 0.00086475354 37 + 3758 7079.0049 -2.2206462 0.00086475354 37 + 3760 7028.033 -1.9696874 0.00086475354 37 + 3762 7042.3512 -2.0623792 0.00086475354 37 + 3764 7085.936 -2.0180576 0.00086475354 37 + 3766 7101.6389 -1.5968782 0.00086475354 37 + 3768 7042.2925 -1.2836046 0.00086475354 37 + 3770 7106.8113 -1.7748565 0.00086475354 37 + 3772 6952.4114 -1.9884305 0.00086475354 37 + 3774 6925.3786 -1.9749027 0.00086475354 37 + 3776 7138.3918 5276.539 0.00088637238 38 + 3778 7110.249 1687.0641 0.00088637238 38 + 3780 7220.9129 396.12882 0.00088637238 38 + 3782 7317.4704 -110.60996 0.00088637238 38 + 3784 7216.3229 -292.66872 0.00088637238 38 + 3786 7217.659 -306.75746 0.00088637238 38 + 3788 7331.8863 -278.97971 0.00088637238 38 + 3790 7288.5986 -244.57168 0.00088637238 38 + 3792 7407.8873 -211.62122 0.00088637238 38 + 3794 7367.6943 -180.51273 0.00088637238 38 + 3796 7232.2854 -149.90398 0.00088637238 38 + 3798 7215.0946 -121.12567 0.00088637238 38 + 3800 7199.5237 -95.896547 0.00088637238 38 + 3802 7229.5017 -75.181272 0.00088637238 38 + 3804 7299.2333 -58.39765 0.00088637238 38 + 3806 7191.2083 -43.961776 0.00088637238 38 + 3808 7143.0592 -31.811824 0.00088637238 38 + 3810 7136.1876 -21.958897 0.00088637238 38 + 3812 7091.5124 -14.646144 0.00088637238 38 + 3814 7204.8466 -9.7752902 0.00088637238 38 + 3816 7227.2283 -6.2782461 0.00088637238 38 + 3818 7268.1234 -3.6182236 0.00088637238 38 + 3820 7370.7177 -2.0363997 0.00088637238 38 + 3822 7362.6296 -1.60587 0.00088637238 38 + 3824 7365.1036 -2.4369776 0.00088637238 38 + 3826 7353.2586 -3.9724174 0.00088637238 38 + 3828 7248.7903 -4.6854279 0.00088637238 38 + 3830 7278.6157 -4.7125989 0.00088637238 38 + 3832 7335.0594 -4.4826615 0.00088637238 38 + 3834 7292.9911 -4.3660502 0.00088637238 38 + 3836 7267.3945 -4.5573359 0.00088637238 38 + 3838 7186.3644 -4.2341925 0.00088637238 38 + 3840 7068.3385 -3.0069118 0.00088637238 38 + 3842 7066.8395 -1.6546869 0.00088637238 38 + 3844 7127.2364 -0.83493787 0.00088637238 38 + 3846 7112.7247 -0.58872056 0.00088637238 38 + 3848 7163.2446 -0.80886443 0.00088637238 38 + 3850 7136.9898 -0.72611361 0.00088637238 38 + 3852 7084.3883 -0.47113622 0.00088637238 38 + 3854 7107.4472 -0.8274916 0.00088637238 38 + 3856 7175.6085 -1.9463428 0.00088637238 38 + 3858 7166.6358 -3.1142427 0.00088637238 38 + 3860 7238.0595 -3.9150194 0.00088637238 38 + 3862 7241.1638 -3.7888633 0.00088637238 38 + 3864 7203.462 -3.1539823 0.00088637238 38 + 3866 7276.1411 -2.8907679 0.00088637238 38 + 3868 7314.6503 -2.7216762 0.00088637238 38 + 3870 7357.8217 -2.3441003 0.00088637238 38 + 3872 7476.7449 -1.743847 0.00088637238 38 + 3874 7453.5377 -0.8865654 0.00088637238 38 + 3876 7541.0645 -0.85326603 0.00088637238 38 + 3878 7697.8992 -502.96083 0.00090799122 39 + 3880 7648.7759 -424.34802 0.00090799122 39 + 3882 7629.8029 -355.35477 0.00090799122 39 + 3884 7676.031 -294.69867 0.00090799122 39 + 3886 7599.0776 -241.6914 0.00090799122 39 + 3888 7672.1562 -196.8112 0.00090799122 39 + 3890 7699.5669 -158.9016 0.00090799122 39 + 3892 7646.208 -126.34403 0.00090799122 39 + 3894 7629.5875 -98.251732 0.00090799122 39 + 3896 7590.7353 -74.188126 0.00090799122 39 + 3898 7519.1257 -54.553068 0.00090799122 39 + 3900 7608.1554 -39.790118 0.00090799122 39 + 3902 7667.6953 -28.68601 0.00090799122 39 + 3904 7685.8185 -20.163893 0.00090799122 39 + 3906 7754.2762 -13.901543 0.00090799122 39 + 3908 7771.8881 -9.942367 0.00090799122 39 + 3910 7859.2959 -8.7287609 0.00090799122 39 + 3912 7898.6568 -9.3927363 0.00090799122 39 + 3914 7858.5761 -10.449787 0.00090799122 39 + 3916 7799.7874 -10.862422 0.00090799122 39 + 3918 7842.0299 -10.580414 0.00090799122 39 + 3920 7846.4299 -10.014798 0.00090799122 39 + 3922 7870.0382 -9.7254013 0.00090799122 39 + 3924 7865.059 -9.3949957 0.00090799122 39 + 3926 7787.633 -8.3643901 0.00090799122 39 + 3928 7732.8853 -6.7927276 0.00090799122 39 + 3930 7791.7591 -5.6579163 0.00090799122 39 + 3932 7808.1907 -5.5439784 0.00090799122 39 + 3934 7847.0494 -6.5440311 0.00090799122 39 + 3936 7883.0673 -8.0426368 0.00090799122 39 + 3938 7864.1018 -9.1963852 0.00090799122 39 + 3940 7897.9239 -10.022789 0.00090799122 39 + 3942 7940.8549 -10.887125 0.00090799122 39 + 3944 7792.452 -11.701679 0.00090799122 39 + 3946 7771.2294 -12.614123 0.00090799122 39 + 3948 7684.4247 -12.303858 0.00090799122 39 + 3950 7657.6047 -10.463108 0.00090799122 39 + 3952 7774.6897 -7.9729519 0.00090799122 39 + 3954 7850.7533 -5.549378 0.00090799122 39 + 3956 7790.2701 -3.7348284 0.00090799122 39 + 3958 7890.6457 -3.0044525 0.00090799122 39 + 3960 7845.095 -2.2506932 0.00090799122 39 + 3962 7872.9801 -1.8809309 0.00090799122 39 + 3964 7914.1315 -2.3104241 0.00090799122 39 + 3966 7773.0926 -3.3811901 0.00090799122 39 + 3968 7747.1728 -5.4434148 0.00090799122 39 + 3970 7762.7159 -7.5342013 0.00090799122 39 + 3972 7693.609 -8.5265487 0.00090799122 39 + 3974 7768.811 -8.874305 0.00090799122 39 + 3976 7818.1708 -8.669013 0.00090799122 39 + 3978 7668.0437 -7.9390202 0.00090799122 39 + 3980 7907.5475 -521.4989 0.00092961006 40 + 3982 7901.2861 -438.49415 0.00092961006 40 + 3984 7912.7266 -365.08545 0.00092961006 40 + 3986 7952.4066 -300.82812 0.00092961006 40 + 3988 7790.094 -245.02042 0.00092961006 40 + 3990 7638.9972 -197.81802 0.00092961006 40 + 3992 7710.1676 -158.64673 0.00092961006 40 + 3994 7660.7605 -125.41186 0.00092961006 40 + 3996 7786.1818 -97.877548 0.00092961006 40 + 3998 7843.3548 -75.313834 0.00092961006 40 + 4000 7664.6576 -57.202999 0.00092961006 40 + 4002 7724.4255 -43.857478 0.00092961006 40 + 4004 7797.9069 -33.453599 0.00092961006 40 + 4006 7786.0759 -24.6743 0.00092961006 40 + 4008 7918.4492 -17.828108 0.00092961006 40 + 4010 7905.0845 -12.630032 0.00092961006 40 + 4012 7754.5678 -9.3419463 0.00092961006 40 + 4014 7823.6592 -8.0002651 0.00092961006 40 + 4016 7809.0945 -7.0481495 0.00092961006 40 + 4018 7823.9309 -6.3498162 0.00092961006 40 + 4020 7962.0556 -6.1173176 0.00092961006 40 + 4022 7873.0001 -6.1023523 0.00092961006 40 + 4024 7819.7799 -7.0153894 0.00092961006 40 + 4026 7852.0238 -8.3378683 0.00092961006 40 + 4028 7797.6458 -8.6622183 0.00092961006 40 + 4030 7767.892 -8.0643743 0.00092961006 40 + 4032 7833.0295 -7.3906575 0.00092961006 40 + 4034 7741.8785 -6.945246 0.00092961006 40 + 4036 7741.4775 -7.0038025 0.00092961006 40 + 4038 7774.2275 -6.5629865 0.00092961006 40 + 4040 7746.0392 -4.9652013 0.00092961006 40 + 4042 7754.6703 -3.025234 0.00092961006 40 + 4044 7747.5827 -1.8799389 0.00092961006 40 + 4046 7609.1583 -1.8461253 0.00092961006 40 + 4048 7523.121 -2.5237592 0.00092961006 40 + 4050 7587.8748 -2.81297 0.00092961006 40 + 4052 7585.1351 -2.0344331 0.00092961006 40 + 4054 7783.5525 -1.6383303 0.00092961006 40 + 4056 7873.1758 -2.1091858 0.00092961006 40 + 4058 7836.9551 -3.4736029 0.00092961006 40 + 4060 7771.8648 -4.6327159 0.00092961006 40 + 4062 7745.3428 -4.3264123 0.00092961006 40 + 4064 7684.791 -2.6463797 0.00092961006 40 + 4066 7793.7564 -1.510762 0.00092961006 40 + 4068 7804.0352 -1.709252 0.00092961006 40 + 4070 7788.7767 -3.0200972 0.00092961006 40 + 4072 7760.8316 -3.8847699 0.00092961006 40 + 4074 7708.6591 -3.280568 0.00092961006 40 + 4076 7658.5731 -2.300304 0.00092961006 40 + 4078 7707.8198 -2.7854801 0.00092961006 40 + 4080 7729.9763 -4.8018491 0.00092961006 40 + 4082 7902.4434 -157.06846 0.00095122889 41 + 4084 7963.9885 -265.74961 0.00095122889 41 + 4086 7914.6068 -273.87897 0.00095122889 41 + 4088 7883.2043 -248.21879 0.00095122889 41 + 4090 7798.741 -213.85753 0.00095122889 41 + 4092 7697.673 -179.8176 0.00095122889 41 + 4094 7682.6156 -147.94705 0.00095122889 41 + 4096 7755.5883 -117.79122 0.00095122889 41 + 4098 7769.1235 -90.037461 0.00095122889 41 + 4100 7877.2039 -67.421656 0.00095122889 41 + 4102 7861.6436 -50.915002 0.00095122889 41 + 4104 7835.5421 -39.405831 0.00095122889 41 + 4106 7862.2339 -30.336739 0.00095122889 41 + 4108 7909.2147 -22.182301 0.00095122889 41 + 4110 7883.4125 -16.026159 0.00095122889 41 + 4112 7989.2857 -13.38701 0.00095122889 41 + 4114 7830.6378 -13.322647 0.00095122889 41 + 4116 7769.5086 -13.526071 0.00095122889 41 + 4118 7825.5764 -12.141454 0.00095122889 41 + 4120 7841.5613 -9.0273754 0.00095122889 41 + 4122 7927.5749 -6.6185333 0.00095122889 41 + 4124 7965.3063 -6.2844682 0.00095122889 41 + 4126 7796.2181 -6.7996879 0.00095122889 41 + 4128 7734.3802 -6.6388671 0.00095122889 41 + 4130 7758.5914 -4.7554937 0.00095122889 41 + 4132 7682.7878 -2.5050831 0.00095122889 41 + 4134 7824.8011 -2.6610935 0.00095122889 41 + 4136 7755.6681 -4.6815735 0.00095122889 41 + 4138 7660.969 -6.9516019 0.00095122889 41 + 4140 7688.7405 -7.7130554 0.00095122889 41 + 4142 7581.4273 -6.3261565 0.00095122889 41 + 4144 7526.3642 -4.9332058 0.00095122889 41 + 4146 7582.4672 -5.0590224 0.00095122889 41 + 4148 7552.4585 -5.6074616 0.00095122889 41 + 4150 7647.6784 -5.2241017 0.00095122889 41 + 4152 7792.9307 -3.0123135 0.00095122889 41 + 4154 7755.9484 0.08787677 0.00095122889 41 + 4156 7923.6998 1.4015904 0.00095122889 41 + 4158 7913.9452 0.402066 0.00095122889 41 + 4160 7816.5845 -1.4091564 0.00095122889 41 + 4162 7797.5379 -2.5730791 0.00095122889 41 + 4164 7767.0704 -2.3411579 0.00095122889 41 + 4166 7775.3551 -2.3498279 0.00095122889 41 + 4168 7833.2488 -3.8539649 0.00095122889 41 + 4170 7864.5177 -6.0886196 0.00095122889 41 + 4172 7933.8629 -7.6786041 0.00095122889 41 + 4174 7968.4774 -7.7282369 0.00095122889 41 + 4176 7978.8883 -6.1422019 0.00095122889 41 + 4178 7932.7975 -4.771645 0.00095122889 41 + 4180 7948.0708 -4.0714699 0.00095122889 41 + 4182 7943.1915 -3.8837665 0.00095122889 41 + 4184 8108.9177 -516.1468 0.00097284773 42 + 4186 8206.3013 -433.68498 0.00097284773 42 + 4188 8217.7025 -361.17364 0.00097284773 42 + 4190 8198.8587 -298.59241 0.00097284773 42 + 4192 8099.2022 -245.14742 0.00097284773 42 + 4194 7979.1079 -199.84977 0.00097284773 42 + 4196 8027.5705 -161.57032 0.00097284773 42 + 4198 8019.9532 -128.81228 0.00097284773 42 + 4200 8042.8235 -101.32318 0.00097284773 42 + 4202 8051.7017 -78.733849 0.00097284773 42 + 4204 8029.8713 -60.5796 0.00097284773 42 + 4206 8019.3048 -46.203864 0.00097284773 42 + 4208 8087.5578 -34.745819 0.00097284773 42 + 4210 8111.1976 -25.552949 0.00097284773 42 + 4212 8118.8629 -18.609752 0.00097284773 42 + 4214 8077.5838 -13.804228 0.00097284773 42 + 4216 8027.3801 -10.905812 0.00097284773 42 + 4218 8000.5759 -9.2810893 0.00097284773 42 + 4220 8037.1325 -8.5888292 0.00097284773 42 + 4222 8067.6335 -8.3374162 0.00097284773 42 + 4224 8038.0059 -8.0719145 0.00097284773 42 + 4226 8018.4883 -7.7890418 0.00097284773 42 + 4228 7956.2369 -7.3379906 0.00097284773 42 + 4230 7932.6107 -6.8064093 0.00097284773 42 + 4232 7944.483 -6.1421048 0.00097284773 42 + 4234 7956.2893 -5.0641406 0.00097284773 42 + 4236 7979.4578 -3.6294807 0.00097284773 42 + 4238 8054.2831 -2.2079124 0.00097284773 42 + 4240 8045.5253 -0.91784072 0.00097284773 42 + 4242 8045.7217 -0.18674195 0.00097284773 42 + 4244 8004.127 0.20356353 0.00097284773 42 + 4246 7940.1172 0.45805105 0.00097284773 42 + 4248 7964.2425 0.36976912 0.00097284773 42 + 4250 7988.7833 -0.029928883 0.00097284773 42 + 4252 7996.9124 -0.89531223 0.00097284773 42 + 4254 8017.1117 -2.1639093 0.00097284773 42 + 4256 7940.2632 -3.0690098 0.00097284773 42 + 4258 7860.6561 -3.3920916 0.00097284773 42 + 4260 7879.9971 -3.2953276 0.00097284773 42 + 4262 7891.806 -2.9424874 0.00097284773 42 + 4264 7992.2304 -2.9380123 0.00097284773 42 + 4266 8026.3982 -2.8724499 0.00097284773 42 + 4268 7972.8388 -2.2516181 0.00097284773 42 + 4270 7973.964 -1.297675 0.00097284773 42 + 4272 7994.0752 -0.39747736 0.00097284773 42 + 4274 7998.7465 -0.11614095 0.00097284773 42 + 4276 8088.8291 -0.8113334 0.00097284773 42 + 4278 8059.6742 -1.5888446 0.00097284773 42 + 4280 8020.6926 -2.050816 0.00097284773 42 + 4282 8028.1365 -2.1996992 0.00097284773 42 + 4284 8052.2891 -2.0985556 0.00097284773 42 + 4286 8278.9938 -509.86421 0.00099446657 43 + 4288 8247.3179 -429.64673 0.00099446657 43 + 4290 8126.1785 -358.97006 0.00099446657 43 + 4292 8173.7712 -296.56464 0.00099446657 43 + 4294 8238.764 -242.102 0.00099446657 43 + 4296 8255.6032 -195.61919 0.00099446657 43 + 4298 8262.4411 -156.7365 0.00099446657 43 + 4300 8302.0004 -124.31989 0.00099446657 43 + 4302 8268.867 -96.949231 0.00099446657 43 + 4304 8306.5281 -74.210979 0.00099446657 43 + 4306 8343.4055 -56.253207 0.00099446657 43 + 4308 8356.4515 -42.854371 0.00099446657 43 + 4310 8299.0659 -32.996689 0.00099446657 43 + 4312 8352.6583 -25.752008 0.00099446657 43 + 4314 8361.5085 -19.985322 0.00099446657 43 + 4316 8571.4568 -15.557804 0.00099446657 43 + 4318 8582.3215 -12.887596 0.00099446657 43 + 4320 8472.6813 -11.558167 0.00099446657 43 + 4322 8474.9823 -10.844405 0.00099446657 43 + 4324 8473.3675 -9.8150724 0.00099446657 43 + 4326 8393.9486 -8.1992451 0.00099446657 43 + 4328 8378.9425 -6.7260885 0.00099446657 43 + 4330 8346.1 -5.564676 0.00099446657 43 + 4332 8235.6896 -4.425222 0.00099446657 43 + 4334 8363.6675 -3.5881597 0.00099446657 43 + 4336 8405.1823 -2.3044991 0.00099446657 43 + 4338 8350.9928 -0.8406972 0.00099446657 43 + 4340 8500.7521 -0.4234826 0.00099446657 43 + 4342 8548.8147 -0.62817151 0.00099446657 43 + 4344 8332.1491 -0.83924293 0.00099446657 43 + 4346 8393.1372 -1.6195255 0.00099446657 43 + 4348 8320.9882 -1.6951836 0.00099446657 43 + 4350 8292.8489 -1.6086181 0.00099446657 43 + 4352 8516.1554 -2.1037774 0.00099446657 43 + 4354 8389.0052 -1.9113063 0.00099446657 43 + 4356 8344.2002 -1.802563 0.00099446657 43 + 4358 8441.592 -1.62227 0.00099446657 43 + 4360 8290.2032 -0.812818 0.00099446657 43 + 4362 8276.3044 -0.54320674 0.00099446657 43 + 4364 8398.8818 -0.50890608 0.00099446657 43 + 4366 8217.6126 0.23032956 0.00099446657 43 + 4368 8277.2966 0.45618773 0.00099446657 43 + 4370 8285.6835 0.64048165 0.00099446657 43 + 4372 8223.9666 0.82233709 0.00099446657 43 + 4374 8368.9826 0.30079286 0.00099446657 43 + 4376 8397.6389 -0.039229341 0.00099446657 43 + 4378 8324.4249 -0.062354972 0.00099446657 43 + 4380 8450.3608 -0.40290024 0.00099446657 43 + 4382 8430.9643 -0.53817058 0.00099446657 43 + 4384 8450.4916 -1.0890976 0.00099446657 43 + 4386 8597.0802 -2.1229363 0.00099446657 43 + 4388 8574.7893 -495.23616 0.0010160854 44 + 4390 8534.2928 -416.45571 0.0010160854 44 + 4392 8515.3825 -347.36621 0.0010160854 44 + 4394 8410.3226 -286.93247 0.0010160854 44 + 4396 8441.4595 -234.96248 0.0010160854 44 + 4398 8494.8924 -190.56091 0.0010160854 44 + 4400 8396.1692 -152.56229 0.0010160854 44 + 4402 8340.2064 -120.49381 0.0010160854 44 + 4404 8262.4814 -93.513076 0.0010160854 44 + 4406 8260.9108 -71.399624 0.0010160854 44 + 4408 8503.2679 -54.196816 0.0010160854 44 + 4410 8612.8867 -40.648655 0.0010160854 44 + 4412 8611.2491 -30.080936 0.0010160854 44 + 4414 8529.1473 -22.008788 0.0010160854 44 + 4416 8274.8886 -15.888411 0.0010160854 44 + 4418 8232.6373 -12.281908 0.0010160854 44 + 4420 8278.7733 -10.540243 0.0010160854 44 + 4422 8256.9019 -9.624563 0.0010160854 44 + 4424 8351.6515 -9.3047728 0.0010160854 44 + 4426 8329.4027 -8.6619836 0.0010160854 44 + 4428 8178.9029 -7.6979987 0.0010160854 44 + 4430 8308.5907 -7.5255745 0.0010160854 44 + 4432 8339.2567 -7.3318811 0.0010160854 44 + 4434 8362.5258 -7.1546324 0.0010160854 44 + 4436 8557.2606 -6.6855469 0.0010160854 44 + 4438 8475.4182 -5.6090375 0.0010160854 44 + 4440 8319.9484 -4.6925255 0.0010160854 44 + 4442 8373.3802 -4.545894 0.0010160854 44 + 4444 8374.4917 -4.6279572 0.0010160854 44 + 4446 8395.4212 -4.9670733 0.0010160854 44 + 4448 8502.6173 -5.3570084 0.0010160854 44 + 4450 8394.9695 -5.1255099 0.0010160854 44 + 4452 8434.3765 -5.2245389 0.0010160854 44 + 4454 8443.8848 -5.4566204 0.0010160854 44 + 4456 8441.6094 -5.6688567 0.0010160854 44 + 4458 8408.897 -5.4910366 0.0010160854 44 + 4460 8395.9315 -4.6146451 0.0010160854 44 + 4462 8365.5718 -3.2374638 0.0010160854 44 + 4464 8565.1171 -2.4491367 0.0010160854 44 + 4466 8593.5937 -2.1052133 0.0010160854 44 + 4468 8499.6193 -2.185188 0.0010160854 44 + 4470 8546.1106 -2.307305 0.0010160854 44 + 4472 8527.2742 -1.8524704 0.0010160854 44 + 4474 8465.1781 -1.7897711 0.0010160854 44 + 4476 8500.7257 -2.6640952 0.0010160854 44 + 4478 8494.4707 -3.8554635 0.0010160854 44 + 4480 8532.6748 -5.1327601 0.0010160854 44 + 4482 8596.1301 -5.8945847 0.0010160854 44 + 4484 8521.9809 -5.593774 0.0010160854 44 + 4486 8550.9191 -5.4219167 0.0010160854 44 + 4488 8509.9533 -5.2971017 0.0010160854 44 + 4490 8527.9509 -496.09766 0.0010377042 45 + 4492 8613.0476 -416.35833 0.0010377042 45 + 4494 8676.1378 -345.86004 0.0010377042 45 + 4496 8617.3621 -283.82315 0.0010377042 45 + 4498 8668.1478 -230.41561 0.0010377042 45 + 4500 8649.6909 -184.8817 0.0010377042 45 + 4502 8679.6804 -146.6874 0.0010377042 45 + 4504 8747.1518 -114.94709 0.0010377042 45 + 4506 8688.4472 -88.603119 0.0010377042 45 + 4508 8608.4958 -67.271273 0.0010377042 45 + 4510 8591.9259 -50.787437 0.0010377042 45 + 4512 8494.9811 -38.402513 0.0010377042 45 + 4514 8463.1609 -28.990894 0.0010377042 45 + 4516 8464.8933 -21.635316 0.0010377042 45 + 4518 8470.0639 -16.177833 0.0010377042 45 + 4520 8471.9812 -12.437599 0.0010377042 45 + 4522 8498.4238 -10.08233 0.0010377042 45 + 4524 8499.769 -8.4613574 0.0010377042 45 + 4526 8553.6516 -6.911356 0.0010377042 45 + 4528 8422.8294 -4.7026624 0.0010377042 45 + 4530 8441.909 -2.9558897 0.0010377042 45 + 4532 8387.1921 -1.5442977 0.0010377042 45 + 4534 8384.5952 -0.86092867 0.0010377042 45 + 4536 8431.7181 -0.54662396 0.0010377042 45 + 4538 8441.649 0.07032512 0.0010377042 45 + 4540 8400.8654 0.65049388 0.0010377042 45 + 4542 8412.8422 0.31166962 0.0010377042 45 + 4544 8293.6405 -0.65121641 0.0010377042 45 + 4546 8235.082 -1.9157396 0.0010377042 45 + 4548 8337.4213 -2.8597252 0.0010377042 45 + 4550 8360.9468 -2.8658973 0.0010377042 45 + 4552 8430.0995 -2.7233891 0.0010377042 45 + 4554 8501.6129 -2.7965692 0.0010377042 45 + 4556 8417.9206 -2.5637444 0.0010377042 45 + 4558 8400.4222 -1.9567773 0.0010377042 45 + 4560 8504.0062 -0.76780017 0.0010377042 45 + 4562 8484.3359 1.0467294 0.0010377042 45 + 4564 8558.8809 2.1140163 0.0010377042 45 + 4566 8601.3852 2.1172908 0.0010377042 45 + 4568 8444.5107 1.9568098 0.0010377042 45 + 4570 8467.9402 1.6835107 0.0010377042 45 + 4572 8449.0471 2.1061386 0.0010377042 45 + 4574 8369.1374 3.0093153 0.0010377042 45 + 4576 8491.3532 3.3567439 0.0010377042 45 + 4578 8478.964 3.3802201 0.0010377042 45 + 4580 8504.6394 2.7694682 0.0010377042 45 + 4582 8642.0159 1.9628767 0.0010377042 45 + 4584 8513.5376 2.223098 0.0010377042 45 + 4586 8474.3971 2.516679 0.0010377042 45 + 4588 8487.1656 2.2985708 0.0010377042 45 + 4590 8289.0437 1.9469959 0.0010377042 45 + 4592 8481.5191 -520.17528 0.0010593231 46 + 4594 8567.1466 -437.6927 0.0010593231 46 + 4596 8518.549 -364.26995 0.0010593231 46 + 4598 8604.1157 -300.08043 0.0010593231 46 + 4600 8529.2258 -244.28279 0.0010593231 46 + 4602 8428.0705 -196.70922 0.0010593231 46 + 4604 8582.5154 -156.849 0.0010593231 46 + 4606 8548.2838 -122.68697 0.0010593231 46 + 4608 8596.5127 -94.410533 0.0010593231 46 + 4610 8674.4143 -71.72073 0.0010593231 46 + 4612 8538.4797 -53.669118 0.0010593231 46 + 4614 8623.2159 -40.344528 0.0010593231 46 + 4616 8759.322 -30.147898 0.0010593231 46 + 4618 8793.5955 -21.884434 0.0010593231 46 + 4620 8982.3765 -15.931732 0.0010593231 46 + 4622 8958.5083 -11.617209 0.0010593231 46 + 4624 8806.9297 -8.8619595 0.0010593231 46 + 4626 8803.6844 -7.2321648 0.0010593231 46 + 4628 8797.2255 -5.570733 0.0010593231 46 + 4630 8892.9851 -4.3531986 0.0010593231 46 + 4632 8964.0601 -3.4170376 0.0010593231 46 + 4634 8846.728 -2.655739 0.0010593231 46 + 4636 8773.1004 -2.2601343 0.0010593231 46 + 4638 8671.2037 -1.557705 0.0010593231 46 + 4640 8585.723 -0.71944384 0.0010593231 46 + 4642 8725.2486 -0.48356301 0.0010593231 46 + 4644 8711.1613 -0.53293687 0.0010593231 46 + 4646 8786.7057 -1.5005599 0.0010593231 46 + 4648 8858.642 -2.4923147 0.0010593231 46 + 4650 8752.25 -2.6581339 0.0010593231 46 + 4652 8815.6087 -3.01017 0.0010593231 46 + 4654 8775.7986 -3.3756535 0.0010593231 46 + 4656 8566.3303 -3.7982073 0.0010593231 46 + 4658 8799.7321 -4.3008093 0.0010593231 46 + 4660 8723.878 -3.9630469 0.0010593231 46 + 4662 8686.2465 -3.0562248 0.0010593231 46 + 4664 8915.9896 -2.5027167 0.0010593231 46 + 4666 8948.6766 -1.7363874 0.0010593231 46 + 4668 8981.9868 -1.4904713 0.0010593231 46 + 4670 8973.8687 -1.2017163 0.0010593231 46 + 4672 8781.5713 -0.098324645 0.0010593231 46 + 4674 8836.3853 0.36211688 0.0010593231 46 + 4676 8888.7808 0.13105451 0.0010593231 46 + 4678 8835.0564 -0.50481902 0.0010593231 46 + 4680 8985.5711 -1.5894088 0.0010593231 46 + 4682 8859.0573 -1.5127093 0.0010593231 46 + 4684 8693.8448 -0.89458263 0.0010593231 46 + 4686 8738.5439 -0.77832982 0.0010593231 46 + 4688 8752.8631 -0.68096596 0.0010593231 46 + 4690 8989.1943 -1.1086408 0.0010593231 46 + 4692 9125.5916 -1.3370384 0.0010593231 46 + 4694 9137.3461 -520.18878 0.0010809419 47 + 4696 9161.8764 -436.8854 0.0010809419 47 + 4698 9090.1914 -363.36 0.0010809419 47 + 4700 8968.747 -299.55079 0.0010809419 47 + 4702 9078.7834 -245.40424 0.0010809419 47 + 4704 8992.5725 -198.91807 0.0010809419 47 + 4706 9051.2817 -159.66594 0.0010809419 47 + 4708 9268.4539 -127.05373 0.0010809419 47 + 4710 9249.7126 -99.872257 0.0010809419 47 + 4712 9272.9869 -78.285794 0.0010809419 47 + 4714 9298.2916 -61.242625 0.0010809419 47 + 4716 9149.9948 -47.047605 0.0010809419 47 + 4718 9174.9535 -35.539318 0.0010809419 47 + 4720 9145.8496 -25.8891 0.0010809419 47 + 4722 9109.5375 -18.1682 0.0010809419 47 + 4724 9242.5523 -12.688902 0.0010809419 47 + 4726 9217.6607 -8.2811481 0.0010809419 47 + 4728 9205.001 -4.9666292 0.0010809419 47 + 4730 9246.4981 -2.8583297 0.0010809419 47 + 4732 9085.8485 -1.4678673 0.0010809419 47 + 4734 9146.1068 -1.4024674 0.0010809419 47 + 4736 9303.335 -1.9059492 0.0010809419 47 + 4738 9271.2857 -2.0258301 0.0010809419 47 + 4740 9304.4859 -2.3846233 0.0010809419 47 + 4742 9270.2033 -2.7896971 0.0010809419 47 + 4744 9206.1576 -3.3254688 0.0010809419 47 + 4746 9293.6448 -4.2902575 0.0010809419 47 + 4748 9273.8176 -4.7705219 0.0010809419 47 + 4750 9133.8374 -4.4378019 0.0010809419 47 + 4752 9197.8675 -3.9840481 0.0010809419 47 + 4754 9175.0908 -3.2269941 0.0010809419 47 + 4756 9161.9743 -2.6815574 0.0010809419 47 + 4758 9235.6272 -2.4653622 0.0010809419 47 + 4760 9217.1381 -1.8932604 0.0010809419 47 + 4762 9181.2102 -1.1216766 0.0010809419 47 + 4764 9338.3737 -0.90234884 0.0010809419 47 + 4766 9335.2303 -0.92297203 0.0010809419 47 + 4768 9298.9426 -1.3455966 0.0010809419 47 + 4770 9325.4367 -1.8336104 0.0010809419 47 + 4772 9230.3934 -1.5479611 0.0010809419 47 + 4774 9178.392 -1.0441831 0.0010809419 47 + 4776 9227.8488 -1.0590378 0.0010809419 47 + 4778 9193.9447 -1.4198565 0.0010809419 47 + 4780 9270.6561 -2.1954197 0.0010809419 47 + 4782 9422.3603 -2.8136615 0.0010809419 47 + 4784 9350.7024 -2.673543 0.0010809419 47 + 4786 9331.5137 -2.8714966 0.0010809419 47 + 4788 9250.4145 -3.5767976 0.0010809419 47 + 4790 9107.9642 -4.5337248 0.0010809419 47 + 4792 9228.1155 -5.7916693 0.0010809419 47 + 4794 9292.6027 -6.3474068 0.0010809419 47 + 4796 9281.1728 -495.56961 0.0011025608 48 + 4798 9257.2823 -416.90739 0.0011025608 48 + 4800 9167.2292 -347.91303 0.0011025608 48 + 4802 9051.4613 -287.59488 0.0011025608 48 + 4804 9051.2474 -235.29211 0.0011025608 48 + 4806 8939.1848 -189.98673 0.0011025608 48 + 4808 8829.7683 -151.62536 0.0011025608 48 + 4810 8824.1916 -119.95289 0.0011025608 48 + 4812 8808.1206 -93.914418 0.0011025608 48 + 4814 8890.8833 -72.704047 0.0011025608 48 + 4816 8917.407 -55.21116 0.0011025608 48 + 4818 8876.1635 -41.05117 0.0011025608 48 + 4820 8854.7425 -30.373475 0.0011025608 48 + 4822 8846.8083 -22.843194 0.0011025608 48 + 4824 8821.8413 -17.705544 0.0011025608 48 + 4826 8837.4071 -14.157948 0.0011025608 48 + 4828 8828.0931 -11.420858 0.0011025608 48 + 4830 8859.1154 -9.5170755 0.0011025608 48 + 4832 8946.3791 -8.7264479 0.0011025608 48 + 4834 8978.8812 -8.8790393 0.0011025608 48 + 4836 8953.0905 -9.2279972 0.0011025608 48 + 4838 8910.8094 -8.9427729 0.0011025608 48 + 4840 8968.6837 -8.0843379 0.0011025608 48 + 4842 8928.639 -6.9476377 0.0011025608 48 + 4844 8823.2 -6.1527852 0.0011025608 48 + 4846 8763.5685 -5.8243942 0.0011025608 48 + 4848 8715.8194 -5.2584257 0.0011025608 48 + 4850 8714.0846 -4.3510558 0.0011025608 48 + 4852 8789.8199 -3.6345733 0.0011025608 48 + 4854 8730.5479 -3.2965154 0.0011025608 48 + 4856 8652.0668 -3.7899389 0.0011025608 48 + 4858 8624.8355 -4.732243 0.0011025608 48 + 4860 8580.5577 -5.1860591 0.0011025608 48 + 4862 8654.1508 -5.1768892 0.0011025608 48 + 4864 8735.3771 -4.9999079 0.0011025608 48 + 4866 8765.1707 -5.1542509 0.0011025608 48 + 4868 8804.1792 -5.6790939 0.0011025608 48 + 4870 8860.7297 -5.8263426 0.0011025608 48 + 4872 8908.8556 -5.2744985 0.0011025608 48 + 4874 8926.07 -4.2957281 0.0011025608 48 + 4876 8850.6097 -3.4599457 0.0011025608 48 + 4878 8832.4203 -3.3921154 0.0011025608 48 + 4880 8797.98 -3.7216781 0.0011025608 48 + 4882 8760.5047 -3.9628578 0.0011025608 48 + 4884 8847.4366 -4.0231587 0.0011025608 48 + 4886 8887.6815 -3.7145985 0.0011025608 48 + 4888 8966.9828 -3.9153205 0.0011025608 48 + 4890 9065.3537 -5.038067 0.0011025608 48 + 4892 8936.417 -5.9841835 0.0011025608 48 + 4894 8864.0481 -6.3394779 0.0011025608 48 + 4896 8910.5544 -5.8998984 0.0011025608 48 + 4898 9020.887 -505.99553 0.0011241796 49 + 4900 9146.5453 -425.18309 0.0011241796 49 + 4902 9199.4841 -354.6505 0.0011241796 49 + 4904 9081.6861 -292.58514 0.0011241796 49 + 4906 9109.4808 -238.36724 0.0011241796 49 + 4908 9201.4749 -191.5871 0.0011241796 49 + 4910 9200.1718 -152.36325 0.0011241796 49 + 4912 9338.4038 -121.01454 0.0011241796 49 + 4914 9302.5903 -95.640879 0.0011241796 49 + 4916 9191.2234 -74.423208 0.0011241796 49 + 4918 9211.5642 -56.502848 0.0011241796 49 + 4920 9188.5122 -41.472493 0.0011241796 49 + 4922 9180.3808 -30.039095 0.0011241796 49 + 4924 9285.1643 -22.268454 0.0011241796 49 + 4926 9277.2896 -16.379292 0.0011241796 49 + 4928 9289.8239 -11.313273 0.0011241796 49 + 4930 9378.02 -6.9392159 0.0011241796 49 + 4932 9367.1409 -3.54637 0.0011241796 49 + 4934 9354.7387 -2.1205117 0.0011241796 49 + 4936 9479.7661 -2.6634686 0.0011241796 49 + 4938 9467.8349 -3.3911836 0.0011241796 49 + 4940 9437.0542 -3.4584366 0.0011241796 49 + 4942 9409.6154 -2.8987342 0.0011241796 49 + 4944 9271.2955 -2.339303 0.0011241796 49 + 4946 9193.9347 -2.7801108 0.0011241796 49 + 4948 9239.9208 -3.7808623 0.0011241796 49 + 4950 9278.7442 -4.0161903 0.0011241796 49 + 4952 9336.3169 -3.1299356 0.0011241796 49 + 4954 9330.3317 -1.5284411 0.0011241796 49 + 4956 9202.1213 -0.2202091 0.0011241796 49 + 4958 9154.2967 -0.011244882 0.0011241796 49 + 4960 9101.7899 -0.16601161 0.0011241796 49 + 4962 9207.7969 -0.31994742 0.0011241796 49 + 4964 9366.7994 -0.19747702 0.0011241796 49 + 4966 9425.9901 -0.079974857 0.0011241796 49 + 4968 9444.2698 -0.74663383 0.0011241796 49 + 4970 9393.8478 -1.7630915 0.0011241796 49 + 4972 9302.1463 -2.2747079 0.0011241796 49 + 4974 9424.5662 -2.4598611 0.0011241796 49 + 4976 9465.0434 -2.1365335 0.0011241796 49 + 4978 9434.4933 -1.9532883 0.0011241796 49 + 4980 9469.4423 -2.1376525 0.0011241796 49 + 4982 9375.2018 -1.5851174 0.0011241796 49 + 4984 9362.759 -0.39474824 0.0011241796 49 + 4986 9442.0402 0.97786903 0.0011241796 49 + 4988 9413.9914 2.0671161 0.0011241796 49 + 4990 9416.6093 1.9942893 0.0011241796 49 + 4992 9404.3458 1.2240715 0.0011241796 49 + 4994 9355.31 0.57065426 0.0011241796 49 + 4996 9383.141 0.046953139 0.0011241796 49 + 4998 9399.1453 -0.57346338 0.0011241796 49 + 5000 9519.25 -518.64483 0.0011457984 50 + 5002 9604.2344 -438.74819 0.0011457984 50 + 5004 9559.8129 -367.48865 0.0011457984 50 + 5006 9544.8737 -304.02506 0.0011457984 50 + 5008 9481.656 -248.0081 0.0011457984 50 + 5010 9414.3533 -199.66492 0.0011457984 50 + 5012 9513.1357 -159.18474 0.0011457984 50 + 5014 9603.1734 -125.22869 0.0011457984 50 + 5016 9551.8186 -96.41966 0.0011457984 50 + 5018 9647.3309 -72.653519 0.0011457984 50 + 5020 9605.0904 -53.340454 0.0011457984 50 + 5022 9586.9507 -38.880254 0.0011457984 50 + 5024 9709.9752 -28.999004 0.0011457984 50 + 5026 9683.8421 -21.832358 0.0011457984 50 + 5028 9643.9148 -16.492713 0.0011457984 50 + 5030 9706.0273 -12.710548 0.0011457984 50 + 5032 9611.9033 -9.9440173 0.0011457984 50 + 5034 9567.2906 -8.5244174 0.0011457984 50 + 5036 9635.3114 -8.030991 0.0011457984 50 + 5038 9612.2959 -7.3510392 0.0011457984 50 + 5040 9722.4871 -6.4873995 0.0011457984 50 + 5042 9836.5908 -5.3676385 0.0011457984 50 + 5044 9832.73 -4.3333074 0.0011457984 50 + 5046 9759.2708 -3.8635602 0.0011457984 50 + 5048 9677.2982 -3.7288336 0.0011457984 50 + 5050 9601.6808 -3.5122622 0.0011457984 50 + 5052 9721.7022 -3.5470923 0.0011457984 50 + 5054 9792.2522 -3.6750964 0.0011457984 50 + 5056 9763.3339 -3.8730349 0.0011457984 50 + 5058 9758.9939 -4.1225654 0.0011457984 50 + 5060 9724.8233 -4.0129457 0.0011457984 50 + 5062 9609.7244 -3.4237045 0.0011457984 50 + 5064 9586.6957 -2.8190939 0.0011457984 50 + 5066 9559.6562 -2.1872918 0.0011457984 50 + 5068 9638.7727 -1.8326397 0.0011457984 50 + 5070 9827.2847 -1.9299282 0.0011457984 50 + 5072 9869.462 -2.0742746 0.0011457984 50 + 5074 9813.1458 -2.2167729 0.0011457984 50 + 5076 9794.8461 -2.457677 0.0011457984 50 + 5078 9711.4358 -2.55187 0.0011457984 50 + 5080 9738.491 -3.0545306 0.0011457984 50 + 5082 9899.1136 -4.2012624 0.0011457984 50 + 5084 9807.3623 -4.9467546 0.0011457984 50 + 5086 9744.1007 -5.2849531 0.0011457984 50 + 5088 9821.1579 -5.1551298 0.0011457984 50 + 5090 9825.4736 -4.2577294 0.0011457984 50 + 5092 9865.2542 -3.5543254 0.0011457984 50 + 5094 9961.4468 -3.4213589 0.0011457984 50 + 5096 9830.6392 -2.8661808 0.0011457984 50 + 5098 9833.4478 -2.0922959 0.0011457984 50 + 5100 9900.2941 -0.83434095 0.0011457984 50 + 5102 9835.9337 0.4699033 0.0011457984 50 + 5104 9833.7603 0.47743244 0.0011457984 50 + 5106 9831.8135 -0.41088598 0.0011457984 50 + 5108 9757.8169 -0.9151913 0.0011457984 50 + 5110 9867.9551 -0.76236525 0.0011457984 50 + 5112 9881.1147 0.26687783 0.0011457984 50 + 5114 9810.935 0.95492784 0.0011457984 50 + 5116 9854.0824 0.16038773 0.0011457984 50 + 5118 9801.1062 -0.97621444 0.0011457984 50 + 5120 9737.6269 -1.3109743 0.0011457984 50 + 5122 9744.1436 -0.55115253 0.0011457984 50 + 5124 9649.6516 0.72316201 0.0011457984 50 + 5126 9664.2682 0.67140181 0.0011457984 50 + 5128 9768.702 -0.94819295 0.0011457984 50 + 5130 9753.6951 -2.6136655 0.0011457984 50 + 5132 9719.31 -3.421216 0.0011457984 50 + 5134 9601.2267 -3.1913958 0.0011457984 50 + 5136 9436.5811 -2.8639748 0.0011457984 50 + 5138 9485.6348 -3.6250392 0.0011457984 50 + 5140 9602.4968 -4.6930818 0.0011457984 50 + 5142 9716.3445 -4.7009462 0.0011457984 50 + 5144 9829.8772 -3.0422762 0.0011457984 50 + 5146 9775.9253 -0.099871825 0.0011457984 50 + 5148 9714.3184 2.3638003 0.0011457984 50 + 5150 9721.8795 3.4407067 0.0011457984 50 + 5152 9711.5028 3.8932963 0.0011457984 50 + 5154 9740.7674 4.6393043 0.0011457984 50 + 5156 9788.8434 5.8877168 0.0011457984 50 + 5158 9735.8911 6.7816444 0.0011457984 50 + 5160 9752.7265 5.8563351 0.0011457984 50 + 5162 9749.8783 3.4223128 0.0011457984 50 + 5164 9755.0591 0.65432948 0.0011457984 50 + 5166 9790.6938 -1.4423029 0.0011457984 50 + 5168 9683.3354 -2.4366479 0.0011457984 50 + 5170 9568.8334 -3.2936067 0.0011457984 50 + 5172 9550.9121 -4.6097096 0.0011457984 50 + 5174 9514.1645 -5.6687719 0.0011457984 50 + 5176 9526.4197 -5.8206698 0.0011457984 50 + 5178 9580.5278 -4.6502361 0.0011457984 50 + 5180 9499.5744 -2.3930624 0.0011457984 50 + 5182 9493.8922 -0.49092775 0.0011457984 50 + 5184 9474.1233 0.87105346 0.0011457984 50 + 5186 9443.4367 2.121042 0.0011457984 50 + 5188 9505.5172 3.4569671 0.0011457984 50 + 5190 9505.6816 5.010125 0.0011457984 50 + 5192 9517.009 5.8421504 0.0011457984 50 + 5194 9547.5435 5.4256946 0.0011457984 50 + 5196 9390.6498 4.4551742 0.0011457984 50 + 5198 9352.7639 2.9903747 0.0011457984 50 + 5200 9437.6381 1.5947939 0.0011457984 50 + 5202 9450.1343 0.70258862 0.0011457984 50 + 5204 9510.3105 -0.33071087 0.0011457984 50 + 5206 9502.9253 -1.3602607 0.0011457984 50 + 5208 9332.6127 -1.9447417 0.0011457984 50 + 5210 9341.5743 -2.3342341 0.0011457984 50 + 5212 9336.7886 -2.0628218 0.0011457984 50 + 5214 9318.1505 -1.4587331 0.0011457984 50 + 5216 9328.1223 -1.0850967 0.0011457984 50 + 5218 9318.8979 -1.017563 0.0011457984 50 + 5220 9330.595 -1.4294349 0.0011457984 50 + 5222 9450.3709 -2.3924416 0.0011457984 50 + 5224 9502.7445 -3.3023586 0.0011457984 50 + 5226 9448.058 -3.7841582 0.0011457984 50 + 5228 9401.1768 -3.9368085 0.0011457984 50 + 5230 9376.2376 -3.884294 0.0011457984 50 + 5232 9490.2547 -3.8750812 0.0011457984 50 + 5234 9658.1297 -3.5385398 0.0011457984 50 + 5236 9767.8043 -2.2736464 0.0011457984 50 + 5238 9761.0999 0.053501857 0.0011457984 50 + 5240 9783.3194 2.5425609 0.0011457984 50 + 5242 9757.6764 4.3275198 0.0011457984 50 + 5244 9722.8232 4.910775 0.0011457984 50 + 5246 9658.9452 4.8162207 0.0011457984 50 + 5248 9549.9302 4.9055441 0.0011457984 50 + 5250 9498.0386 5.0091454 0.0011457984 50 + 5252 9556.7311 4.1185281 0.0011457984 50 + 5254 9557.8028 1.880578 0.0011457984 50 + 5256 9548.9864 -1.1838066 0.0011457984 50 + 5258 9549.5421 -3.602049 0.0011457984 50 + 5260 9475.6275 -4.2460784 0.0011457984 50 + 5262 9448.1808 -3.9399715 0.0011457984 50 + 5264 9419.3009 -3.988808 0.0011457984 50 + 5266 9323.9302 -4.6937748 0.0011457984 50 + 5268 9350.3276 -5.3829053 0.0011457984 50 + 5270 9428.4885 -4.645299 0.0011457984 50 + 5272 9417.8913 -2.2902504 0.0011457984 50 + 5274 9436.9374 -0.11804883 0.0011457984 50 + 5276 9401.9 0.66257181 0.0011457984 50 + 5278 9316.6789 0.31275109 0.0011457984 50 + 5280 9314.8748 0.056129951 0.0011457984 50 + 5282 9304.1942 1.087018 0.0011457984 50 + 5284 9258.2839 2.7234584 0.0011457984 50 + 5286 9294.6632 3.1147868 0.0011457984 50 + 5288 9308.543 1.8812776 0.0011457984 50 + 5290 9351.3899 0.14644409 0.0011457984 50 + 5292 9402.3917 -0.32211565 0.0011457984 50 + 5294 9394.3066 0.91699 0.0011457984 50 + 5296 9363.5405 2.1749681 0.0011457984 50 + 5298 9384.5919 1.7616072 0.0011457984 50 + 5300 9382.0075 0.085544762 0.0011457984 50 + 5302 9444.7238 -1.278927 0.0011457984 50 + 5304 9499.763 -0.95971655 0.0011457984 50 + 5306 9510.1811 0.3954472 0.0011457984 50 + 5308 9521.5827 0.80570679 0.0011457984 50 + 5310 9488.6394 -0.45080118 0.0011457984 50 + 5312 9458.5255 -2.2580491 0.0011457984 50 + 5314 9457.4813 -2.7922614 0.0011457984 50 + 5316 9445.8123 -1.4619951 0.0011457984 50 + 5318 9439.6266 0.15583575 0.0011457984 50 + 5320 9473.753 0.22079091 0.0011457984 50 + 5322 9388.847 -0.86054314 0.0011457984 50 + 5324 9367.7834 -1.620443 0.0011457984 50 + 5326 9380.1644 -0.60133066 0.0011457984 50 + 5328 9304.879 1.8098891 0.0011457984 50 + 5330 9325.2485 3.1393573 0.0011457984 50 + 5332 9358.3543 2.4501572 0.0011457984 50 + 5334 9376.1966 0.84459833 0.0011457984 50 + 5336 9467.6575 -0.083434336 0.0011457984 50 + 5338 9409.1197 0.66408521 0.0011457984 50 + 5340 9250.6533 1.6038726 0.0011457984 50 + 5342 9266.1293 0.61862675 0.0011457984 50 + 5344 9170.0051 -1.5966932 0.0011457984 50 + 5346 9179.8306 -3.6910361 0.0011457984 50 + 5348 9296.0188 -4.0548344 0.0011457984 50 + 5350 9296.8615 -2.5050102 0.0011457984 50 + 5352 9357.2572 -1.4096762 0.0011457984 50 + 5354 9433.7322 -1.9270572 0.0011457984 50 + 5356 9366.3852 -2.9265892 0.0011457984 50 + 5358 9383.244 -3.1782233 0.0011457984 50 + 5360 9330.1465 -1.6512376 0.0011457984 50 + 5362 9194.5054 0.45883229 0.0011457984 50 + 5364 9187.3004 1.0065586 0.0011457984 50 + 5366 9116.9514 0.24444396 0.0011457984 50 + 5368 9123.0653 -0.8484207 0.0011457984 50 + 5370 9235.0911 -0.99263669 0.0011457984 50 + 5372 9188.9208 0.35243273 0.0011457984 50 + 5374 9243.5231 1.2486617 0.0011457984 50 + 5376 9234.3754 1.1088679 0.0011457984 50 + 5378 9105.3344 0.57943502 0.0011457984 50 + 5380 9154.7563 0.26409692 0.0011457984 50 + 5382 9194.3543 1.3453858 0.0011457984 50 + 5384 9205.2826 3.1104191 0.0011457984 50 + 5386 9420.3172 3.7734635 0.0011457984 50 + 5388 9441.4103 3.817096 0.0011457984 50 + 5390 9485.1202 3.3782803 0.0011457984 50 + 5392 9610.8107 2.9155254 0.0011457984 50 + 5394 9501.4179 3.1457124 0.0011457984 50 + 5396 9510.022 2.796283 0.0011457984 50 + 5398 9569.8284 1.81996 0.0011457984 50 + 5400 9457.2815 1.0036435 0.0011457984 50 + 5402 9515.4621 0.079212777 0.0011457984 50 + 5404 9507.745 0.024899951 0.0011457984 50 + 5406 9382.3611 0.84022397 0.0011457984 50 + 5408 9522.7726 1.3301395 0.0011457984 50 + 5410 9508.3297 2.1977172 0.0011457984 50 + 5412 9457.243 3.0751267 0.0011457984 50 + 5414 9584.2886 3.3911486 0.0011457984 50 + 5416 9456.1599 3.9039941 0.0011457984 50 + 5418 9439.7174 3.8015334 0.0011457984 50 + 5420 9595.7276 3.21878 0.0011457984 50 + 5422 9638.3225 2.8942378 0.0011457984 50 + 5424 9764.949 2.1267642 0.0011457984 50 + 5426 9841.5444 1.0682476 0.0011457984 50 + 5428 9680.5031 0.33474701 0.0011457984 50 + 5430 9607.8822 -0.11987808 0.0011457984 50 + 5432 9560.1267 0.27946219 0.0011457984 50 + 5434 9536.9174 1.1692843 0.0011457984 50 + 5436 9631.0768 1.6665967 0.0011457984 50 + 5438 9589.8701 1.9147519 0.0011457984 50 + 5440 9575.3452 1.8639901 0.0011457984 50 + 5442 9659.3629 1.9520524 0.0011457984 50 + 5444 9674.1541 2.4907839 0.0011457984 50 + 5446 9697.7261 2.406508 0.0011457984 50 + 5448 9690.8984 1.1264598 0.0011457984 50 + 5450 9623.3865 -0.92487777 0.0011457984 50 + 5452 9674.9321 -2.905871 0.0011457984 50 + 5454 9702.2485 -3.6732167 0.0011457984 50 + 5456 9635.4187 -3.5217309 0.0011457984 50 + 5458 9581.3254 -3.6059798 0.0011457984 50 + 5460 9480.4669 -3.9734002 0.0011457984 50 + 5462 9435.3131 -4.0387581 0.0011457984 50 + 5464 9534.5506 -2.973297 0.0011457984 50 + 5466 9617.0167 -0.56760995 0.0011457984 50 + 5468 9692.5636 1.7234191 0.0011457984 50 + 5470 9685.9259 2.7363009 0.0011457984 50 + 5472 9599.1928 2.4794484 0.0011457984 50 + 5474 9562.0871 1.8028212 0.0011457984 50 + 5476 9580.3546 1.7444303 0.0011457984 50 + 5478 9604.8083 2.0739899 0.0011457984 50 + 5480 9740.0757 1.5011757 0.0011457984 50 + 5482 9735.5541 0.070083688 0.0011457984 50 + 5484 9721.3199 -1.5645649 0.0011457984 50 + 5486 9719.1871 -2.0903277 0.0011457984 50 + 5488 9755.2534 -1.0516302 0.0011457984 50 + 5490 9741.0741 0.68343685 0.0011457984 50 + 5492 9790.595 1.68584 0.0011457984 50 + 5494 9747.6207 1.940975 0.0011457984 50 + 5496 9760.0492 2.0438587 0.0011457984 50 + 5498 9806.8117 2.9557222 0.0011457984 50 + 5500 9906.2348 4.2445378 0.0011457984 50 + 5502 9937.3762 4.6360945 0.0011457984 50 + 5504 9889.9099 3.36744 0.0011457984 50 + 5506 9801.0867 1.1583543 0.0011457984 50 + 5508 9757.0639 -0.63507871 0.0011457984 50 + 5510 9849.2588 -1.5203115 0.0011457984 50 + 5512 9910.9432 -1.9936042 0.0011457984 50 + 5514 9980.9927 -3.1553219 0.0011457984 50 + 5516 9884.7046 -4.6195607 0.0011457984 50 + 5518 9819.009 -5.5292635 0.0011457984 50 + 5520 9791.743 -5.0244452 0.0011457984 50 + 5522 9876.9616 -3.4374028 0.0011457984 50 + 5524 9913.7323 -1.560895 0.0011457984 50 + 5526 9965.6802 -0.28230669 0.0011457984 50 + 5528 9864.5527 0.77777988 0.0011457984 50 + 5530 9722.3632 2.0611697 0.0011457984 50 + 5532 9692.5948 3.4357418 0.0011457984 50 + 5534 9707.7114 4.4316179 0.0011457984 50 + 5536 9724.5556 4.4200513 0.0011457984 50 + 5538 9810.0608 3.2814823 0.0011457984 50 + 5540 9801.1254 1.9944919 0.0011457984 50 + 5542 9828.6486 0.81577583 0.0011457984 50 + 5544 9886.5246 -0.26945791 0.0011457984 50 + 5546 9814.2295 -1.2219503 0.0011457984 50 + 5548 9769.2818 -2.3790154 0.0011457984 50 + 5550 9671.3607 -3.1813334 0.0011457984 50 + 5552 9566.1375 -3.3034884 0.0011457984 50 + 5554 9662.8479 -3.157334 0.0011457984 50 + 5556 9822.6928 -2.7092017 0.0011457984 50 + 5558 9858.3611 -1.8733723 0.0011457984 50 + 5560 9864.0403 -0.9432148 0.0011457984 50 + 5562 9718.5186 0.33420254 0.0011457984 50 + 5564 9654.7726 1.3559204 0.0011457984 50 + 5566 9734.7499 1.7708321 0.0011457984 50 + 5568 9777.4725 1.9858757 0.0011457984 50 + 5570 9847.5326 2.0634589 0.0011457984 50 + 5572 9936.0477 2.097276 0.0011457984 50 + 5574 9900.7633 2.0720838 0.0011457984 50 + 5576 9937.5273 1.3672326 0.0011457984 50 + 5578 9961.2023 0.43540294 0.0011457984 50 + 5580 9863.5165 0.14546723 0.0011457984 50 + 5582 9788.1833 0.64376512 0.0011457984 50 + 5584 9738.4717 1.7883089 0.0011457984 50 + 5586 9777.5941 2.7944617 0.0011457984 50 + 5588 9844.3258 3.2948653 0.0011457984 50 + 5590 9850.6037 3.73122 0.0011457984 50 + 5592 9798.7444 4.4707532 0.0011457984 50 + 5594 9769.4476 5.2454853 0.0011457984 50 + 5596 9735.6813 5.3788919 0.0011457984 50 + 5598 9750.2623 4.3811369 0.0011457984 50 + 5600 9724.4105 2.9038676 0.0011457984 50 + 5602 9709.8706 1.6769734 0.0011457984 50 + 5604 9638.2747 1.2349895 0.0011457984 50 + 5606 9507.2594 1.3337825 0.0011457984 50 + 5608 9450.6727 1.1336527 0.0011457984 50 + 5610 9408.6365 0.68267355 0.0011457984 50 + 5612 9369.3312 0.59089756 0.0011457984 50 + 5614 9398.4939 1.2016359 0.0011457984 50 + 5616 9399.087 2.5782644 0.0011457984 50 + 5618 9324.4882 3.9215052 0.0011457984 50 + 5620 9341.4802 4.2926302 0.0011457984 50 + 5622 9244.696 4.4103891 0.0011457984 50 + 5624 9215.3593 4.6659322 0.0011457984 50 + 5626 9261.8257 5.3576315 0.0011457984 50 + 5628 9242.4011 6.3450699 0.0011457984 50 + 5630 9285.0978 6.5221442 0.0011457984 50 + 5632 9314.0346 5.9409997 0.0011457984 50 + 5634 9177.7593 5.6044675 0.0011457984 50 + 5636 9156.3214 5.5249683 0.0011457984 50 + 5638 9142.6687 5.7822736 0.0011457984 50 + 5640 9062.436 5.6464383 0.0011457984 50 + 5642 9140.8597 4.0505564 0.0011457984 50 + 5644 9134.2075 1.9875116 0.0011457984 50 + 5646 9084.7092 0.37818807 0.0011457984 50 + 5648 9184.8938 -0.6330058 0.0011457984 50 + 5650 9167.4749 -0.92384704 0.0011457984 50 + 5652 9188.003 -1.5961161 0.0011457984 50 + 5654 9208.2435 -2.6124216 0.0011457984 50 + 5656 9134.2092 -2.7628664 0.0011457984 50 + 5658 9097.3017 -1.5551001 0.0011457984 50 + 5660 9144.5404 0.57803721 0.0011457984 50 + 5662 9067.6426 2.680454 0.0011457984 50 + 5664 9075.8344 3.4574442 0.0011457984 50 + 5666 9019.7649 3.6888499 0.0011457984 50 + 5668 8979.0779 4.3183604 0.0011457984 50 + 5670 9044.7573 5.3882578 0.0011457984 50 + 5672 9106.6295 6.2475025 0.0011457984 50 + 5674 9095.1777 5.8147786 0.0011457984 50 + 5676 9092.9844 3.7292974 0.0011457984 50 + 5678 9006.8683 1.4945746 0.0011457984 50 + 5680 8875.2811 0.39531891 0.0011457984 50 + 5682 8887.6236 0.13437937 0.0011457984 50 + 5684 8857.0466 -0.0678953 0.0011457984 50 + 5686 9029.4601 -1.5241271 0.0011457984 50 + 5688 9195.6539 -3.1525277 0.0011457984 50 + 5690 9255.4237 -3.2301058 0.0011457984 50 + 5692 9262.751 -1.5870815 0.0011457984 50 + 5694 9177.1236 0.75066556 0.0011457984 50 + 5696 8980.3972 2.3413159 0.0011457984 50 + 5698 9046.6838 2.0139028 0.0011457984 50 + 5700 9089.9961 1.3331579 0.0011457984 50 + 5702 9108.9557 1.5442681 0.0011457984 50 + 5704 9183.8128 2.4575345 0.0011457984 50 + 5706 9103.6573 3.3601782 0.0011457984 50 + 5708 9034.187 2.7608128 0.0011457984 50 + 5710 9102.9716 0.72617921 0.0011457984 50 + 5712 9002.0791 -0.57347993 0.0011457984 50 + 5714 8960.5092 -0.6794737 0.0011457984 50 + 5716 8971.8739 -0.00031815209 0.0011457984 50 + 5718 8843.295 0.72776349 0.0011457984 50 + 5720 8934.1565 0.19821608 0.0011457984 50 + 5722 8963.7715 -0.39919342 0.0011457984 50 + 5724 8879.4007 0.20643603 0.0011457984 50 + 5726 8883.8738 1.8298534 0.0011457984 50 + 5728 8875.907 3.9153843 0.0011457984 50 + 5730 8875.0305 5.1890909 0.0011457984 50 + 5732 9093.0103 4.9108717 0.0011457984 50 + 5734 9121.1682 4.658725 0.0011457984 50 + 5736 9147.9828 4.6797083 0.0011457984 50 + 5738 9208.0685 4.6825798 0.0011457984 50 + 5740 9109.1076 4.350183 0.0011457984 50 + 5742 9137.9665 2.5394457 0.0011457984 50 + 5744 9233.8623 -0.13654524 0.0011457984 50 + 5746 9274.9432 -2.1852561 0.0011457984 50 + 5748 9375.8397 -3.1751126 0.0011457984 50 + 5750 9394.0222 -2.9957216 0.0011457984 50 + 5752 9264.7974 -2.3410807 0.0011457984 50 + 5754 9313.8745 -2.2121784 0.0011457984 50 + 5756 9267.4298 -1.5388542 0.0011457984 50 + 5758 9272.5259 0.012455309 0.0011457984 50 + 5760 9378.6847 2.357578 0.0011457984 50 + 5762 9329.1337 5.3400185 0.0011457984 50 + 5764 9318.1234 7.4868473 0.0011457984 50 + 5766 9410.2861 8.1063443 0.0011457984 50 + 5768 9364.9349 7.9969695 0.0011457984 50 + 5770 9397.0258 7.3517553 0.0011457984 50 + 5772 9522.9182 6.4246127 0.0011457984 50 + 5774 9546.1456 5.1902951 0.0011457984 50 + 5776 9688.1023 2.8309542 0.0011457984 50 + 5778 9703.883 0.3843822 0.0011457984 50 + 5780 9560.2136 -0.97898997 0.0011457984 50 + 5782 9491.6947 -1.1277455 0.0011457984 50 + 5784 9464.9945 -0.17086068 0.0011457984 50 + 5786 9410.4041 1.141182 0.0011457984 50 + 5788 9443.3999 1.9891415 0.0011457984 50 + 5790 9390.6079 2.8921217 0.0011457984 50 + 5792 9387.6468 3.9361413 0.0011457984 50 + 5794 9500.5403 4.9627391 0.0011457984 50 + 5796 9496.8831 5.7655291 0.0011457984 50 + 5798 9499.7529 5.2018266 0.0011457984 50 + 5800 9456.1563 3.4798465 0.0011457984 50 + 5802 9375.5941 1.6783349 0.0011457984 50 + 5804 9442.5195 0.3430883 0.0011457984 50 + 5806 9484.4576 -0.077274186 0.0011457984 50 + 5808 9429.8078 -0.17234937 0.0011457984 50 + 5810 9456.4999 -0.69501087 0.0011457984 50 + 5812 9397.6411 -0.73520349 0.0011457984 50 + 5814 9407.137 0.060929401 0.0011457984 50 + 5816 9526.2338 1.5625496 0.0011457984 50 + 5818 9487.0573 3.536031 0.0011457984 50 + 5820 9540.0818 4.4291809 0.0011457984 50 + 5822 9598.9135 4.0269073 0.0011457984 50 + 5824 9531.0727 3.1592454 0.0011457984 50 + 5826 9508.6169 2.2657967 0.0011457984 50 + 5828 9454.0163 1.9297467 0.0011457984 50 + 5830 9396.1836 1.5698577 0.0011457984 50 + 5832 9566.9629 0.057300614 0.0011457984 50 + 5834 9656.9144 -1.7889329 0.0011457984 50 + 5836 9681.8595 -3.1479964 0.0011457984 50 + 5838 9680.7003 -3.4838441 0.0011457984 50 + 5840 9505.8807 -2.7332235 0.0011457984 50 + 5842 9405.8802 -2.3153426 0.0011457984 50 + 5844 9420.8907 -2.7763813 0.0011457984 50 + 5846 9424.7211 -3.3544877 0.0011457984 50 + 5848 9493.4043 -3.3493234 0.0011457984 50 + 5850 9528.0457 -2.1551469 0.0011457984 50 + 5852 9452.8631 -0.35990604 0.0011457984 50 + 5854 9419.8602 0.55498139 0.0011457984 50 + 5856 9334.3062 0.49191412 0.0011457984 50 + 5858 9284.7095 0.012872669 0.0011457984 50 + 5860 9275.8427 0.11749661 0.0011457984 50 + 5862 9238.2407 1.0991173 0.0011457984 50 + 5864 9265.6877 1.7811333 0.0011457984 50 + 5866 9247.8628 1.4524729 0.0011457984 50 + 5868 9251.3414 0.24102384 0.0011457984 50 + 5870 9334.5085 -0.9900622 0.0011457984 50 + 5872 9380.6515 -1.2254557 0.0011457984 50 + 5874 9400.7574 -0.85963511 0.0011457984 50 + 5876 9461.4556 -0.97009484 0.0011457984 50 + 5878 9422.7193 -1.7108859 0.0011457984 50 + 5880 9452.3619 -2.8338146 0.0011457984 50 + 5882 9478.1995 -3.1268178 0.0011457984 50 + 5884 9455.6014 -2.0975814 0.0011457984 50 + 5886 9523.8311 -0.8393345 0.0011457984 50 + 5888 9469.8628 -0.024389183 0.0011457984 50 + 5890 9353.3316 -0.029234815 0.0011457984 50 + 5892 9353.2772 -0.36384581 0.0011457984 50 + 5894 9296.039 0.26316862 0.0011457984 50 + 5896 9347.861 1.2835594 0.0011457984 50 + 5898 9441.5972 1.7248974 0.0011457984 50 + 5900 9381.4678 1.2684522 0.0011457984 50 + 5902 9361.5331 -0.019520588 0.0011457984 50 + 5904 9360.4057 -0.89549679 0.0011457984 50 + 5906 9366.958 -0.86092765 0.0011457984 50 + 5908 9496.5969 -0.84331725 0.0011457984 50 + 5910 9462.4261 -1.1960116 0.0011457984 50 + 5912 9324.8237 -1.9671879 0.0011457984 50 + 5914 9285.0082 -2.3761654 0.0011457984 50 + 5916 9282.2489 -1.3018825 0.0011457984 50 + 5918 9418.5779 0.58373203 0.0011457984 50 + 5920 9539.3709 2.252092 0.0011457984 50 + 5922 9498.438 3.229691 0.0011457984 50 + 5924 9432.9584 3.6446358 0.0011457984 50 + 5926 9419.3007 4.4423313 0.0011457984 50 + 5928 9498.7474 5.7335499 0.0011457984 50 + 5930 9711.7231 6.4606288 0.0011457984 50 + 5932 9824.7497 5.9737039 0.0011457984 50 + 5934 9830.3795 4.2470677 0.0011457984 50 + 5936 9742.2625 2.4954471 0.0011457984 50 + 5938 9622.9601 1.7734819 0.0011457984 50 + 5940 9564.3827 1.6969709 0.0011457984 50 + 5942 9505.3002 1.4169294 0.0011457984 50 + 5944 9527.2581 0.33507768 0.0011457984 50 + 5946 9576.9445 -0.73645779 0.0011457984 50 + 5948 9611.2143 -0.46409823 0.0011457984 50 + 5950 9652.9501 1.2596854 0.0011457984 50 + 5952 9679.4027 3.43528 0.0011457984 50 + 5954 9567.8258 5.0545532 0.0011457984 50 + 5956 9599.4726 5.2843846 0.0011457984 50 + 5958 9589.5061 5.4230915 0.0011457984 50 + 5960 9549.2322 6.5029997 0.0011457984 50 + 5962 9580.8085 8.0667162 0.0011457984 50 + 5964 9553.0902 9.3316431 0.0011457984 50 + 5966 9478.6722 9.3997735 0.0011457984 50 + 5968 9575.7717 8.0819559 0.0011457984 50 + 5970 9522.7041 7.0080815 0.0011457984 50 + 5972 9488.6679 6.4440707 0.0011457984 50 + 5974 9573.1695 5.9298637 0.0011457984 50 + 5976 9582.6086 5.2536087 0.0011457984 50 + 5978 9628.2049 3.8987008 0.0011457984 50 + 5980 9677.3761 2.5384624 0.0011457984 50 + 5982 9596.6234 2.2380369 0.0011457984 50 + 5984 9588.085 2.6032445 0.0011457984 50 + 5986 9680.8357 2.9432395 0.0011457984 50 + 5988 9699.6998 2.9389564 0.0011457984 50 + 5990 9818.7251 2.2461338 0.0011457984 50 + 5992 9865.95 1.7383994 0.0011457984 50 + 5994 9845.4616 1.7345407 0.0011457984 50 + 5996 9854.6465 1.805345 0.0011457984 50 + 5998 9850.1963 1.8001966 0.0011457984 50 + 6000 9809.6304 1.5739345 0.0011457984 50 + 6002 9891.4427 0.92755735 0.0011457984 50 + 6004 9912.1115 0.48270035 0.0011457984 50 + 6006 9887.7326 0.39077694 0.0011457984 50 + 6008 9861.9189 0.6337832 0.0011457984 50 + 6010 9768.1269 1.2151004 0.0011457984 50 + 6012 9773.5059 1.498899 0.0011457984 50 + 6014 9819.8242 1.3529148 0.0011457984 50 + 6016 9828.2381 0.996993 0.0011457984 50 + 6018 9838.2915 0.66495661 0.0011457984 50 + 6020 9869.4576 0.69539003 0.0011457984 50 + 6022 9834.0117 1.1078898 0.0011457984 50 + 6024 9873.4062 1.07854 0.0011457984 50 + 6026 9914.6123 0.44227466 0.0011457984 50 + 6028 9891.3644 -0.36282183 0.0011457984 50 + 6030 9879.73 -0.83632357 0.0011457984 50 + 6032 9860.7734 -0.65427235 0.0011457984 50 + 6034 9835.8156 -0.30828552 0.0011457984 50 + 6036 9823.8167 -0.54884625 0.0011457984 50 + 6038 9779.8815 -1.3563752 0.0011457984 50 + 6040 9695.471 -1.9518387 0.0011457984 50 + 6042 9665.1458 -1.6761814 0.0011457984 50 + 6044 9644.9759 -0.43265853 0.0011457984 50 + 6046 9602.8254 1.0066052 0.0011457984 50 + 6048 9641.4636 1.7985425 0.0011457984 50 + 6050 9704.4729 2.2207014 0.0011457984 50 + 6052 9782.2464 2.9918915 0.0011457984 50 + 6054 9822.1111 4.4377842 0.0011457984 50 + 6056 9791.1854 5.9424321 0.0011457984 50 + 6058 9669.251 6.5453526 0.0011457984 50 + 6060 9594.6289 5.8146205 0.0011457984 50 + 6062 9582.48 4.5586657 0.0011457984 50 + 6064 9618.5592 3.7252984 0.0011457984 50 + 6066 9661.4545 3.4533548 0.0011457984 50 + 6068 9693.2956 3.0938242 0.0011457984 50 + 6070 9742.4217 2.026046 0.0011457984 50 + 6072 9798.2646 0.58042123 0.0011457984 50 + 6074 9844.6891 -0.26831074 0.0011457984 50 + 6076 9883.7518 0.046526836 0.0011457984 50 + 6078 9912.71 1.0839261 0.0011457984 50 + 6080 9944.1643 1.8908726 0.0011457984 50 + 6082 9956.4196 2.0738197 0.0011457984 50 + 6084 9933.531 2.1330963 0.0011457984 50 + 6086 9858.8887 2.8225944 0.0011457984 50 + 6088 9842.6352 3.8176999 0.0011457984 50 + 6090 9869.0454 4.111327 0.0011457984 50 + 6092 9895.151 3.072967 0.0011457984 50 + 6094 9923.4713 1.0726233 0.0011457984 50 + 6096 9846.6654 -0.5488411 0.0011457984 50 + 6098 9727.6782 -1.0304422 0.0011457984 50 + 6100 9644.9934 -0.63623128 0.0011457984 50 + 6102 9688.8998 -0.14299764 0.0011457984 50 + 6104 9788.6344 0.074155995 0.0011457984 50 + 6106 9880.8557 0.46787569 0.0011457984 50 + 6108 9795.1292 1.9605951 0.0011457984 50 + 6110 9781.2803 3.9699667 0.0011457984 50 + 6112 9772.8688 5.6753162 0.0011457984 50 + 6114 9783.1404 6.2397127 0.0011457984 50 + 6116 9862.009 5.4814461 0.0011457984 50 + 6118 9834.7021 4.4466959 0.0011457984 50 + 6120 9718.1031 3.6458456 0.0011457984 50 + 6122 9611.3046 2.7891142 0.0011457984 50 + 6124 9492.9139 1.6648477 0.0011457984 50 + 6126 9466.1975 0.059344629 0.0011457984 50 + 6128 9596.4483 -1.4758409 0.0011457984 50 + 6130 9628.4788 -1.633685 0.0011457984 50 + 6132 9663.5465 -0.60391218 0.0011457984 50 + 6134 9598.4656 1.0889235 0.0011457984 50 + 6136 9457.9898 2.7495116 0.0011457984 50 + 6138 9455.8838 3.8955319 0.0011457984 50 + 6140 9518.8498 5.1312351 0.0011457984 50 + 6142 9550.1571 6.7355515 0.0011457984 50 + 6144 9615.9609 8.1297976 0.0011457984 50 + 6146 9580.9308 9.0695275 0.0011457984 50 + 6148 9519.1276 9.1299634 0.0011457984 50 + 6150 9504.6824 8.4661449 0.0011457984 50 + 6152 9457.6515 7.932841 0.0011457984 50 + 6154 9438.392 7.7647042 0.0011457984 50 + 6156 9507.2605 7.7047419 0.0011457984 50 + 6158 9533.8383 7.5627875 0.0011457984 50 + 6160 9549.8644 7.1790181 0.0011457984 50 + 6162 9485.2333 7.0421404 0.0011457984 50 + 6164 9446.5 7.1354196 0.0011457984 50 + 6166 9515.3201 7.0663308 0.0011457984 50 + 6168 9627.0393 6.622293 0.0011457984 50 + 6170 9749.8051 5.6938844 0.0011457984 50 + 6172 9782.629 4.7167086 0.0011457984 50 + 6174 9726.303 4.1988674 0.0011457984 50 + 6176 9681.211 4.0710617 0.0011457984 50 + 6178 9652.0773 4.083136 0.0011457984 50 + 6180 9526.2991 4.0795518 0.0011457984 50 + 6182 9459.8141 3.8437065 0.0011457984 50 + 6184 9376.45 4.0452702 0.0011457984 50 + 6186 9479.2533 4.5140318 0.0011457984 50 + 6188 9643.0814 4.9451797 0.0011457984 50 + 6190 9623.6312 5.0605544 0.0011457984 50 + 6192 9519.3424 4.345871 0.0011457984 50 + 6194 9384.4864 3.3226331 0.0011457984 50 + 6196 9289.0608 2.7298129 0.0011457984 50 + 6198 9438.2363 2.3236495 0.0011457984 50 + 6200 9534.5097 2.2616915 0.0011457984 50 + 6202 9522.1612 2.2305021 0.0011457984 50 + 6204 9561.3164 2.0368725 0.0011457984 50 + 6206 9488.2213 2.5778043 0.0011457984 50 + 6208 9485.71 3.6261767 0.0011457984 50 + 6210 9544.4238 4.703255 0.0011457984 50 + 6212 9442.1106 5.5055657 0.0011457984 50 + 6214 9455.2624 5.0271672 0.0011457984 50 + 6216 9512.8447 3.7826535 0.0011457984 50 + 6218 9450.445 2.7933333 0.0011457984 50 + 6220 9541.2524 1.7850204 0.0011457984 50 + 6222 9561.4937 0.99601556 0.0011457984 50 + 6224 9504.8285 0.089294214 0.0011457984 50 + 6226 9551.2059 -1.1872491 0.0011457984 50 + 6228 9521.3868 -1.6821833 0.0011457984 50 + 6230 9465.2199 -0.96705063 0.0011457984 50 + 6232 9575.3147 0.43767353 0.0011457984 50 + 6234 9583.8318 2.233984 0.0011457984 50 + 6236 9655.3492 3.1655344 0.0011457984 50 + 6238 9697.5503 3.2691103 0.0011457984 50 + 6240 9527.8029 3.4994103 0.0011457984 50 + 6242 9396.131 3.7934199 0.0011457984 50 + 6244 9335.0447 3.9829087 0.0011457984 50 + 6246 9290.2872 3.5524291 0.0011457984 50 + 6248 9345.2633 2.0516189 0.0011457984 50 + 6250 9357.2713 0.36288783 0.0011457984 50 + 6252 9293.6481 -0.60034651 0.0011457984 50 + 6254 9314.129 -0.79094718 0.0011457984 50 + 6256 9262.6771 -0.2910575 0.0011457984 50 + 6258 9234.2281 0.014823431 0.0011457984 50 + 6260 9357.5686 -0.46680756 0.0011457984 50 + 6262 9416.3145 -1.1281866 0.0011457984 50 + 6264 9403.8035 -1.4862433 0.0011457984 50 + 6266 9367.0496 -1.320256 0.0011457984 50 + 6268 9258.5943 -0.78014425 0.0011457984 50 + 6270 9222.9527 -0.64498925 0.0011457984 50 + 6272 9332.1552 -1.2392307 0.0011457984 50 + 6274 9384.495 -1.8477753 0.0011457984 50 + 6276 9401.0798 -1.84529 0.0011457984 50 + 6278 9394.6872 -0.88277878 0.0011457984 50 + 6280 9326.9138 0.84681766 0.0011457984 50 + 6282 9346.4349 2.2235849 0.0011457984 50 + 6284 9433.7134 2.6237732 0.0011457984 50 + 6286 9367.5213 2.7639499 0.0011457984 50 + 6288 9334.7447 3.1233908 0.0011457984 50 + 6290 9414.9327 3.9228632 0.0011457984 50 + 6292 9396.7388 4.8559892 0.0011457984 50 + 6294 9419.5273 4.39179 0.0011457984 50 + 6296 9336.6624 2.5930407 0.0011457984 50 + 6298 9218.106 0.77310018 0.0011457984 50 + 6300 9338.3455 0.031319512 0.0011457984 50 + 6302 9548.1089 0.9058411 0.0011457984 50 + 6304 9584.955 2.3691874 0.0011457984 50 + 6306 9596.7481 2.5600136 0.0011457984 50 + 6308 9493.407 1.910796 0.0011457984 50 + 6310 9497.6044 1.5160645 0.0011457984 50 + 6312 9677.0697 2.1599041 0.0011457984 50 + 6314 9677.5986 3.8951444 0.0011457984 50 + 6316 9568.551 4.8522466 0.0011457984 50 + 6318 9519.3128 3.8476542 0.0011457984 50 + 6320 9477.2654 1.923282 0.0011457984 50 + 6322 9601.1273 0.39351454 0.0011457984 50 + 6324 9664.4745 0.53874451 0.0011457984 50 + 6326 9493.8865 1.8845461 0.0011457984 50 + 6328 9408.0474 2.3653529 0.0011457984 50 + 6330 9335.7617 1.8595183 0.0011457984 50 + 6332 9391.9314 1.2747265 0.0011457984 50 + 6334 9558.4684 1.8410142 0.0011457984 50 + 6336 9615.703 4.006068 0.0011457984 50 + 6338 9553.4494 6.203629 0.0011457984 50 + 6340 9539.4374 6.6962829 0.0011457984 50 + 6342 9470.5223 5.7852955 0.0011457984 50 + 6344 9485.1119 4.6403634 0.0011457984 50 + 6346 9479.4077 4.7355587 0.0011457984 50 + 6348 9447.633 5.7017265 0.0011457984 50 + 6350 9455.1225 5.798905 0.0011457984 50 + 6352 9430.8198 4.3198142 0.0011457984 50 + 6354 9448.6071 2.0772804 0.0011457984 50 + 6356 9492.6461 0.8769538 0.0011457984 50 + 6358 9549.4594 1.4447744 0.0011457984 50 + 6360 9550.1224 2.7230203 0.0011457984 50 + 6362 9509.9436 3.2113226 0.0011457984 50 + 6364 9526.394 2.4241589 0.0011457984 50 + 6366 9686.0529 1.3451679 0.0011457984 50 + 6368 9783.1581 1.5382741 0.0011457984 50 + 6370 9838.8093 2.7585361 0.0011457984 50 + 6372 9720.7706 3.8895894 0.0011457984 50 + 6374 9516.5516 3.8503907 0.0011457984 50 + 6376 9437.2155 2.8562902 0.0011457984 50 + 6378 9484.8409 2.4668168 0.0011457984 50 + 6380 9617.8774 3.2986277 0.0011457984 50 + 6382 9693.5884 4.538726 0.0011457984 50 + 6384 9582.7671 5.08112 0.0011457984 50 + 6386 9507.7158 4.3440097 0.0011457984 50 + 6388 9504.2482 3.4300535 0.0011457984 50 + 6390 9529.854 3.4743908 0.0011457984 50 + 6392 9619.924 4.1465988 0.0011457984 50 + 6394 9641.9665 4.5472982 0.0011457984 50 + 6396 9646.0139 3.6689701 0.0011457984 50 + 6398 9643.3496 1.8922098 0.0011457984 50 + 6400 9550.7224 0.78810044 0.0011457984 50 + 6402 9518.219 0.76140043 0.0011457984 50 + 6404 9480.1113 1.3310925 0.0011457984 50 + 6406 9430.6607 1.4279179 0.0011457984 50 + 6408 9528.8336 0.41719036 0.0011457984 50 + 6410 9517.5067 -0.23887578 0.0011457984 50 + 6412 9509.2189 0.2683376 0.0011457984 50 + 6414 9610.8635 1.5036072 0.0011457984 50 + 6416 9580.9492 2.7476589 0.0011457984 50 + 6418 9526.445 2.7203747 0.0011457984 50 + 6420 9491.047 1.7609024 0.0011457984 50 + 6422 9332.0354 1.6287409 0.0011457984 50 + 6424 9425.2471 2.2364284 0.0011457984 50 + 6426 9544.4397 3.1942266 0.0011457984 50 + 6428 9570.9285 3.3406159 0.0011457984 50 + 6430 9668.0361 1.8509515 0.0011457984 50 + 6432 9668.7456 0.36824782 0.0011457984 50 + 6434 9584.8751 0.33327993 0.0011457984 50 + 6436 9683.9538 1.246464 0.0011457984 50 + 6438 9588.6432 2.5209673 0.0011457984 50 + 6440 9500.4296 2.5326661 0.0011457984 50 + 6442 9544.7194 1.3443464 0.0011457984 50 + 6444 9519.127 0.86704484 0.0011457984 50 + 6446 9591.6737 1.4271621 0.0011457984 50 + 6448 9609.0228 2.4883879 0.0011457984 50 + 6450 9450.2371 2.8223434 0.0011457984 50 + 6452 9428.5145 1.2923919 0.0011457984 50 + 6454 9535.3168 -0.81269947 0.0011457984 50 + 6456 9606.6468 -1.843664 0.0011457984 50 + 6458 9780.9103 -2.0363082 0.0011457984 50 + 6460 9643.8864 -1.7412278 0.0011457984 50 + 6462 9498.9174 -2.4291832 0.0011457984 50 + 6464 9418.4471 -3.7349724 0.0011457984 50 + 6466 9376.4988 -4.0358005 0.0011457984 50 + 6468 9466.641 -2.9149438 0.0011457984 50 + 6470 9572.1969 -0.80528631 0.0011457984 50 + 6472 9500.8128 1.1712587 0.0011457984 50 + 6474 9525.13 1.6578208 0.0011457984 50 + 6476 9483.7706 1.648966 0.0011457984 50 + 6478 9426.1215 2.1430336 0.0011457984 50 + 6480 9532.4265 3.0967451 0.0011457984 50 + 6482 9586.2159 4.1597866 0.0011457984 50 + 6484 9702.8705 3.9614987 0.0011457984 50 + 6486 9812.5137 2.4781888 0.0011457984 50 + 6488 9783.0439 1.0426266 0.0011457984 50 + 6490 9786.9023 0.31640734 0.0011457984 50 + 6492 9798.5012 0.56327042 0.0011457984 50 + 6494 9725.7503 1.1843854 0.0011457984 50 + 6496 9763.3894 1.0095547 0.0011457984 50 + 6498 9754.2013 0.54200135 0.0011457984 50 + 6500 9747.7199 0.52799448 0.0011457984 50 + 6502 9825.0139 1.3472032 0.0011457984 50 + 6504 9806.6784 2.9080439 0.0011457984 50 + 6506 9739.7754 3.9790545 0.0011457984 50 + 6508 9683.515 3.8746527 0.0011457984 50 + 6510 9585.5878 3.1580565 0.0011457984 50 + 6512 9559.5437 2.6603845 0.0011457984 50 + 6514 9553.1682 3.1173833 0.0011457984 50 + 6516 9617.3126 3.8357277 0.0011457984 50 + 6518 9626.4668 3.9761292 0.0011457984 50 + 6520 9611.781 3.3021231 0.0011457984 50 + 6522 9628.0311 2.6152172 0.0011457984 50 + 6524 9591.2489 3.1468993 0.0011457984 50 + 6526 9631.1291 4.5759197 0.0011457984 50 + 6528 9694.785 5.9110989 0.0011457984 50 + 6530 9668.6226 6.4267127 0.0011457984 50 + 6532 9702.5217 5.7159704 0.0011457984 50 + 6534 9670.8943 4.9904461 0.0011457984 50 + 6536 9566.0723 5.0520415 0.0011457984 50 + 6538 9662.3465 4.9955564 0.0011457984 50 + 6540 9624.7491 4.5554432 0.0011457984 50 + 6542 9610.2655 2.935778 0.0011457984 50 + 6544 9640.991 0.78019926 0.0011457984 50 + 6546 9482.0197 -0.06082777 0.0011457984 50 + 6548 9517.953 0.049353066 0.0011457984 50 + 6550 9600.964 0.68215178 0.0011457984 50 + 6552 9502.3532 1.3797524 0.0011457984 50 + 6554 9590.7046 1.0796687 0.0011457984 50 + 6556 9562.5821 1.3001048 0.0011457984 50 + 6558 9492.4022 2.7582579 0.0011457984 50 + 6560 9685.3054 4.5270068 0.0011457984 50 + 6562 9627.4949 6.5189446 0.0011457984 50 + 6564 9545.571 7.0982162 0.0011457984 50 + 6566 9696.3483 5.9173083 0.0011457984 50 + 6568 9608.3566 5.155166 0.0011457984 50 + 6570 9798.924 4.4248249 0.0011457984 50 + 6572 9959.3866 3.9870838 0.0011457984 50 + 6574 9819.9052 3.549873 0.0011457984 50 + 6576 9834.9811 1.657563 0.0011457984 50 + 6578 9775.7119 -0.26125185 0.0011457984 50 + 6580 9566.1885 -0.83227093 0.0011457984 50 + 6582 9630.6701 -0.46258831 0.0011457984 50 + 6584 9562.4714 1.0978899 0.0011457984 50 + 6586 9567.6935 2.1431484 0.0011457984 50 + 6588 9741.3812 1.9825571 0.0011457984 50 + 6590 9601.135 2.3033609 0.0011457984 50 + 6592 9509.2215 3.0665323 0.0011457984 50 + 6594 9453.8174 4.331052 0.0011457984 50 + 6596 9355.6571 5.3819844 0.0011457984 50 + 6598 9480.7483 4.6423618 0.0011457984 50 + 6600 9561.1556 3.076253 0.0011457984 50 + 6602 9501.0943 2.0980207 0.0011457984 50 + 6604 9518.0895 2.1448739 0.0011457984 50 + 6606 9407.7483 3.3270763 0.0011457984 50 + 6608 9399.702 3.7602426 0.0011457984 50 + 6610 9418.2094 2.9607374 0.0011457984 50 + 6612 9317.8994 2.1554148 0.0011457984 50 + 6614 9404.5025 1.9811111 0.0011457984 50 + 6616 9450.3024 3.1590235 0.0011457984 50 + 6618 9430.1983 4.4687259 0.0011457984 50 + 6620 9483.1949 4.1921788 0.0011457984 50 + 6622 9360.5724 3.0184692 0.0011457984 50 + 6624 9301.5199 1.7706725 0.0011457984 50 + 6626 9358.4074 1.484283 0.0011457984 50 + 6628 9320.3863 2.3142114 0.0011457984 50 + 6630 9357.742 2.4731696 0.0011457984 50 + 6632 9289.3861 1.6933542 0.0011457984 50 + 6634 9200.1606 0.53244548 0.0011457984 50 + 6636 9285.4122 -0.21771618 0.0011457984 50 + 6638 9273.201 0.49778666 0.0011457984 50 + 6640 9277.9378 1.4890229 0.0011457984 50 + 6642 9309.8875 1.4821724 0.0011457984 50 + 6644 9212.6337 0.71477517 0.0011457984 50 + 6646 9261.9296 -0.3750363 0.0011457984 50 + 6648 9232.4584 -0.19330455 0.0011457984 50 + 6650 9138.7723 1.1930289 0.0011457984 50 + 6652 9209.3165 2.1024837 0.0011457984 50 + 6654 9210.6175 2.1006609 0.0011457984 50 + 6656 9247.419 1.0971021 0.0011457984 50 + 6658 9320.7329 0.1871267 0.0011457984 50 + 6660 9229.8721 0.61997654 0.0011457984 50 + 6662 9240.7257 1.3084329 0.0011457984 50 + 6664 9215.9737 1.4367023 0.0011457984 50 + 6666 9112.9071 0.57490944 0.0011457984 50 + 6668 9132.8078 -1.062697 0.0011457984 50 + 6670 9046.1388 -1.6518115 0.0011457984 50 + 6672 9065.662 -1.2216202 0.0011457984 50 + 6674 9211.6125 -0.71351135 0.0011457984 50 + 6676 9127.93 -0.41368587 0.0011457984 50 + 6678 9142.7655 -1.0426587 0.0011457984 50 + 6680 9132.3055 -1.1865672 0.0011457984 50 + 6682 9006.4855 0.2946137 0.0011457984 50 + 6684 9122.5655 2.1250652 0.0011457984 50 + 6686 9085.148 3.8397291 0.0011457984 50 + 6688 9012.2875 4.410528 0.0011457984 50 + 6690 9182.3707 3.690244 0.0011457984 50 + 6692 9214.2012 3.6186026 0.0011457984 50 + 6694 9300.7227 4.0300776 0.0011457984 50 + 6696 9402.6282 4.278306 0.0011457984 50 + 6698 9164.423 4.3089161 0.0011457984 50 + 6700 9120.354 2.9580788 0.0011457984 50 + 6702 9203.2662 1.3893404 0.0011457984 50 + 6704 9181.1238 1.0958729 0.0011457984 50 + 6706 9324.3846 1.485356 0.0011457984 50 + 6708 9272.2965 2.5420935 0.0011457984 50 + 6710 9136.7426 3.1878257 0.0011457984 50 + 6712 9199.9122 2.765785 0.0011457984 50 + 6714 9142.8317 2.6467469 0.0011457984 50 + 6716 9155.3753 2.8862837 0.0011457984 50 + 6718 9196.9246 3.4934651 0.0011457984 50 + 6720 9067.1701 4.3945875 0.0011457984 50 + 6722 9137.1206 4.202401 0.0011457984 50 + 6724 9232.8823 3.3789257 0.0011457984 50 + 6726 9179.6599 2.9253479 0.0011457984 50 + 6728 9247.0025 2.9044453 0.0011457984 50 + 6730 9172.3171 3.8429481 0.0011457984 50 + 6732 9098.1881 4.7163287 0.0011457984 50 + 6734 9133.5711 4.7208533 0.0011457984 50 + 6736 9049.8344 4.6670978 0.0011457984 50 + 6738 9048.7267 4.7360078 0.0011457984 50 + 6740 9119.9462 5.1393015 0.0011457984 50 + 6742 9096.1453 5.8170681 0.0011457984 50 + 6744 9148.796 5.6576858 0.0011457984 50 + 6746 9198.1038 4.6518243 0.0011457984 50 + 6748 9119.522 3.4528783 0.0011457984 50 + 6750 9163.7375 2.3742799 0.0011457984 50 + 6752 9158.9455 2.3179934 0.0011457984 50 + 6754 9200.2824 2.8007244 0.0011457984 50 + 6756 9317.021 2.996827 0.0011457984 50 + 6758 9281.32 3.0866436 0.0011457984 50 + 6760 9214.2542 3.3100198 0.0011457984 50 + 6762 9141.6297 4.2716589 0.0011457984 50 + 6764 9030.6311 6.0850048 0.0011457984 50 + 6766 8986.3202 7.7218338 0.0011457984 50 + 6768 9124.8939 8.233704 0.0011457984 50 + 6770 9181.0828 8.0567261 0.0011457984 50 + 6772 9209.2671 7.6801113 0.0011457984 50 + 6774 9122.5752 7.8305105 0.0011457984 50 + 6776 8971.9074 8.3745788 0.0011457984 50 + 6778 8961.0126 8.1704049 0.0011457984 50 + 6780 8991.452 7.0723724 0.0011457984 50 + 6782 8996.6479 5.8901461 0.0011457984 50 + 6784 9099.4595 5.2664992 0.0011457984 50 + 6786 9183.7895 5.5732067 0.0011457984 50 + 6788 9151.4641 6.1133097 0.0011457984 50 + 6790 9251.8159 5.3922335 0.0011457984 50 + 6792 9242.479 3.912959 0.0011457984 50 + 6794 9218.731 2.536709 0.0011457984 50 + 6796 9407.6498 1.6473009 0.0011457984 50 + 6798 9472.4451 1.8144248 0.0011457984 50 + 6800 9428.5911 1.9508316 0.0011457984 50 + 6802 9379.8411 1.1964955 0.0011457984 50 + 6804 9179.1839 0.5503483 0.0011457984 50 + 6806 9196.9085 0.3697523 0.0011457984 50 + 6808 9437.6308 0.9309951 0.0011457984 50 + 6810 9452.1137 2.2408358 0.0011457984 50 + 6812 9493.9746 2.5532352 0.0011457984 50 + 6814 9462.6461 1.9818521 0.0011457984 50 + 6816 9284.8303 1.6995986 0.0011457984 50 + 6818 9382.9421 1.6019612 0.0011457984 50 + 6820 9418.5061 2.1611876 0.0011457984 50 + 6822 9332.6425 2.4695103 0.0011457984 50 + 6824 9436.2739 1.289469 0.0011457984 50 + 6826 9454.9298 0.029799371 0.0011457984 50 + 6828 9467.8893 -0.40096797 0.0011457984 50 + 6830 9642.5265 -0.063364391 0.0011457984 50 + 6832 9521.2232 1.1706365 0.0011457984 50 + 6834 9485.3758 1.3674092 0.0011457984 50 + 6836 9607.1974 0.29317356 0.0011457984 50 + 6838 9576.211 -0.39980521 0.0011457984 50 + 6840 9709.349 -0.61244278 0.0011457984 50 + 6842 9790.377 -0.04841628 0.0011457984 50 + 6844 9701.5182 0.62161734 0.0011457984 50 + 6846 9782.8363 -0.038225843 0.0011457984 50 + 6848 9699.3989 -0.77828635 0.0011457984 50 + 6850 9472.2321 -0.54977139 0.0011457984 50 + 6852 9544.5917 0.29157291 0.0011457984 50 + 6854 9523.2331 1.9625881 0.0011457984 50 + 6856 9556.5287 2.9066281 0.0011457984 50 + 6858 9758.0217 2.455707 0.0011457984 50 + 6860 9720.5151 2.3155597 0.0011457984 50 + 6862 9718.898 2.8466423 0.0011457984 50 + 6864 9809.3996 3.8603313 0.0011457984 50 + 6866 9766.1581 4.6784565 0.0011457984 50 + 6868 9783.6949 3.9207863 0.0011457984 50 + 6870 9745.4637 2.4425731 0.0011457984 50 + 6872 9616.3958 1.8059494 0.0011457984 50 + 6874 9676.5806 2.2676016 0.0011457984 50 + 6876 9754.9546 3.5887651 0.0011457984 50 + 6878 9809.9564 4.4083 0.0011457984 50 + 6880 9934.5346 3.901907 0.0011457984 50 + 6882 9924.503 3.1667118 0.0011457984 50 + 6884 9892.5187 3.0940516 0.0011457984 50 + 6886 9885.7093 3.9258883 0.0011457984 50 + 6888 9857.212 4.8890991 0.0011457984 50 + 6890 9890.7579 4.7763457 0.0011457984 50 + 6892 9933.0785 3.8000778 0.0011457984 50 + 6894 9900.619 3.1976105 0.0011457984 50 + 6896 9858.432 3.7924904 0.0011457984 50 + 6898 9847.2897 5.4122494 0.0011457984 50 + 6900 9858.8995 6.969799 0.0011457984 50 + 6902 9931.5971 7.3803058 0.0011457984 50 + 6904 9917.5095 6.8833714 0.0011457984 50 + 6906 9772.3484 6.6003831 0.0011457984 50 + 6908 9615.9521 7.250668 0.0011457984 50 + 6910 9595.5589 8.2944889 0.0011457984 50 + 6912 9669.3373 8.5743927 0.0011457984 50 + 6914 9803.7043 7.2428001 0.0011457984 50 + 6916 9856.3221 5.0942255 0.0011457984 50 + 6918 9770.5344 3.8340889 0.0011457984 50 + 6920 9737.3237 3.9319718 0.0011457984 50 + 6922 9813.5645 4.5151651 0.0011457984 50 + 6924 9839.2713 4.4669171 0.0011457984 50 + 6926 9880.5785 3.1456377 0.0011457984 50 + 6928 9867.8611 1.8093077 0.0011457984 50 + 6930 9854.0491 1.8572101 0.0011457984 50 + 6932 9950.8028 3.2248345 0.0011457984 50 + 6934 10007.469 4.8800184 0.0011457984 50 + 6936 10060.405 5.2125272 0.0011457984 50 + 6938 10139.72 4.0751831 0.0011457984 50 + 6940 10103.556 3.2651112 0.0011457984 50 + 6942 10035.304 3.8806931 0.0011457984 50 + 6944 9941.4949 5.6889739 0.0011457984 50 + 6946 9748.653 7.4386549 0.0011457984 50 + 6948 9747.8782 7.5434348 0.0011457984 50 + 6950 9782.2201 6.8376514 0.0011457984 50 + 6952 9784.6755 6.7479056 0.0011457984 50 + 6954 9832.154 7.6631317 0.0011457984 50 + 6956 9744.0013 9.2453763 0.0011457984 50 + 6958 9700.4866 9.696079 0.0011457984 50 + 6960 9872.7564 8.0501877 0.0011457984 50 + 6962 9925.1225 5.8075771 0.0011457984 50 + 6964 9910.4396 4.256995 0.0011457984 50 + 6966 9830.7971 4.1976973 0.0011457984 50 + 6968 9659.6425 5.143125 0.0011457984 50 + 6970 9674.6794 5.2410296 0.0011457984 50 + 6972 9748.0172 4.3825217 0.0011457984 50 + 6974 9790.2541 3.6671921 0.0011457984 50 + 6976 9939.1812 3.9423 0.0011457984 50 + 6978 9932.8511 5.8172683 0.0011457984 50 + 6980 9884.9175 7.6922373 0.0011457984 50 + 6982 9895.2403 7.9709608 0.0011457984 50 + 6984 9762.5286 7.072368 0.0011457984 50 + 6986 9755.1631 5.5979588 0.0011457984 50 + 6988 9762.0504 4.9498373 0.0011457984 50 + 6990 9659.8034 5.3966357 0.0011457984 50 + 6992 9716.6387 5.2844339 0.0011457984 50 + 6994 9735.9467 4.2759314 0.0011457984 50 + 6996 9743.0525 2.7961936 0.0011457984 50 + 6998 9896.086 1.692222 0.0011457984 50 + 7000 9905.1475 2.2252591 0.0011457984 50 + 7002 9851.4447 3.4057239 0.0011457984 50 + 7004 9862.627 3.6016316 0.0011457984 50 + 7006 9759.465 2.6279267 0.0011457984 50 + 7008 9823.8161 0.71673442 0.0011457984 50 + 7010 9836.6571 -0.38918008 0.0011457984 50 + 7012 9742.651 -0.14535188 0.0011457984 50 + 7014 9750.9131 0.038451941 0.0011457984 50 + 7016 9720.239 -0.6333034 0.0011457984 50 + 7018 9752.3057 -2.3504903 0.0011457984 50 + 7020 9862.6501 -3.9143079 0.0011457984 50 + 7022 9836.8609 -3.6920412 0.0011457984 50 + 7024 9859.9236 -2.366967 0.0011457984 50 + 7026 9886.1452 -1.2972528 0.0011457984 50 + 7028 9759.0504 -1.1164197 0.0011457984 50 + 7030 9726.7701 -1.5244622 0.0011457984 50 + 7032 9705.1252 -0.74104909 0.0011457984 50 + 7034 9751.6131 1.5160451 0.0011457984 50 + 7036 9901.517 3.5859683 0.0011457984 50 + 7038 9920.4779 4.1768844 0.0011457984 50 + 7040 9781.1918 3.3255486 0.0011457984 50 + 7042 9672.4876 2.3834462 0.0011457984 50 + 7044 9549.8157 2.8398027 0.0011457984 50 + 7046 9523.3642 3.9150077 0.0011457984 50 + 7048 9563.0761 3.8366633 0.0011457984 50 + 7050 9517.2689 1.9767778 0.0011457984 50 + 7052 9466.1265 -0.60668872 0.0011457984 50 + 7054 9460.0101 -1.9274155 0.0011457984 50 + 7056 9478.2953 -1.2685099 0.0011457984 50 + 7058 9471.3773 -0.1073304 0.0011457984 50 + 7060 9492.9054 -0.4455594 0.0011457984 50 + 7062 9498.2241 -1.9624484 0.0011457984 50 + 7064 9551.7972 -2.5884117 0.0011457984 50 + 7066 9696.0907 -0.88024432 0.0011457984 50 + 7068 9764.5702 2.5222199 0.0011457984 50 + 7070 9740.9518 5.1339921 0.0011457984 50 + 7072 9737.3787 5.4068726 0.0011457984 50 + 7074 9630.342 4.8497948 0.0011457984 50 + 7076 9555.1194 5.3711742 0.0011457984 50 + 7078 9622.6202 7.177986 0.0011457984 50 + 7080 9578.9797 8.7394766 0.0011457984 50 + 7082 9589.5453 7.4358952 0.0011457984 50 + 7084 9672.4561 3.480566 0.0011457984 50 + 7086 9649.2968 -0.063116868 0.0011457984 50 + 7088 9645.6554 -1.3282696 0.0011457984 50 + 7090 9590.6878 -0.6524447 0.0011457984 50 + 7092 9435.5727 -0.15463847 0.0011457984 50 + 7094 9536.661 -1.8138538 0.0011457984 50 + 7096 9662.5782 -3.8494254 0.0011457984 50 + 7098 9698.9293 -3.5611364 0.0011457984 50 + 7100 9824.9231 -0.68219554 0.0011457984 50 + 7102 9784.4341 3.2622803 0.0011457984 50 + 7104 9641.4705 5.2965189 0.0011457984 50 + 7106 9683.4242 4.2100647 0.0011457984 50 + 7108 9635.9176 2.7227711 0.0011457984 50 + 7110 9657.8311 2.7728803 0.0011457984 50 + 7112 9740.3662 4.0686243 0.0011457984 50 + 7114 9610.9517 4.7455425 0.0011457984 50 + 7116 9527.4004 2.6998747 0.0011457984 50 + 7118 9488.9733 -0.60609595 0.0011457984 50 + 7120 9392.2499 -2.0143086 0.0011457984 50 + 7122 9383.3778 -0.65989418 0.0011457984 50 + 7124 9391.6481 2.0243673 0.0011457984 50 + 7126 9301.0051 3.8002685 0.0011457984 50 + 7128 9283.5382 3.7322338 0.0011457984 50 + 7130 9259.5284 3.6918727 0.0011457984 50 + 7132 9290.232 5.4416545 0.0011457984 50 + 7134 9307.6079 8.7353407 0.0011457984 50 + 7136 9320.6695 11.21586 0.0011457984 50 + 7138 9277.4608 11.165481 0.0011457984 50 + 7140 9254.2507 9.1967545 0.0011457984 50 + 7142 9298.9163 7.5227226 0.0011457984 50 + 7144 9279.7586 7.6700277 0.0011457984 50 + 7146 9216.6621 8.5381081 0.0011457984 50 + 7148 9213.4492 7.9484644 0.0011457984 50 + 7150 9221.8823 5.687558 0.0011457984 50 + 7152 9299.416 3.3114392 0.0011457984 50 + 7154 9431.6379 2.7331472 0.0011457984 50 + 7156 9418.2556 4.4086777 0.0011457984 50 + 7158 9467.3486 6.1375197 0.0011457984 50 + 7160 9497.8155 6.5764777 0.0011457984 50 + 7162 9439.7388 6.2689593 0.0011457984 50 + 7164 9445.8327 6.4266445 0.0011457984 50 + 7166 9332.322 8.4143992 0.0011457984 50 + 7168 9208.61 11.190738 0.0011457984 50 + 7170 9310.3149 12.420728 0.0011457984 50 + 7172 9351.2523 11.901528 0.0011457984 50 + 7174 9405.8964 10.335017 0.0011457984 50 + 7176 9542.4233 9.0515937 0.0011457984 50 + 7178 9474.2086 9.1449707 0.0011457984 50 + 7180 9485.7437 8.9387276 0.0011457984 50 + 7182 9550.4526 7.2951759 0.0011457984 50 + 7184 9420.8638 4.9885282 0.0011457984 50 + 7186 9440.5158 2.7685394 0.0011457984 50 + 7188 9461.3134 2.172931 0.0011457984 50 + 7190 9386.5315 3.1073231 0.0011457984 50 + 7192 9490.8781 3.7126116 0.0011457984 50 + 7194 9508.4209 3.8076901 0.0011457984 50 + 7196 9510.5281 3.4926701 0.0011457984 50 + 7198 9660.8341 3.2696957 0.0011457984 50 + 7200 9601.535 4.19073 0.0011457984 50 + 7202 9474.8425 5.2454886 0.0011457984 50 + 7204 9327.4634 5.5992572 0.0011457984 50 + 7206 9149.472 5.1619656 0.0011457984 50 + 7208 9192.9823 3.8581082 0.0011457984 50 + 7210 9255.2434 2.9255786 0.0011457984 50 + 7212 9227.6962 2.8923463 0.0011457984 50 + 7214 9255.8081 3.1432165 0.0011457984 50 + 7216 9192.628 3.4461202 0.0011457984 50 + 7218 9183.761 3.0555117 0.0011457984 50 + 7220 9247.867 2.1542773 0.0011457984 50 + 7222 9159.1068 1.8716263 0.0011457984 50 + 7224 9131.2203 2.2986379 0.0011457984 50 + 7226 9138.3216 3.4431762 0.0011457984 50 + 7228 9204.0436 4.3584618 0.0011457984 50 + 7230 9345.4984 3.962756 0.0011457984 50 + 7232 9315.6285 2.9387608 0.0011457984 50 + 7234 9192.7706 2.2882283 0.0011457984 50 + 7236 9152.6147 2.6605417 0.0011457984 50 + 7238 9097.0063 3.8442839 0.0011457984 50 + 7240 9208.8249 3.9743241 0.0011457984 50 + 7242 9369.5115 2.5468362 0.0011457984 50 + 7244 9395.1587 0.88524305 0.0011457984 50 + 7246 9395.8607 0.35110541 0.0011457984 50 + 7248 9306.3464 1.7019311 0.0011457984 50 + 7250 9141.1472 3.7093716 0.0011457984 50 + 7252 9150.9055 4.1170519 0.0011457984 50 + 7254 9225.0194 2.9947207 0.0011457984 50 + 7256 9301.5287 2.1560628 0.0011457984 50 + 7258 9420.2229 3.1245648 0.0011457984 50 + 7260 9426.5146 5.6813569 0.0011457984 50 + 7262 9314.5724 7.4774615 0.0011457984 50 + 7264 9320.0147 6.6025106 0.0011457984 50 + 7266 9307.2822 4.47175 0.0011457984 50 + 7268 9301.3998 3.5107791 0.0011457984 50 + 7270 9299.5661 4.7564319 0.0011457984 50 + 7272 9270.5218 6.7098349 0.0011457984 50 + 7274 9286.529 6.7969039 0.0011457984 50 + 7276 9410.861 4.4584762 0.0011457984 50 + 7278 9489.27 2.0011075 0.0011457984 50 + 7280 9502.3333 1.684916 0.0011457984 50 + 7282 9474.0127 3.3735745 0.0011457984 50 + 7284 9403.8255 4.638689 0.0011457984 50 + 7286 9451.1342 3.1353356 0.0011457984 50 + 7288 9480.7679 0.0066918041 0.0011457984 50 + 7290 9463.4491 -1.6395987 0.0011457984 50 + 7292 9419.4177 -0.14904997 0.0011457984 50 + 7294 9414.538 2.7399776 0.0011457984 50 + 7296 9374.7493 3.9802283 0.0011457984 50 + 7298 9364.8023 2.4941183 0.0011457984 50 + 7300 9294.6429 0.71789311 0.0011457984 50 + 7302 9298.9619 1.2068361 0.0011457984 50 + 7304 9368.068 4.0095033 0.0011457984 50 + 7306 9417.2777 6.464639 0.0011457984 50 + 7308 9408.8339 6.0709905 0.0011457984 50 + 7310 9322.6281 3.5474429 0.0011457984 50 + 7312 9281.8769 1.7436637 0.0011457984 50 + 7314 9342.533 2.3990706 0.0011457984 50 + 7316 9350.4835 4.3914393 0.0011457984 50 + 7318 9316.4467 4.6659937 0.0011457984 50 + 7320 9292.7393 2.2441799 0.0011457984 50 + 7322 9216.9193 -0.47391034 0.0011457984 50 + 7324 9315.4332 -1.1163484 0.0011457984 50 + 7326 9398.8563 0.96915884 0.0011457984 50 + 7328 9359.4189 3.434131 0.0011457984 50 + 7330 9395.2118 3.4898625 0.0011457984 50 + 7332 9387.826 1.9443663 0.0011457984 50 + 7334 9410.6837 1.2459609 0.0011457984 50 + 7336 9519.947 2.8322466 0.0011457984 50 + 7338 9484.9172 5.862886 0.0011457984 50 + 7340 9438.6075 7.2800714 0.0011457984 50 + 7342 9490.2695 5.9500588 0.0011457984 50 + 7344 9449.4263 4.0293974 0.0011457984 50 + 7346 9507.654 3.4314554 0.0011457984 50 + 7348 9496.6221 4.8283128 0.0011457984 50 + 7350 9392.7485 6.3025924 0.0011457984 50 + 7352 9441.276 5.3974276 0.0011457984 50 + 7354 9454.6318 2.9690653 0.0011457984 50 + 7356 9443.7475 1.3178664 0.0011457984 50 + 7358 9525.6456 1.7279697 0.0011457984 50 + 7360 9504.7476 3.5492429 0.0011457984 50 + 7362 9492.9302 4.143493 0.0011457984 50 + 7364 9550.7726 2.5616525 0.0011457984 50 + 7366 9526.2485 0.67866327 0.0011457984 50 + 7368 9591.2953 0.18365962 0.0011457984 50 + 7370 9664.2119 1.579754 0.0011457984 50 + 7372 9611.3609 3.4869243 0.0011457984 50 + 7374 9610.5069 3.8985181 0.0011457984 50 + 7376 9561.1861 3.3114327 0.0011457984 50 + 7378 9532.4005 3.1389618 0.0011457984 50 + 7380 9651.5365 3.9428553 0.0011457984 50 + 7382 9676.2487 5.3749563 0.0011457984 50 + 7384 9589.5116 5.8921794 0.0011457984 50 + 7386 9557.6205 4.8741386 0.0011457984 50 + 7388 9511.8686 3.7537842 0.0011457984 50 + 7390 9548.7795 3.5544484 0.0011457984 50 + 7392 9653.8805 4.2198724 0.0011457984 50 + 7394 9632.8838 5.002441 0.0011457984 50 + 7396 9719.2027 4.6499711 0.0011457984 50 + 7398 9831.2644 3.6627656 0.0011457984 50 + 7400 9883.4385 3.0827174 0.0011457984 50 + 7402 9881.9691 3.0999039 0.0011457984 50 + 7404 9749.996 3.3574858 0.0011457984 50 + 7406 9582.7862 2.9633399 0.0011457984 50 + 7408 9635.2751 1.4413803 0.0011457984 50 + 7410 9715.5639 -0.075919588 0.0011457984 50 + 7412 9757.9215 -0.83885311 0.0011457984 50 + 7414 9769.002 -0.87797105 0.0011457984 50 + 7416 9599.278 -0.33909427 0.0011457984 50 + 7418 9441.7848 0.17134883 0.0011457984 50 + 7420 9426.1066 0.68125899 0.0011457984 50 + 7422 9437.1351 1.7674849 0.0011457984 50 + 7424 9500.6425 3.2878942 0.0011457984 50 + 7426 9535.3806 4.8936619 0.0011457984 50 + 7428 9486.3862 6.1923477 0.0011457984 50 + 7430 9417.2089 6.8698959 0.0011457984 50 + 7432 9384.6502 6.9749972 0.0011457984 50 + 7434 9322.1322 6.8304123 0.0011457984 50 + 7436 9406.35 6.1073481 0.0011457984 50 + 7438 9525.9922 4.9898311 0.0011457984 50 + 7440 9559.5792 3.8870015 0.0011457984 50 + 7442 9623.884 2.7643718 0.0011457984 50 + 7444 9616.4375 1.8529093 0.0011457984 50 + 7446 9582.8656 0.9840396 0.0011457984 50 + 7448 9617.097 -0.024633469 0.0011457984 50 + 7450 9573.3835 -0.44123727 0.0011457984 50 + 7452 9476.2635 0.11013702 0.0011457984 50 + 7454 9473.8768 1.2820056 0.0011457984 50 + 7456 9459.0484 2.71048 0.0011457984 50 + 7458 9532.4938 3.5106692 0.0011457984 50 + 7460 9624.925 3.697208 0.0011457984 50 + 7462 9564.9509 4.2072021 0.0011457984 50 + 7464 9553.3086 5.0527198 0.0011457984 50 + 7466 9551.3619 5.8525434 0.0011457984 50 + 7468 9513.6267 5.6650826 0.0011457984 50 + 7470 9507.7846 3.8869282 0.0011457984 50 + 7472 9398.0642 1.8918919 0.0011457984 50 + 7474 9341.8749 0.97413899 0.0011457984 50 + 7476 9376.9782 1.4510035 0.0011457984 50 + 7478 9392.1499 2.3484419 0.0011457984 50 + 7480 9451.8765 2.1914005 0.0011457984 50 + 7482 9511.2196 1.2607779 0.0011457984 50 + 7484 9563.6374 0.88635346 0.0011457984 50 + 7486 9620.0349 1.7459739 0.0011457984 50 + 7488 9604.3505 3.2525131 0.0011457984 50 + 7490 9590.9346 3.7425664 0.0011457984 50 + 7492 9522.3988 2.8032866 0.0011457984 50 + 7494 9494.9559 1.4256268 0.0011457984 50 + 7496 9573.1982 1.0053352 0.0011457984 50 + 7498 9601.5697 1.9606036 0.0011457984 50 + 7500 9582.0828 2.6275963 0.0011457984 50 + 7502 9614.3819 1.5728655 0.0011457984 50 + 7504 9536.3627 -0.081088967 0.0011457984 50 + 7506 9585.9946 -0.92030032 0.0011457984 50 + 7508 9587.2868 0.28323303 0.0011457984 50 + 7510 9528.9131 2.5152283 0.0011457984 50 + 7512 9643.5854 3.4660557 0.0011457984 50 + 7514 9689.8607 3.2065806 0.0011457984 50 + 7516 9721.3389 2.9803491 0.0011457984 50 + 7518 9777.5554 4.1047011 0.0011457984 50 + 7520 9620.0088 6.8774095 0.0011457984 50 + 7522 9502.8216 8.9090657 0.0011457984 50 + 7524 9536.3096 8.5715993 0.0011457984 50 + 7526 9430.0745 7.0672411 0.0011457984 50 + 7528 9450.4065 5.7492142 0.0011457984 50 + 7530 9454.0207 5.7231316 0.0011457984 50 + 7532 9419.0919 5.8071811 0.0011457984 50 + 7534 9539.5751 3.8208512 0.0011457984 50 + 7536 9545.0205 0.35397896 0.0011457984 50 + 7538 9472.4819 -2.7954424 0.0011457984 50 + 7540 9417.4001 -3.9611563 0.0011457984 50 + 7542 9262.3557 -2.8579227 0.0011457984 50 + 7544 9297.3341 -1.755726 0.0011457984 50 + 7546 9427.1736 -1.6469164 0.0011457984 50 + 7548 9430.5916 -1.5166592 0.0011457984 50 + 7550 9478.5136 -0.34981721 0.0011457984 50 + 7552 9473.1761 2.6548766 0.0011457984 50 + 7554 9341.2932 6.2584298 0.0011457984 50 + 7556 9410.2365 7.8239294 0.0011457984 50 + 7558 9381.6052 7.5311417 0.0011457984 50 + 7560 9437.1569 6.3664849 0.0011457984 50 + 7562 9542.198 5.6669502 0.0011457984 50 + 7564 9477.5663 5.7225117 0.0011457984 50 + 7566 9485.1494 4.6941954 0.0011457984 50 + 7568 9535.1098 2.2509721 0.0011457984 50 + 7570 9507.2274 -0.32454484 0.0011457984 50 + 7572 9636.0736 -2.3180481 0.0011457984 50 + 7574 9658.1354 -2.7226114 0.0011457984 50 + 7576 9495.6354 -1.930176 0.0011457984 50 + 7578 9587.4497 -1.6178495 0.0011457984 50 + 7580 9622.3903 -1.3399174 0.0011457984 50 + 7582 9704.3184 -0.92434441 0.0011457984 50 + 7584 9926.6399 -0.15472678 0.0011457984 50 + 7586 9892.8863 1.6692809 0.0011457984 50 + 7588 9863.4979 3.1137697 0.0011457984 50 + 7590 9906.4139 3.4536603 0.0011457984 50 + 7592 9769.0965 3.4593296 0.0011457984 50 + 7594 9743.17 3.0424924 0.0011457984 50 + 7596 9719.9591 2.8191167 0.0011457984 50 + 7598 9558.0651 3.0322152 0.0011457984 50 + 7600 9645.6938 2.6112039 0.0011457984 50 + 7602 9714.0215 2.185614 0.0011457984 50 + 7604 9605.7654 2.3876785 0.0011457984 50 + 7606 9693.6003 2.6081601 0.0011457984 50 + 7608 9629.2089 3.4337647 0.0011457984 50 + 7610 9551.3938 4.3618115 0.0011457984 50 + 7612 9601.7189 5.042988 0.0011457984 50 + 7614 9530.2921 6.231394 0.0011457984 50 + 7616 9423.4273 7.5166546 0.0011457984 50 + 7618 9505.4428 8.0291626 0.0011457984 50 + 7620 9429.315 8.1655715 0.0011457984 50 + 7622 9410.5734 7.5124718 0.0011457984 50 + 7624 9483.015 6.434736 0.0011457984 50 + 7626 9417.367 5.8180565 0.0011457984 50 + 7628 9504.2707 4.8808406 0.0011457984 50 + 7630 9708.7689 3.1972208 0.0011457984 50 + 7632 9705.0142 1.4578035 0.0011457984 50 + 7634 9712.5013 0.041948151 0.0011457984 50 + 7636 9729.5345 -0.061359152 0.0011457984 50 + 7638 9603.3866 1.3424057 0.0011457984 50 + 7640 9659.7375 2.5412485 0.0011457984 50 + 7642 9653.7578 3.3597609 0.0011457984 50 + 7644 9526.3277 4.5019132 0.0011457984 50 + 7646 9522.1426 6.4723916 0.0011457984 50 + 7648 9551.1617 9.4539084 0.0011457984 50 + 7650 9448.6486 12.17887 0.0011457984 50 + 7652 9441.6445 12.73528 0.0011457984 50 + 7654 9372.3016 11.623139 0.0011457984 50 + 7656 9353.7281 10.159189 0.0011457984 50 + 7658 9533.6437 9.1148105 0.0011457984 50 + 7660 9720.4729 8.2979611 0.0011457984 50 + 7662 9687.7535 6.5903069 0.0011457984 50 + 7664 9679.7651 3.1582718 0.0011457984 50 + 7666 9506.8095 -0.16657303 0.0011457984 50 + 7668 9432.2748 -1.9647403 0.0011457984 50 + 7670 9562.3452 -2.0511502 0.0011457984 50 + 7672 9603.1776 -1.1215214 0.0011457984 50 + 7674 9614.5799 -0.73355736 0.0011457984 50 + 7676 9717.1466 -0.97171895 0.0011457984 50 + 7678 9660.4746 -0.065105035 0.0011457984 50 + 7680 9652.4727 2.1105705 0.0011457984 50 + 7682 9632.6572 4.7124033 0.0011457984 50 + 7684 9459.4445 6.5506091 0.0011457984 50 + 7686 9459.2384 6.5399378 0.0011457984 50 + 7688 9527.0273 5.8950819 0.0011457984 50 + 7690 9552.6913 5.8727872 0.0011457984 50 + 7692 9594.6979 6.1402731 0.0011457984 50 + 7694 9507.6571 6.0382366 0.0011457984 50 + 7696 9435.6211 4.6987185 0.0011457984 50 + 7698 9593.5298 2.4864572 0.0011457984 50 + 7700 9649.3417 1.3774067 0.0011457984 50 + 7702 9733.9587 1.3621968 0.0011457984 50 + 7704 9748.2134 1.6826187 0.0011457984 50 + 7706 9607.2673 1.730675 0.0011457984 50 + 7708 9570.3284 1.056172 0.0011457984 50 + 7710 9623.4646 0.68062243 0.0011457984 50 + 7712 9584.1504 1.5492829 0.0011457984 50 + 7714 9727.4828 2.3647176 0.0011457984 50 + 7716 9768.0882 2.5188312 0.0011457984 50 + 7718 9675.8436 1.915033 0.0011457984 50 + 7720 9742.4159 0.98004134 0.0011457984 50 + 7722 9729.339 1.348188 0.0011457984 50 + 7724 9737.0089 2.3572792 0.0011457984 50 + 7726 9867.0438 2.3334077 0.0011457984 50 + 7728 9685.1497 1.779699 0.0011457984 50 + 7730 9541.5463 1.0959201 0.0011457984 50 + 7732 9601.3202 1.360164 0.0011457984 50 + 7734 9511.1979 3.3763173 0.0011457984 50 + 7736 9691.0676 4.6273168 0.0011457984 50 + 7738 9841.6024 4.2729278 0.0011457984 50 + 7740 9648.3216 3.3438312 0.0011457984 50 + 7742 9644.2115 2.2183629 0.0011457984 50 + 7744 9588.828 2.5300306 0.0011457984 50 + 7746 9341.8422 3.7987816 0.0011457984 50 + 7748 9547.0139 3.0814107 0.0011457984 50 + 7750 9527.4193 1.3593932 0.0011457984 50 + 7752 9489.3054 -0.4087885 0.0011457984 50 + 7754 9740.3405 -1.2673367 0.0011457984 50 + 7756 9721.0147 0.00428777 0.0011457984 50 + 7758 9702.5241 0.82419258 0.0011457984 50 + 7760 9859.071 -0.6228219 0.0011457984 50 + 7762 9650.9663 -2.3957203 0.0011457984 50 + 7764 9706.9729 -3.6785526 0.0011457984 50 + 7766 9818.8903 -2.8392329 0.0011457984 50 + 7768 9663.4435 -0.34323863 0.0011457984 50 + 7770 9803.2456 0.38943494 0.0011457984 50 + 7772 9820.2274 -0.39394936 0.0011457984 50 + 7774 9713.4768 -1.0733572 0.0011457984 50 + 7776 9852.736 -0.42363135 0.0011457984 50 + 7778 9886.2509 2.3769023 0.0011457984 50 + 7780 9832.7358 4.9166992 0.0011457984 50 + 7782 9932.8973 4.712252 0.0011457984 50 + 7784 9796.5384 3.1448764 0.0011457984 50 + 7786 9753.7015 1.9309203 0.0011457984 50 + 7788 9839.8416 2.3899169 0.0011457984 50 + 7790 9872.1501 3.7655463 0.0011457984 50 + 7792 9953.7516 3.4859888 0.0011457984 50 + 7794 10034.369 1.1698958 0.0011457984 50 + 7796 9944.3003 -0.92549906 0.0011457984 50 + 7798 9965.518 -1.1278296 0.0011457984 50 + 7800 10012.5 0.80938361 0.0011457984 50 + 7802 10034.925 2.8840295 0.0011457984 50 + 7804 10097.202 3.1108041 0.0011457984 50 + 7806 10109.566 2.2692514 0.0011457984 50 + 7808 10070.186 2.6683711 0.0011457984 50 + 7810 10086.066 5.1330175 0.0011457984 50 + 7812 10101.889 8.1779122 0.0011457984 50 + 7814 9955.2551 9.6584018 0.0011457984 50 + 7816 9924.9784 8.6108988 0.0011457984 50 + 7818 9892.9233 7.3026856 0.0011457984 50 + 7820 9940.0085 7.6562588 0.0011457984 50 + 7822 10043.889 9.2169653 0.0011457984 50 + 7824 10040.433 10.071061 0.0011457984 50 + 7826 9888.6625 8.8793367 0.0011457984 50 + 7828 9843.2339 6.2958302 0.0011457984 50 + 7830 9769.9935 4.9813275 0.0011457984 50 + 7832 9817.1369 5.5036474 0.0011457984 50 + 7834 9908.1863 6.5022137 0.0011457984 50 + 7836 9836.952 6.5533027 0.0011457984 50 + 7838 9823.5066 5.1861522 0.0011457984 50 + 7840 9842.244 4.290555 0.0011457984 50 + 7842 9807.8307 5.4702915 0.0011457984 50 + 7844 9866.4119 7.5011118 0.0011457984 50 + 7846 9948.1838 8.4741237 0.0011457984 50 + 7848 9929.854 7.7316361 0.0011457984 50 + 7850 10067.409 5.8569645 0.0011457984 50 + 7852 10032.145 5.2165212 0.0011457984 50 + 7854 9899.4962 6.0924898 0.0011457984 50 + 7856 9921.7169 6.719158 0.0011457984 50 + 7858 9916.003 6.389409 0.0011457984 50 + 7860 9870.0171 5.3824146 0.0011457984 50 + 7862 9982.1614 4.6911758 0.0011457984 50 + 7864 9885.8857 5.9014244 0.0011457984 50 + 7866 9833.4896 7.7602131 0.0011457984 50 + 7868 9945.8481 8.582649 0.0011457984 50 + 7870 9940.9251 8.4512902 0.0011457984 50 + 7872 9955.2114 7.7609086 0.0011457984 50 + 7874 9947.7609 7.5875024 0.0011457984 50 + 7876 9824.999 8.1626806 0.0011457984 50 + 7878 9821.2327 8.0188501 0.0011457984 50 + 7880 9842.1396 6.8799344 0.0011457984 50 + 7882 9763.4974 5.6291783 0.0011457984 50 + 7884 9830.8014 4.8298768 0.0011457984 50 + 7886 9864.651 5.1057619 0.0011457984 50 + 7888 9897.6271 5.4523732 0.0011457984 50 + 7890 9969.4632 4.8645946 0.0011457984 50 + 7892 9905.2637 4.0683578 0.0011457984 50 + 7894 9867.218 3.7625675 0.0011457984 50 + 7896 9964.8143 4.1222515 0.0011457984 50 + 7898 9970.8383 4.8135178 0.0011457984 50 + 7900 9960.2843 4.6528207 0.0011457984 50 + 7902 9929.1614 4.0045485 0.0011457984 50 + 7904 9732.7455 4.4197682 0.0011457984 50 + 7906 9784.6307 5.46138 0.0011457984 50 + 7908 9902.0578 6.4536086 0.0011457984 50 + 7910 9835.8696 6.5806316 0.0011457984 50 + 7912 9816.4882 5.2605278 0.0011457984 50 + 7914 9678.3646 4.2597874 0.0011457984 50 + 7916 9495.2316 4.5265141 0.0011457984 50 + 7918 9625.0995 4.6607196 0.0011457984 50 + 7920 9667.4185 3.9419695 0.0011457984 50 + 7922 9602.5767 1.8452379 0.0011457984 50 + 7924 9714.4671 -0.78549348 0.0011457984 50 + 7926 9600.4719 -1.3021957 0.0011457984 50 + 7928 9595.5944 -0.40978783 0.0011457984 50 + 7930 9671.4849 0.18383962 0.0011457984 50 + 7932 9427.9403 0.13097094 0.0011457984 50 + 7934 9336.0891 -0.75045689 0.0011457984 50 + 7936 9377.7418 -0.37773788 0.0011457984 50 + 7938 9313.8567 2.3838933 0.0011457984 50 + 7940 9563.9378 4.7263846 0.0011457984 50 + 7942 9725.0125 5.1314861 0.0011457984 50 + 7944 9526.2488 3.8387064 0.0011457984 50 + 7946 9567.6993 1.6692464 0.0011457984 50 + 7948 9454.276 1.4617733 0.0011457984 50 + 7950 9353.5637 2.4804377 0.0011457984 50 + 7952 9601.2572 1.7746058 0.0011457984 50 + 7954 9621.3707 -0.54877445 0.0011457984 50 + 7956 9545.5258 -3.3532832 0.0011457984 50 + 7958 9635.7985 -4.5615531 0.0011457984 50 + 7960 9426.8802 -2.4111311 0.0011457984 50 + 7962 9415.5196 0.10777037 0.0011457984 50 + 7964 9525.2541 0.98550692 0.0011457984 50 + 7966 9409.782 1.0022769 0.0011457984 50 + 7968 9501.2728 1.0925635 0.0011457984 50 + 7970 9566.9142 2.9916085 0.0011457984 50 + 7972 9434.188 5.8343619 0.0011457984 50 + 7974 9543.452 6.3023867 0.0011457984 50 + 7976 9515.7435 4.393159 0.0011457984 50 + 7978 9397.8265 1.67238 0.0011457984 50 + 7980 9518.8853 -0.26214002 0.0011457984 50 + 7982 9464.9738 -0.20322159 0.0011457984 50 + 7984 9411.3658 -0.34294737 0.0011457984 50 + 7986 9480.5763 -2.2898799 0.0011457984 50 + 7988 9346.0022 -4.3015335 0.0011457984 50 + 7990 9323.7758 -4.7818874 0.0011457984 50 + 7992 9447.4591 -2.8155787 0.0011457984 50 + 7994 9370.0301 0.86042184 0.0011457984 50 + 7996 9414.3206 3.209964 0.0011457984 50 + 7998 9443.2413 3.7897264 0.0011457984 50 + 8000 9337.5805 4.2404387 0.0011457984 50 +Loop time of 107.636 on 8 procs for 8000 steps with 848 atoms + +Performance: 6.422 ns/day, 3.737 hours/ns, 74.325 timesteps/s +93.6% CPU use with 8 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0071581 | 0.99286 | 4.3913 | 151.9 | 0.92 +Bond | 0.023263 | 2.2103 | 10.081 | 229.9 | 2.05 +Kspace | 28.814 | 39.764 | 42.853 | 76.0 | 36.94 +Neigh | 6.4084 | 6.4395 | 6.4689 | 1.0 | 5.98 +Comm | 0.19227 | 0.25072 | 0.36267 | 12.4 | 0.23 +Output | 56.437 | 56.509 | 56.849 | 1.7 | 52.50 +Modify | 0.78657 | 1.4521 | 1.6493 | 23.1 | 1.35 +Other | | 0.0172 | | | 0.02 + +Nlocal: 106.000 ave 407 max 0 min +Histogram: 5 0 0 0 1 0 1 0 0 1 +Nghost: 71.1250 ave 338 max 0 min +Histogram: 5 0 1 0 1 0 0 0 0 1 +Neighs: 7377.88 ave 29891 max 0 min +Histogram: 5 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 59023 +Ave neighs/atom = 69.602594 +Ave special neighs/atom = 11.443396 +Neighbor list builds = 8000 +Dangerous builds = 0 +System init for write_data ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:328) + G vector (1/distance) = 0.20144813 + grid = 45 45 45 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0022576485 + estimated relative force accuracy = 6.7988414e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 21952 12167 +System init for write_data ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:328) + G vector (1/distance) = 0.20144813 + grid = 45 45 45 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0022576485 + estimated relative force accuracy = 6.7988414e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 21952 12167 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:48 diff --git a/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_map_create_atoms b/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_map_create_atoms new file mode 100644 index 0000000000..a90f1528bb --- /dev/null +++ b/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_map_create_atoms @@ -0,0 +1,66 @@ +this is a map file + +1 edgeIDs +30 equivalences +16 createIDs + +EdgeIDs + +30 + +BondingIDs + +4 +13 + +CreateIDs + +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 + +Equivalences + +1 45 +2 46 +3 44 +4 43 +5 42 +6 41 +7 40 +8 39 +9 38 +10 37 +11 36 +12 35 +13 34 +14 33 +15 32 +16 31 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 diff --git a/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_reacted.data_template b/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_reacted.data_template new file mode 100755 index 0000000000..83f04899b1 --- /dev/null +++ b/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_reacted.data_template @@ -0,0 +1,456 @@ +LAMMPS data file. msi2lmp v3.9.8 / 06 Oct 2016 / CGCMM for chain_plus_styrene_reacted + +46 atoms +48 bonds +81 angles +121 dihedrals +35 impropers +1 fragments + +Fragments + +create_fit 34 44 + +Types + +1 1 +2 2 +3 1 +4 5 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 6 +15 2 +16 2 +17 1 +18 2 +19 1 +20 5 +21 1 +22 2 +23 1 +24 2 +25 1 +26 2 +27 1 +28 2 +29 2 +30 6 +31 1 +32 2 +33 1 +34 5 +35 1 +36 2 +37 1 +38 2 +39 1 +40 2 +41 1 +42 2 +43 2 +44 6 +45 2 +46 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.129000 +18 0.123700 +19 0.026600 +20 -0.018200 +21 -0.129000 +22 0.123700 +23 -0.173400 +24 0.140300 +25 -0.113400 +26 0.128800 +27 -0.173400 +28 0.140300 +29 0.051600 +30 -0.069600 +31 -0.129000 +32 0.123700 +33 0.026600 +34 -0.018200 +35 -0.129000 +36 0.123700 +37 -0.173400 +38 0.140300 +39 -0.113400 +40 0.128800 +41 -0.173400 +42 0.140300 +43 0.051600 +44 -0.069600 +45 0.035400 +46 0.035400 + +Coords + +1 24.130699 1.043900 -1.309300 +2 25.062700 1.582900 -1.309300 +3 22.900700 1.753900 -1.309300 +4 22.900700 3.253900 -1.309300 +5 21.670700 1.043900 -1.309300 +6 20.738701 1.582900 -1.309300 +7 21.670700 -0.376100 -1.309300 +8 20.738701 -0.915100 -1.309300 +9 22.900700 -1.086100 -1.309300 +10 22.900700 -2.163100 -1.309300 +11 24.130699 -0.376100 -1.309300 +12 25.062700 -0.915100 -1.309300 +13 23.766701 3.658900 -0.952300 +14 21.622700 3.802900 -1.871300 +15 21.672701 4.544900 -1.970300 +16 20.979700 2.979900 -2.165300 +17 13.465800 0.682500 -1.658900 +18 14.397800 1.221500 -1.658900 +19 12.235800 1.392500 -1.658900 +20 12.235800 2.892500 -1.658900 +21 11.005800 0.682500 -1.658900 +22 10.073800 1.221500 -1.658900 +23 11.005800 -0.737500 -1.658900 +24 10.073800 -1.276500 -1.658900 +25 12.235800 -1.447500 -1.658900 +26 12.235800 -2.524500 -1.658900 +27 13.465800 -0.737500 -1.658900 +28 14.397800 -1.276500 -1.658900 +29 13.101800 3.297500 -1.301900 +30 10.957800 3.441500 -2.220900 +31 18.663500 0.855500 -1.372100 +32 19.595501 1.394500 -1.372100 +33 17.433500 1.565500 -1.372100 +34 17.433500 3.065500 -1.372100 +35 16.203501 0.855500 -1.372100 +36 15.271500 1.394500 -1.372100 +37 16.203501 -0.564500 -1.372100 +38 15.271500 -1.103500 -1.372100 +39 17.433500 -1.274500 -1.372100 +40 17.433500 -2.351500 -1.372100 +41 18.663500 -0.564500 -1.372100 +42 19.595501 -1.103500 -1.372100 +43 18.299500 3.470500 -1.015100 +44 16.155500 3.614500 -1.934100 +45 16.205500 4.356500 -2.033100 +46 15.512500 2.791500 -2.228100 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 11 3 4 +5 2 3 5 +6 12 13 4 +7 13 4 14 +8 1 5 6 +9 2 5 7 +10 1 7 8 +11 2 7 9 +12 1 9 10 +13 2 9 11 +14 1 11 12 +15 10 15 14 +16 10 16 14 +17 9 14 34 +18 1 17 18 +19 2 17 19 +20 2 17 27 +21 7 19 20 +22 2 19 21 +23 8 29 20 +24 9 30 20 +25 9 44 20 +26 1 21 22 +27 2 21 23 +28 1 23 24 +29 2 23 25 +30 1 25 26 +31 2 25 27 +32 1 27 28 +33 1 31 32 +34 2 31 33 +35 2 31 41 +36 7 33 34 +37 2 33 35 +38 8 43 34 +39 9 44 34 +40 1 35 36 +41 2 35 37 +42 1 37 38 +43 2 37 39 +44 1 39 40 +45 2 39 41 +46 1 41 42 +47 10 45 44 +48 10 46 44 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 17 1 3 4 +5 2 1 3 5 +6 17 5 3 4 +7 18 3 4 13 +8 19 3 4 14 +9 20 13 4 14 +10 1 3 5 6 +11 2 3 5 7 +12 1 7 5 6 +13 1 5 7 8 +14 2 5 7 9 +15 1 9 7 8 +16 1 7 9 10 +17 2 7 9 11 +18 1 11 9 10 +19 2 1 11 9 +20 1 1 11 12 +21 1 9 11 12 +22 21 15 14 4 +23 21 16 14 4 +24 22 4 14 34 +25 15 15 14 16 +26 14 15 14 34 +27 14 16 14 34 +28 1 19 17 18 +29 1 27 17 18 +30 2 19 17 27 +31 9 17 19 20 +32 2 17 19 21 +33 9 21 19 20 +34 10 19 20 29 +35 11 19 20 30 +36 11 19 20 44 +37 12 29 20 30 +38 12 29 20 44 +39 13 30 20 44 +40 1 19 21 22 +41 2 19 21 23 +42 1 23 21 22 +43 1 21 23 24 +44 2 21 23 25 +45 1 25 23 24 +46 1 23 25 26 +47 2 23 25 27 +48 1 27 25 26 +49 2 17 27 25 +50 1 17 27 28 +51 1 25 27 28 +52 1 33 31 32 +53 1 41 31 32 +54 2 33 31 41 +55 9 31 33 34 +56 2 31 33 35 +57 9 35 33 34 +58 11 33 34 14 +59 12 43 34 14 +60 13 14 34 44 +61 10 33 34 43 +62 11 33 34 44 +63 12 43 34 44 +64 1 33 35 36 +65 2 33 35 37 +66 1 37 35 36 +67 1 35 37 38 +68 2 35 37 39 +69 1 39 37 38 +70 1 37 39 40 +71 2 37 39 41 +72 1 41 39 40 +73 2 31 41 39 +74 1 31 41 42 +75 1 39 41 42 +76 16 20 44 34 +77 14 45 44 20 +78 14 46 44 20 +79 14 45 44 34 +80 14 46 44 34 +81 15 45 44 46 + +Dihedrals + +1 20 2 1 3 4 +2 2 5 3 1 2 +3 21 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 22 1 3 4 13 +10 23 1 3 4 14 +11 22 5 3 4 13 +12 23 5 3 4 14 +13 2 1 3 5 6 +14 4 1 3 5 7 +15 20 6 5 3 4 +16 21 7 5 3 4 +17 24 3 4 14 15 +18 24 3 4 14 16 +19 25 3 4 14 34 +20 26 13 4 14 15 +21 26 13 4 14 16 +22 27 13 4 14 34 +23 2 3 5 7 8 +24 4 3 5 7 9 +25 5 6 5 7 8 +26 2 9 7 5 6 +27 2 5 7 9 10 +28 4 5 7 9 11 +29 5 8 7 9 10 +30 2 11 9 7 8 +31 4 7 9 11 1 +32 2 7 9 11 12 +33 2 1 11 9 10 +34 5 10 9 11 12 +35 28 4 14 34 33 +36 29 4 14 34 43 +37 30 4 14 34 44 +38 31 15 14 34 33 +39 32 15 14 34 43 +40 33 15 14 34 44 +41 31 16 14 34 33 +42 32 16 14 34 43 +43 33 16 14 34 44 +44 10 18 17 19 20 +45 2 21 19 17 18 +46 11 27 17 19 20 +47 4 27 17 19 21 +48 2 25 27 17 18 +49 5 18 17 27 28 +50 4 19 17 27 25 +51 2 19 17 27 28 +52 12 17 19 20 29 +53 13 17 19 20 30 +54 13 17 19 20 44 +55 12 21 19 20 29 +56 13 21 19 20 30 +57 13 21 19 20 44 +58 2 17 19 21 22 +59 4 17 19 21 23 +60 10 22 21 19 20 +61 11 23 21 19 20 +62 34 34 44 20 19 +63 31 45 44 20 19 +64 31 46 44 20 19 +65 35 34 44 20 29 +66 32 45 44 20 29 +67 32 46 44 20 29 +68 36 34 44 20 30 +69 33 45 44 20 30 +70 33 46 44 20 30 +71 2 19 21 23 24 +72 4 19 21 23 25 +73 5 22 21 23 24 +74 2 25 23 21 22 +75 2 21 23 25 26 +76 4 21 23 25 27 +77 5 24 23 25 26 +78 2 27 25 23 24 +79 4 23 25 27 17 +80 2 23 25 27 28 +81 2 17 27 25 26 +82 5 26 25 27 28 +83 10 32 31 33 34 +84 2 35 33 31 32 +85 11 41 31 33 34 +86 4 41 31 33 35 +87 2 39 41 31 32 +88 5 32 31 41 42 +89 4 33 31 41 39 +90 2 33 31 41 42 +91 13 31 33 34 14 +92 12 31 33 34 43 +93 13 31 33 34 44 +94 13 35 33 34 14 +95 12 35 33 34 43 +96 13 35 33 34 44 +97 2 31 33 35 36 +98 4 31 33 35 37 +99 10 36 35 33 34 +100 11 37 35 33 34 +101 36 20 44 34 14 +102 33 45 44 34 14 +103 33 46 44 34 14 +104 34 20 44 34 33 +105 31 45 44 34 33 +106 31 46 44 34 33 +107 35 20 44 34 43 +108 32 45 44 34 43 +109 32 46 44 34 43 +110 2 33 35 37 38 +111 4 33 35 37 39 +112 5 36 35 37 38 +113 2 39 37 35 36 +114 2 35 37 39 40 +115 4 35 37 39 41 +116 5 38 37 39 40 +117 2 41 39 37 38 +118 4 37 39 41 31 +119 2 37 39 41 42 +120 2 31 41 39 40 +121 5 40 39 41 42 + +Impropers + +1 1 3 1 11 2 +2 8 1 3 5 4 +3 9 3 4 13 14 +4 1 3 5 7 6 +5 1 5 7 9 8 +6 1 7 9 11 10 +7 1 1 11 9 12 +8 1 19 17 27 18 +9 5 17 19 21 20 +10 1 19 21 23 22 +11 1 21 23 25 24 +12 1 23 25 27 26 +13 1 17 27 25 28 +14 1 33 31 41 32 +15 5 31 33 35 34 +16 1 33 35 37 36 +17 1 35 37 39 38 +18 1 37 39 41 40 +19 1 31 41 39 42 +20 1 15 14 16 4 +21 1 15 14 4 34 +22 1 16 14 4 34 +23 1 15 14 16 34 +24 1 19 20 29 30 +25 1 19 20 29 44 +26 1 19 20 30 44 +27 1 29 20 30 44 +28 1 33 34 43 14 +29 1 33 34 14 44 +30 1 43 34 14 44 +31 1 33 34 43 44 +32 1 45 44 34 20 +33 1 46 44 34 20 +34 1 45 44 46 20 +35 1 45 44 46 34 diff --git a/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_unreacted_create_atoms.data_template b/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_unreacted_create_atoms.data_template new file mode 100644 index 0000000000..f85b928f1e --- /dev/null +++ b/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_unreacted_create_atoms.data_template @@ -0,0 +1,294 @@ +LAMMPS data file via write_data, version 18 Sep 2020, timestep = 0 + +30 atoms +31 bonds +51 angles +73 dihedrals +21 impropers + +Types + +1 2 +2 2 +3 6 +4 2 +5 2 +6 1 +7 2 +8 1 +9 2 +10 1 +11 2 +12 1 +13 5 +14 1 +15 2 +16 1 +17 1 +18 2 +19 1 +20 5 +21 1 +22 2 +23 1 +24 2 +25 1 +26 2 +27 1 +28 2 +29 2 +30 6 + +Coords + +1 59.89981112372972 62.733697275315585 59.09884284578856 +2 61.41970248324232 63.42116581894993 59.52874545893742 +3 60.864754970096406 62.91724243011892 59.559720865992695 +4 62.139819000186826 61.41011937002877 60.81065044071466 +5 60.036455711425084 57.160029629288026 60.31958663310848 +6 59.734195751174056 58.18706337912225 60.20562410798949 +7 57.64574781117771 57.712432799329 59.860109977091554 +8 58.37408644866664 58.50134169314242 59.94422053768215 +9 56.94300092269842 60.093170109004795 59.5955638127831 +10 57.974275786582744 59.85577775892068 59.793714995577716 +11 58.63231375134033 61.922969938852454 59.79065033121885 +12 58.934573711591355 60.89593618901822 59.904612856337835 +13 61.30908151524225 61.68041745837013 60.28316188676589 +14 60.29468229868386 60.58165855333751 60.16601625920239 +15 61.725768540066994 58.98982945913568 60.51467315154424 +16 60.69449367618267 59.2272218092198 60.31652196874961 +17 56.90935800040509 62.609851248143706 59.150831390216375 +18 57.940632148874506 62.37245957639904 59.3489824055682 +19 56.509546622906285 63.96428799226142 59.00032568066915 +20 57.52394583946467 65.06304689729403 59.11747130823266 +21 55.14943732039887 64.27856630628159 58.738922110361806 +22 54.84717807556275 65.30559937777636 58.62495975268562 +23 54.18913939539026 63.23840787618404 58.62802424960169 +24 53.15786524692084 63.4757995479287 58.42987323424986 +25 54.58895077288906 61.88397113206633 58.77852995914891 +26 53.86061213540014 61.09506223825291 58.69441939855832 +27 55.94906007539648 61.56969281804616 59.039933529456256 +28 56.2513193202326 60.54265974655139 59.15389588713244 +29 58.35468332440925 64.79274880895268 59.64495986218142 +30 57.07961929431883 66.29987186904283 58.394030287459465 + +Charges + +1 0.0354 +2 0.0354 +3 -0.0696 +4 0.0516 +5 0.1403 +6 -0.1734 +7 0.1288 +8 -0.1134 +9 0.1403 +10 -0.1734 +11 0.1237 +12 -0.129 +13 -0.0182 +14 0.0266 +15 0.1237 +16 -0.129 +17 -0.129 +18 0.1237 +19 0.0266 +20 -0.0182 +21 -0.129 +22 0.1237 +23 -0.1734 +24 0.1403 +25 -0.1134 +26 0.1288 +27 -0.1734 +28 0.1403 +29 0.0516 +30 -0.0696 + +Bonds + +1 10 1 3 +2 10 2 3 +3 8 4 13 +4 1 6 5 +5 1 8 7 +6 2 8 6 +7 1 10 9 +8 2 10 8 +9 1 12 11 +10 2 12 10 +11 9 13 3 +12 7 14 13 +13 2 14 12 +14 1 16 15 +15 2 16 14 +16 2 16 6 +17 1 17 18 +18 2 17 19 +19 2 17 27 +20 7 19 20 +21 2 19 21 +22 9 20 30 +23 9 20 3 +24 1 21 22 +25 2 21 23 +26 1 23 24 +27 2 23 25 +28 1 25 26 +29 2 25 27 +30 1 27 28 +31 8 29 20 + +Angles + +1 16 20 3 13 +2 14 2 3 20 +3 14 1 3 20 +4 14 2 3 13 +5 14 1 3 13 +6 15 2 3 1 +7 2 16 6 8 +8 1 16 6 5 +9 1 8 6 5 +10 1 10 8 7 +11 2 10 8 6 +12 1 6 8 7 +13 1 12 10 9 +14 2 12 10 8 +15 1 8 10 9 +16 1 14 12 11 +17 2 14 12 10 +18 1 10 12 11 +19 10 14 13 4 +20 11 14 13 3 +21 12 4 13 3 +22 9 16 14 13 +23 2 16 14 12 +24 9 12 14 13 +25 1 14 16 15 +26 1 6 16 15 +27 2 14 16 6 +28 1 19 17 18 +29 1 27 17 18 +30 2 19 17 27 +31 9 17 19 20 +32 2 17 19 21 +33 9 21 19 20 +34 10 19 20 29 +35 11 19 20 30 +36 11 19 20 3 +37 12 29 20 30 +38 12 29 20 3 +39 13 30 20 3 +40 1 19 21 22 +41 2 19 21 23 +42 1 23 21 22 +43 1 21 23 24 +44 2 21 23 25 +45 1 25 23 24 +46 1 23 25 26 +47 2 23 25 27 +48 1 27 25 26 +49 2 17 27 25 +50 1 17 27 28 +51 1 25 27 28 + +Dihedrals + +1 2 8 6 16 15 +2 2 16 6 8 7 +3 2 6 8 10 9 +4 4 10 8 6 16 +5 2 10 8 6 5 +6 5 7 8 6 5 +7 2 8 10 12 11 +8 2 12 10 8 7 +9 4 12 10 8 6 +10 5 9 10 8 7 +11 10 11 12 14 13 +12 11 10 12 14 13 +13 2 14 12 10 9 +14 4 14 12 10 8 +15 5 11 12 10 9 +16 17 14 13 3 20 +17 14 14 13 3 2 +18 14 14 13 3 1 +19 18 4 13 3 20 +20 15 4 13 3 2 +21 15 4 13 3 1 +22 2 12 14 16 15 +23 12 16 14 13 4 +24 13 16 14 13 3 +25 12 12 14 13 4 +26 13 12 14 13 3 +27 2 16 14 12 11 +28 4 16 14 12 10 +29 10 15 16 14 13 +30 11 6 16 14 13 +31 4 6 16 14 12 +32 5 15 16 6 5 +33 4 14 16 6 8 +34 2 14 16 6 5 +35 10 18 17 19 20 +36 11 27 17 19 20 +37 4 27 17 19 21 +38 5 18 17 27 28 +39 4 19 17 27 25 +40 2 19 17 27 28 +41 2 21 19 17 18 +42 12 17 19 20 29 +43 13 17 19 20 30 +44 13 17 19 20 3 +45 12 21 19 20 29 +46 13 21 19 20 30 +47 13 21 19 20 3 +48 2 17 19 21 22 +49 4 17 19 21 23 +50 17 19 20 3 13 +51 14 19 20 3 2 +52 14 19 20 3 1 +53 18 29 20 3 13 +54 15 29 20 3 2 +55 15 29 20 3 1 +56 19 30 20 3 13 +57 16 30 20 3 2 +58 16 30 20 3 1 +59 10 22 21 19 20 +60 11 23 21 19 20 +61 2 19 21 23 24 +62 4 19 21 23 25 +63 5 22 21 23 24 +64 2 25 23 21 22 +65 2 21 23 25 26 +66 4 21 23 25 27 +67 5 24 23 25 26 +68 2 27 25 23 24 +69 4 23 25 27 17 +70 2 23 25 27 28 +71 5 26 25 27 28 +72 2 25 27 17 18 +73 2 17 27 25 26 + +Impropers + +1 1 2 3 13 20 +2 1 1 3 13 20 +3 1 2 3 1 20 +4 1 2 3 1 13 +5 1 16 6 8 5 +6 1 10 8 6 7 +7 1 12 10 8 9 +8 1 14 12 10 11 +9 7 14 13 4 3 +10 5 16 14 12 13 +11 1 14 16 6 15 +12 1 19 17 27 18 +13 5 17 19 21 20 +14 1 19 20 29 30 +15 1 19 20 29 3 +16 1 19 20 30 3 +17 1 29 20 30 3 +18 1 19 21 23 22 +19 1 21 23 25 24 +20 1 23 25 27 26 +21 1 17 27 25 28 diff --git a/examples/USER/reaction/polystyrene_create_atoms/infromdata.class2 b/examples/USER/reaction/polystyrene_create_atoms/infromdata.class2 new file mode 100755 index 0000000000..3affb24904 --- /dev/null +++ b/examples/USER/reaction/polystyrene_create_atoms/infromdata.class2 @@ -0,0 +1,49 @@ +# Jake practice run + +units real + +boundary p p p + +atom_style full + +kspace_style pppm 1.0e-4 + +pair_style lj/class2/coul/long 8.5 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +variable T equal 530 + +read_data trimer.data & + extra/bond/per/atom 5 & + extra/angle/per/atom 15 & + extra/dihedral/per/atom 15 & + extra/improper/per/atom 25 & + extra/special/per/atom 25 + +molecule mol3 chain_plus_styrene_unreacted_create_atoms.data_template +molecule mol4 chain_plus_styrene_reacted.data_template + +fix rxn1 all bond/react stabilization yes statted_grp .03 & + react rxn2 all 1 0 3.0 mol3 mol4 chain_plus_styrene_map_create_atoms & + modify_create create_fit stabilize_steps 100 max_rxn 50 + +fix 1 statted_grp_REACT nvt temp $T $T 100 #iso 1 1 1000 + +fix 4 bond_react_MASTER_group temp/rescale 1 $T $T 1 1 + +thermo_style custom step temp press density f_rxn1[1] + +#restart 1 restart1 restart2 + +thermo 2 + +run 8000 + +write_data restart_longrun.data nofix diff --git a/examples/USER/reaction/polystyrene_create_atoms/trimer.data b/examples/USER/reaction/polystyrene_create_atoms/trimer.data new file mode 100644 index 0000000000..5a40205e16 --- /dev/null +++ b/examples/USER/reaction/polystyrene_create_atoms/trimer.data @@ -0,0 +1,797 @@ +LAMMPS data file via write_data, version 15 May 2019, timestep = 500 + +48 atoms +7 atom types +50 bonds +13 bond types +84 angles +22 angle types +127 dihedrals +36 dihedral types +36 impropers +9 improper types + +50 250 xlo xhi +50 250 ylo yhi +50 250 zlo zhi + +Masses + +1 12.0112 +2 1.00797 +3 12.0112 +4 12.0112 +5 12.0112 +6 12.0112 +7 12.0112 + +Pair Coeffs # lj/class2/coul/long + +1 0.064 4.01 +2 0.02 2.7 +3 0.064 4.01 +4 0.064 3.9 +5 0.054 4.01 +6 0.054 4.01 +7 0.054 4.01 + +Bond Coeffs # class2 + +1 1.0982 372.825 -803.453 894.317 +2 1.417 470.836 -627.618 1327.63 +3 1.501 321.902 -521.821 572.163 +4 1.0883 365.768 -725.54 781.662 +5 1.34 543.99 -1238.2 1644.03 +6 1.0883 365.768 -725.54 781.662 +7 1.501 321.902 -521.821 572.163 +8 1.101 345 -691.89 844.6 +9 1.53 299.67 -501.77 679.81 +10 1.101 345 -691.89 844.6 +11 1.501 321.902 -521.821 572.163 +12 1.101 345 -691.89 844.6 +13 1.53 299.67 -501.77 679.81 + +Angle Coeffs # class2 + +1 117.94 35.1558 -12.4682 0 +2 118.9 61.0226 -34.9931 0 +3 120.05 44.7148 -22.7352 0 +4 111 44.3234 -9.4454 0 +5 108.4 43.9594 -8.3924 -9.3379 +6 124.88 35.2766 -17.774 -1.6215 +7 124.88 35.2766 -17.774 -1.6215 +8 115.49 29.6363 -12.4853 -6.2218 +9 120.05 44.7148 -22.7352 0 +10 111 44.3234 -9.4454 0 +11 108.4 43.9594 -8.3924 -9.3379 +12 110.77 41.453 -10.604 5.129 +13 112.67 39.516 -7.443 -9.5583 +14 110.77 41.453 -10.604 5.129 +15 107.66 39.641 -12.921 -2.4318 +16 112.67 39.516 -7.443 -9.5583 +17 120.05 44.7148 -22.7352 0 +18 111 44.3234 -9.4454 0 +19 108.4 43.9594 -8.3924 -9.3379 +20 110.77 41.453 -10.604 5.129 +21 110.77 41.453 -10.604 5.129 +22 112.67 39.516 -7.443 -9.5583 + +BondBond Coeffs + +1 1.0795 1.417 1.0982 +2 68.2856 1.417 1.417 +3 12.0676 1.417 1.501 +4 2.9168 1.501 1.0883 +5 0 1.501 1.34 +6 10.1047 1.0883 1.34 +7 10.1047 1.0883 1.34 +8 4.8506 1.0883 1.0883 +9 12.0676 1.417 1.501 +10 2.9168 1.501 1.101 +11 0 1.501 1.53 +12 3.3872 1.101 1.53 +13 0 1.53 1.53 +14 3.3872 1.101 1.53 +15 5.3316 1.101 1.101 +16 0 1.53 1.53 +17 12.0676 1.417 1.501 +18 2.9168 1.501 1.101 +19 0 1.501 1.53 +20 3.3872 1.101 1.53 +21 3.3872 1.101 1.53 +22 0 1.53 1.53 + +BondAngle Coeffs + +1 20.0033 24.2183 1.417 1.0982 +2 28.8708 28.8708 1.417 1.417 +3 31.0771 47.0579 1.417 1.501 +4 26.4608 11.7717 1.501 1.0883 +5 0 0 1.501 1.34 +6 19.0592 23.3588 1.0883 1.34 +7 19.0592 23.3588 1.0883 1.34 +8 17.9795 17.9795 1.0883 1.0883 +9 31.0771 47.0579 1.417 1.501 +10 26.4608 11.7717 1.501 1.101 +11 0 0 1.501 1.53 +12 11.421 20.754 1.101 1.53 +13 8.016 8.016 1.53 1.53 +14 11.421 20.754 1.101 1.53 +15 18.103 18.103 1.101 1.101 +16 8.016 8.016 1.53 1.53 +17 31.0771 47.0579 1.417 1.501 +18 26.4608 11.7717 1.501 1.101 +19 0 0 1.501 1.53 +20 11.421 20.754 1.101 1.53 +21 11.421 20.754 1.101 1.53 +22 8.016 8.016 1.53 1.53 + +Dihedral Coeffs # class2 + +1 0 0 1.559 0 0 0 +2 0 0 3.9661 0 0 0 +3 0 0 4.4072 0 0 0 +4 8.3667 0 1.1932 0 0 0 +5 0 0 1.8769 0 0 0 +6 0 0 0 0 0 0 +7 0 0 0 0 0 0 +8 0 0 0 0 0 0 +9 0 0 4.8974 0 0 0 +10 0 0 1.559 0 0 0 +11 0 0 4.4072 0 0 0 +12 -0.2801 0 -0.0678 0 -0.0122 0 +13 -0.2802 0 -0.0678 0 -0.0122 0 +14 -0.0228 0 0.028 0 -0.1863 0 +15 -0.1432 0 0.0617 0 -0.1083 0 +16 0 0 0.0316 0 -0.1681 0 +17 0 0 0 0 0 0 +18 0 0 0.0316 0 -0.1681 0 +19 0 0 0.0514 0 -0.143 0 +20 0 0 1.559 0 0 0 +21 0 0 4.4072 0 0 0 +22 -0.2801 0 -0.0678 0 -0.0122 0 +23 -0.2802 0 -0.0678 0 -0.0122 0 +24 -0.0228 0 0.028 0 -0.1863 0 +25 0 0 0 0 0 0 +26 -0.1432 0 0.0617 0 -0.1083 0 +27 0 0 0.0316 0 -0.1681 0 +28 0 0 0 0 0 0 +29 0 0 0.0316 0 -0.1681 0 +30 0 0 0.0514 0 -0.143 0 +31 -0.0228 0 0.028 0 -0.1863 0 +32 -0.1432 0 0.0617 0 -0.1083 0 +33 0 0 0.0316 0 -0.1681 0 +34 0 0 0 0 0 0 +35 0 0 0.0316 0 -0.1681 0 +36 0 0 0.0514 0 -0.143 0 + +AngleAngleTorsion Coeffs + +1 4.4444 117.94 120.05 +2 -4.8141 118.9 117.94 +3 -14.4097 118.9 120.05 +4 0 118.9 118.9 +5 0.3598 117.94 117.94 +6 0 120.05 111 +7 0 120.05 108.4 +8 0 108.4 124.88 +9 -7.0058 124.88 124.88 +10 4.4444 117.94 120.05 +11 -14.4097 118.9 120.05 +12 -5.8888 120.05 111 +13 0 120.05 108.4 +14 0 108.4 110.77 +15 -12.564 110.77 110.77 +16 -16.164 112.67 110.77 +17 0 108.4 112.67 +18 -16.164 110.77 112.67 +19 -22.045 112.67 112.67 +20 4.4444 117.94 120.05 +21 -14.4097 118.9 120.05 +22 -5.8888 120.05 111 +23 0 120.05 108.4 +24 0 108.4 110.77 +25 0 108.4 112.67 +26 -12.564 110.77 110.77 +27 -16.164 110.77 112.67 +28 0 112.67 108.4 +29 -16.164 112.67 110.77 +30 -22.045 112.67 112.67 +31 0 110.77 108.4 +32 -12.564 110.77 110.77 +33 -16.164 110.77 112.67 +34 0 112.67 108.4 +35 -16.164 112.67 110.77 +36 -22.045 112.67 112.67 + +EndBondTorsion Coeffs + +1 0 -0.4879 0 0 -1.797 0 1.0982 1.501 +2 0 -6.8958 0 0 -0.4669 0 1.417 1.0982 +3 0 -0.6918 0 0 0.2421 0 1.417 1.501 +4 -0.1185 6.3204 0 -0.1185 6.3204 0 1.417 1.417 +5 0 -0.689 0 0 -0.689 0 1.0982 1.0982 +6 0 0 0 0 0 0 1.417 1.0883 +7 0 0 0 0 0 0 1.417 1.34 +8 0 0 0 0 0 0 1.501 1.0883 +9 0.7129 0.5161 0 0.7129 0.5161 0 1.0883 1.0883 +10 0 -0.4879 0 0 -1.797 0 1.0982 1.501 +11 0 -0.6918 0 0 0.2421 0 1.417 1.501 +12 -0.5835 1.122 0.3978 1.3997 0.7756 0 1.417 1.101 +13 0 0 0 0 0 0 1.417 1.53 +14 0 0 0 0 0 0 1.501 1.101 +15 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101 +16 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101 +17 0 0 0 0 0 0 1.501 1.53 +18 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.101 1.53 +19 -0.0732 0 0 -0.0732 0 0 1.53 1.53 +20 0 -0.4879 0 0 -1.797 0 1.0982 1.501 +21 0 -0.6918 0 0 0.2421 0 1.417 1.501 +22 -0.5835 1.122 0.3978 1.3997 0.7756 0 1.417 1.101 +23 0 0 0 0 0 0 1.417 1.53 +24 0 0 0 0 0 0 1.501 1.101 +25 0 0 0 0 0 0 1.501 1.53 +26 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101 +27 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.101 1.53 +28 0 0 0 0 0 0 1.53 1.501 +29 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101 +30 -0.0732 0 0 -0.0732 0 0 1.53 1.53 +31 0 0 0 0 0 0 1.101 1.501 +32 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101 +33 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.101 1.53 +34 0 0 0 0 0 0 1.53 1.501 +35 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101 +36 -0.0732 0 0 -0.0732 0 0 1.53 1.53 + +MiddleBondTorsion Coeffs + +1 0 3.9421 0 1.417 +2 0 -1.1521 0 1.417 +3 0 9.1792 0 1.417 +4 27.5989 -2.312 0 1.417 +5 0 4.8228 0 1.417 +6 0 0 0 1.501 +7 0 0 0 1.501 +8 0 0 0 1.34 +9 0.8558 6.3911 0 1.34 +10 0 3.9421 0 1.417 +11 0 9.1792 0 1.417 +12 -5.5679 1.4083 0.301 1.501 +13 0 0 0 1.501 +14 0 0 0 1.53 +15 -14.261 -0.5322 -0.4864 1.53 +16 -14.879 -3.6581 -0.3138 1.53 +17 0 0 0 1.53 +18 -14.879 -3.6581 -0.3138 1.53 +19 -17.787 -7.1877 0 1.53 +20 0 3.9421 0 1.417 +21 0 9.1792 0 1.417 +22 -5.5679 1.4083 0.301 1.501 +23 0 0 0 1.501 +24 0 0 0 1.53 +25 0 0 0 1.53 +26 -14.261 -0.5322 -0.4864 1.53 +27 -14.879 -3.6581 -0.3138 1.53 +28 0 0 0 1.53 +29 -14.879 -3.6581 -0.3138 1.53 +30 -17.787 -7.1877 0 1.53 +31 0 0 0 1.53 +32 -14.261 -0.5322 -0.4864 1.53 +33 -14.879 -3.6581 -0.3138 1.53 +34 0 0 0 1.53 +35 -14.879 -3.6581 -0.3138 1.53 +36 -17.787 -7.1877 0 1.53 + +BondBond13 Coeffs + +1 0.8743 1.0982 1.501 +2 -6.2741 1.417 1.0982 +3 2.5085 1.417 1.501 +4 53 1.417 1.417 +5 -1.7077 1.0982 1.0982 +6 0 1.417 1.0883 +7 0 1.417 1.34 +8 0 1.501 1.0883 +9 0 1.0883 1.0883 +10 0.8743 1.0982 1.501 +11 2.5085 1.417 1.501 +12 -3.4826 1.417 1.101 +13 0 1.417 1.53 +14 0 1.501 1.101 +15 0 1.101 1.101 +16 0 1.53 1.101 +17 0 1.501 1.53 +18 0 1.101 1.53 +19 0 1.53 1.53 +20 0.8743 1.0982 1.501 +21 2.5085 1.417 1.501 +22 -3.4826 1.417 1.101 +23 0 1.417 1.53 +24 0 1.501 1.101 +25 0 1.501 1.53 +26 0 1.101 1.101 +27 0 1.101 1.53 +28 0 1.53 1.501 +29 0 1.53 1.101 +30 0 1.53 1.53 +31 0 1.101 1.501 +32 0 1.101 1.101 +33 0 1.101 1.53 +34 0 1.53 1.501 +35 0 1.53 1.101 +36 0 1.53 1.53 + +AngleTorsion Coeffs + +1 0 3.4601 0 0 -0.1242 0 117.94 120.05 +2 0 2.5014 0 0 2.7147 0 118.9 117.94 +3 0 3.8987 0 0 -4.4683 0 118.9 120.05 +4 1.9767 1.0239 0 1.9767 1.0239 0 118.9 118.9 +5 0 2.4501 0 0 2.4501 0 117.94 117.94 +6 0 0 0 0 0 0 120.05 111 +7 0 0 0 0 0 0 120.05 108.4 +8 0 0 0 0 0 0 108.4 124.88 +9 -1.8911 3.254 0 -1.8911 3.254 0 124.88 124.88 +10 0 3.4601 0 0 -0.1242 0 117.94 120.05 +11 0 3.8987 0 0 -4.4683 0 118.9 120.05 +12 0.2251 0.6548 0.1237 4.6266 0.1632 0.0461 120.05 111 +13 0 0 0 0 0 0 120.05 108.4 +14 0 0 0 0 0 0 108.4 110.77 +15 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77 +16 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77 +17 0 0 0 0 0 0 108.4 112.67 +18 0.3113 0.4516 -0.1988 -0.2454 0 -0.1136 110.77 112.67 +19 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67 +20 0 3.4601 0 0 -0.1242 0 117.94 120.05 +21 0 3.8987 0 0 -4.4683 0 118.9 120.05 +22 0.2251 0.6548 0.1237 4.6266 0.1632 0.0461 120.05 111 +23 0 0 0 0 0 0 120.05 108.4 +24 0 0 0 0 0 0 108.4 110.77 +25 0 0 0 0 0 0 108.4 112.67 +26 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77 +27 0.3113 0.4516 -0.1988 -0.2454 0 -0.1136 110.77 112.67 +28 0 0 0 0 0 0 112.67 108.4 +29 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77 +30 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67 +31 0 0 0 0 0 0 110.77 108.4 +32 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77 +33 0.3113 0.4516 -0.1988 -0.2454 0 -0.1136 110.77 112.67 +34 0 0 0 0 0 0 112.67 108.4 +35 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77 +36 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67 + +Improper Coeffs # class2 + +1 4.8912 0 +2 7.8153 0 +3 0 0 +4 2.8561 0 +5 7.8153 0 +6 0 0 +7 0 0 +8 7.8153 0 +9 0 0 + +AngleAngle Coeffs + +1 0 0 0 118.9 117.94 117.94 +2 0 0 0 118.9 120.05 120.05 +3 0 0 0 111 124.88 108.4 +4 0 0 0 115.49 124.88 124.88 +5 0 0 0 118.9 120.05 120.05 +6 0 0 0 107.66 110.77 110.77 +7 0 0 0 111 110.77 108.4 +8 0 0 0 118.9 120.05 120.05 +9 0 0 0 111 110.77 108.4 + +Atoms # full + +44 1 2 3.5400000000000001e-02 6.1476397222913839e+01 8.2376490601205234e+01 6.0906939115836181e+01 0 -1 0 +45 1276 2 3.5400000000000001e-02 5.8398688202244472e+01 8.0172948526664996e+01 6.2115536813582672e+01 0 0 1 +46 1276 6 -6.9599999999999995e-02 5.9489073989392523e+01 8.0264057167571636e+01 6.1984002598976552e+01 0 0 1 +48 1276 2 3.5400000000000001e-02 5.9675170230342431e+01 8.0048052449390738e+01 6.0920159395372401e+01 0 0 1 +47 1276 2 1.2370000000000000e-01 5.9297455513100488e+01 8.3187777608476154e+01 5.9645157256520122e+01 0 0 1 +18 1 5 -1.8200000000000001e-02 6.2426251430535707e+01 8.2055473568260709e+01 6.2971661388612958e+01 0 -1 0 +19 1 6 -6.9599999999999995e-02 6.1399255844467369e+01 8.1794665295860213e+01 6.1821819828185660e+01 0 -1 0 +21 1 1 -1.2900000000000000e-01 6.4032918371445831e+01 8.0190179089286701e+01 6.3021564712316334e+01 0 -1 0 +22 1 1 2.6599999999999999e-02 6.3672975135915053e+01 8.1418558650051665e+01 6.2448012627881994e+01 0 -1 0 +23 1 2 3.5400000000000001e-02 6.1545198223694939e+01 8.0836309422842305e+01 6.1349823957467130e+01 0 -1 0 +27 1276 2 5.1600000000000000e-02 5.9809503696580933e+01 8.1831265916389881e+01 6.3253745193271065e+01 0 0 1 +28 1276 5 -1.8200000000000001e-02 5.9900307947967441e+01 8.1677453781363639e+01 6.2190757403657820e+01 0 0 1 +31 1276 2 1.2370000000000000e-01 5.8050043823867973e+01 8.2698312265456622e+01 6.3667111329534436e+01 0 0 1 +38 1 2 1.2370000000000000e-01 6.3754126973935612e+01 7.9931147303963002e+01 6.4022259163067275e+01 0 -1 0 +20 1 2 1.2370000000000000e-01 6.4070158368422781e+01 8.2950071388392274e+01 6.1042631212883315e+01 0 -1 0 +24 1 1 -1.2900000000000000e-01 6.4337973861569580e+01 8.1916618276489871e+01 6.1387866780102470e+01 0 -1 0 +37 1 2 1.4030000000000001e-01 6.5360115866618415e+01 7.8586112104863830e+01 6.3004997314380716e+01 0 -1 0 +39 1 1 -1.7340000000000000e-01 6.5018338085325610e+01 7.9478260591306125e+01 6.2440745569712817e+01 0 -1 0 +40 1 1 -1.1340000000000000e-01 6.5628759887796605e+01 7.9941156332165264e+01 6.1248476296558067e+01 0 -1 0 +41 1 1 -1.7340000000000000e-01 6.5247995680260402e+01 8.1172439250598345e+01 6.0753045571239831e+01 0 -1 0 +42 1 2 1.2880000000000000e-01 6.6569600059599281e+01 7.9514748976494360e+01 6.0810611807135601e+01 0 -1 0 +43 1 2 1.4030000000000001e-01 6.5780165393063371e+01 8.1570974991007958e+01 5.9850915261812396e+01 0 -1 0 +9 1276 2 1.2880000000000000e-01 5.5651795605743445e+01 8.5074472139235127e+01 6.1094480497979262e+01 0 0 1 +30 1276 2 1.4030000000000001e-01 5.6082982679196888e+01 8.3912863624076010e+01 6.3351889697403472e+01 0 0 1 +33 1276 1 -1.7340000000000000e-01 5.6718133911388506e+01 8.3758479063002000e+01 6.2493293749545209e+01 0 0 1 +34 1276 1 -1.1340000000000000e-01 5.6498352105218459e+01 8.4426576393179090e+01 6.1290147608586011e+01 0 0 1 +6 3822 1 -1.7340000000000000e-01 6.3308103537340351e+01 8.7713509787622499e+01 6.4643082313868433e+01 0 0 0 +7 3822 1 -1.2900000000000000e-01 6.3010291684764312e+01 8.6423650045069493e+01 6.4252844241495922e+01 0 0 0 +8 3822 2 1.2370000000000000e-01 6.2089199187020355e+01 8.6309198636296912e+01 6.3711263099850854e+01 0 0 0 +10 1276 2 1.4030000000000001e-01 5.7266131308654970e+01 8.4599328362003035e+01 5.9281511478144402e+01 0 0 1 +11 3822 2 3.5400000000000001e-02 6.1694306618059791e+01 8.3823470438280594e+01 6.3778953909925114e+01 0 0 0 +12 3822 5 -1.8200000000000001e-02 6.3814926998838651e+01 8.3900077798460728e+01 6.4108991789590448e+01 0 0 0 +13 3822 6 -6.9599999999999995e-02 6.2604540882379787e+01 8.3491998603381077e+01 6.3249610918984622e+01 0 0 0 +14 3822 2 1.2370000000000000e-01 6.5739253131027880e+01 8.4813736128157771e+01 6.5351692111169555e+01 0 0 0 +15 3822 1 -1.2900000000000000e-01 6.5071144269009466e+01 8.5646783550482454e+01 6.5086813218945636e+01 0 0 0 +16 3822 1 2.6599999999999999e-02 6.3957099792282079e+01 8.5375816595044753e+01 6.4385073943729708e+01 0 0 0 +17 1 2 5.1600000000000000e-02 6.2256484483973310e+01 8.1576962161157596e+01 6.3963984654065122e+01 0 -1 0 +26 3822 2 5.1600000000000000e-02 6.4196825763126355e+01 8.3291442832977836e+01 6.4907094488854057e+01 0 0 0 +29 1276 1 2.6599999999999999e-02 5.8784742332505303e+01 8.2766055380197670e+01 6.1667239692876961e+01 0 0 1 +32 1276 1 -1.2900000000000000e-01 5.7836199787435064e+01 8.3005060229118428e+01 6.2669788306756018e+01 0 0 1 +35 1276 1 -1.2900000000000000e-01 5.8572661840325132e+01 8.3404075689965083e+01 6.0443288532625175e+01 0 0 1 +36 1276 1 -1.7340000000000000e-01 5.7380616699226330e+01 8.4134680429976896e+01 6.0248710539932475e+01 0 0 1 +25 3822 2 3.5400000000000001e-02 6.2750675036816460e+01 8.3891633300878468e+01 6.2249429178485677e+01 0 0 0 +5 3822 2 1.4030000000000001e-01 6.2626160082050376e+01 8.8416565740835182e+01 6.4093918967496805e+01 0 0 0 +1 3822 2 1.2880000000000000e-01 6.4863557606529355e+01 8.9096029197548390e+01 6.5342927535537825e+01 0 0 0 +2 3822 1 -1.1340000000000000e-01 6.4627442641031166e+01 8.8047381925321190e+01 6.5138073202291650e+01 0 0 0 +3 3822 2 1.4030000000000001e-01 6.6470254992065406e+01 8.6991893750821745e+01 6.5857474890608984e+01 0 0 0 +4 3822 1 -1.7340000000000000e-01 6.5416488888088338e+01 8.6963894801200169e+01 6.5357641085394278e+01 0 0 0 + +Velocities + +44 -1.1274099342391698e-02 2.8614364731871914e-02 7.8116535486555949e-03 +45 2.3164382404151666e-03 3.9815732957733160e-03 -2.9971878581527899e-02 +46 -7.1653099619954563e-03 4.5491360587300133e-04 4.9898614093692017e-03 +48 9.8069086061434527e-03 4.0008139512159270e-03 6.2934259772882122e-03 +47 2.2646445306743783e-03 1.3029071608409702e-03 4.2232440120174040e-02 +18 7.0040064100195757e-03 3.2877451206009701e-03 -3.5376010407568422e-04 +19 -1.3998188760009689e-02 7.2238210565990146e-03 7.7956220633332383e-03 +21 3.1954292320462373e-03 -2.9717583309420764e-03 -3.1753395094325522e-03 +22 5.2997643939121201e-03 -2.9646963088534335e-03 -4.1351926198204894e-03 +23 7.6443400078766528e-03 4.0358953976530103e-02 -2.6684706183248367e-02 +27 1.9261652416455359e-03 -1.1632914130150688e-02 1.0061732021630769e-02 +28 -8.2251676802878315e-03 -1.5111873066969876e-04 1.3808893565582731e-02 +31 5.2475840572179860e-03 1.8266996572138715e-02 2.3453280610166885e-03 +38 -2.0343905130199073e-02 3.2815536859276281e-02 3.6511922534330152e-03 +20 2.2914549087537126e-02 1.4424503744223915e-02 2.1708279654645496e-03 +24 -2.4717233344142471e-03 1.2966123098719246e-02 8.1261459853411936e-03 +37 -2.4547379584186218e-02 -3.0213966592845171e-02 -3.1437442951939183e-02 +39 2.5476117829076835e-03 1.2743160680987653e-03 1.8775880208113892e-03 +40 -6.9216508143939990e-03 1.0986173624795060e-02 8.4543093049661480e-03 +41 -6.9641432145561661e-03 3.4497795547843439e-03 -6.5914679936187716e-03 +42 -1.6682931637687005e-02 -7.9952140358728052e-03 -5.4993265930488526e-02 +43 -1.2747392921213267e-03 -8.9033092043203244e-03 -1.4285400545629027e-02 +9 -4.6235166357676289e-03 -1.3071850427027999e-02 -1.4097407987100977e-02 +30 -1.0949617396609294e-02 2.8255703113196974e-03 1.7171748232322353e-02 +33 -6.1375812469323665e-03 -2.4748644899411924e-03 -9.4761978149296138e-03 +34 1.3676079846441525e-03 5.6076140293943458e-03 4.3217204641336267e-03 +6 -1.0264635053701928e-02 6.5278337056107680e-03 7.0056151148588212e-04 +7 -8.7519451205145676e-03 -4.6476440106580945e-03 2.5970484253527112e-03 +8 2.1377395557690311e-02 -3.3261274153819453e-03 -1.0112266596677577e-02 +10 -3.5793767912309253e-02 -4.7139872292323019e-02 -1.6709528481405608e-02 +11 8.5071485795589590e-03 9.9402848610678270e-03 -3.8088596341056854e-03 +12 -7.1678159384257103e-04 -6.9164463557228907e-04 -6.4073519808107186e-03 +13 -4.8443902657902991e-03 -1.1919190682985097e-03 6.3946846087726637e-03 +14 1.4810157483257907e-02 1.9829623839419017e-03 -2.7393844990063056e-02 +15 2.4171850935506777e-03 8.5003135180758520e-03 -1.4373227798951704e-03 +16 2.7567342910947553e-03 4.7168484476890456e-03 -5.5131873288712992e-03 +17 -3.8456662730386774e-02 2.0220106671151108e-02 -1.3822049134399602e-02 +26 2.7415414728694614e-02 1.4392155257037418e-03 -6.7281635499082748e-03 +29 2.8284983560440745e-03 2.8809942505517976e-03 -9.0489583066552114e-04 +32 -3.8543634697614316e-03 4.6751647301899795e-03 4.2171867397204537e-03 +35 -8.6957974827209118e-03 -4.4615282666186267e-04 -2.6571026120482824e-03 +36 9.4881057996863086e-04 -7.5665878069688429e-03 2.0333670960646154e-03 +25 1.8105924111310519e-02 -8.6933495274689535e-03 -1.9695291360338044e-04 +5 -5.0447438383189585e-03 -4.5665146331657552e-02 1.0653751333175230e-02 +1 -1.7372868398038824e-02 -2.3625357536259349e-03 1.2220266128368908e-02 +2 3.7050246021929395e-03 -1.0236943515935205e-03 7.2206774682170580e-03 +3 2.3669435799326944e-02 2.7891427939155597e-02 -6.7091036888174346e-03 +4 3.4910623999263577e-03 2.6370880132825258e-03 -6.4694788112864129e-03 + +Bonds + +1 10 44 19 +2 10 45 46 +3 10 48 46 +4 9 19 18 +5 1 21 38 +6 2 21 22 +7 2 21 39 +8 7 22 18 +9 2 22 24 +10 10 23 19 +11 8 27 28 +12 9 28 46 +13 9 28 19 +14 1 24 20 +15 2 24 41 +16 1 39 37 +17 1 40 42 +18 2 40 39 +19 1 41 43 +20 2 41 40 +21 1 33 30 +22 1 34 9 +23 2 34 33 +24 1 6 5 +25 2 6 2 +26 1 7 8 +27 2 7 6 +28 10 11 13 +29 13 12 13 +30 9 13 18 +31 1 15 14 +32 2 15 16 +33 2 15 4 +34 11 16 12 +35 2 16 7 +36 8 17 18 +37 12 26 12 +38 7 29 28 +39 2 29 35 +40 1 32 31 +41 2 32 29 +42 2 32 33 +43 1 35 47 +44 2 35 36 +45 1 36 10 +46 2 36 34 +47 10 25 13 +48 1 2 1 +49 2 2 4 +50 1 4 3 + +Angles + +1 14 45 46 28 +2 14 48 46 28 +3 15 45 46 48 +4 11 22 18 13 +5 12 17 18 13 +6 13 13 18 19 +7 10 22 18 17 +8 11 22 18 19 +9 12 17 18 19 +10 16 28 19 18 +11 14 44 19 28 +12 14 23 19 28 +13 14 44 19 18 +14 14 23 19 18 +15 15 44 19 23 +16 1 22 21 38 +17 1 39 21 38 +18 2 22 21 39 +19 9 21 22 18 +20 2 21 22 24 +21 9 24 22 18 +22 10 29 28 27 +23 11 29 28 46 +24 11 29 28 19 +25 12 27 28 46 +26 12 27 28 19 +27 13 46 28 19 +28 1 22 24 20 +29 2 22 24 41 +30 1 41 24 20 +31 2 21 39 40 +32 1 21 39 37 +33 1 40 39 37 +34 1 41 40 42 +35 2 41 40 39 +36 1 39 40 42 +37 1 24 41 43 +38 2 24 41 40 +39 1 40 41 43 +40 2 32 33 34 +41 1 32 33 30 +42 1 34 33 30 +43 1 36 34 9 +44 2 36 34 33 +45 1 33 34 9 +46 1 7 6 5 +47 2 7 6 2 +48 1 2 6 5 +49 1 16 7 8 +50 2 16 7 6 +51 1 6 7 8 +52 18 16 12 26 +53 19 16 12 13 +54 20 26 12 13 +55 21 25 13 12 +56 21 11 13 12 +57 22 12 13 18 +58 15 25 13 11 +59 14 25 13 18 +60 14 11 13 18 +61 1 16 15 14 +62 1 4 15 14 +63 2 16 15 4 +64 17 15 16 12 +65 2 15 16 7 +66 17 7 16 12 +67 9 32 29 28 +68 2 32 29 35 +69 9 35 29 28 +70 1 29 32 31 +71 1 33 32 31 +72 2 29 32 33 +73 1 29 35 47 +74 2 29 35 36 +75 1 36 35 47 +76 1 35 36 10 +77 2 35 36 34 +78 1 34 36 10 +79 1 6 2 1 +80 2 6 2 4 +81 1 4 2 1 +82 2 15 4 2 +83 1 15 4 3 +84 1 2 4 3 + +Dihedrals + +1 34 18 19 28 29 +2 31 44 19 28 29 +3 31 23 19 28 29 +4 35 18 19 28 27 +5 32 44 19 28 27 +6 32 23 19 28 27 +7 36 18 19 28 46 +8 33 44 19 28 46 +9 33 23 19 28 46 +10 36 28 19 18 13 +11 33 44 19 18 13 +12 33 23 19 18 13 +13 34 28 19 18 22 +14 31 44 19 18 22 +15 31 23 19 18 22 +16 35 28 19 18 17 +17 32 44 19 18 17 +18 32 23 19 18 17 +19 10 38 21 22 18 +20 11 39 21 22 18 +21 4 39 21 22 24 +22 5 38 21 39 37 +23 4 22 21 39 40 +24 2 22 21 39 37 +25 2 24 22 21 38 +26 13 21 22 18 13 +27 12 21 22 18 17 +28 13 21 22 18 19 +29 13 24 22 18 13 +30 12 24 22 18 17 +31 13 24 22 18 19 +32 2 21 22 24 20 +33 4 21 22 24 41 +34 14 29 28 46 45 +35 14 29 28 46 48 +36 15 27 28 46 45 +37 15 27 28 46 48 +38 16 19 28 46 45 +39 16 19 28 46 48 +40 10 20 24 22 18 +41 11 41 24 22 18 +42 2 22 24 41 43 +43 4 22 24 41 40 +44 5 20 24 41 43 +45 2 40 39 21 38 +46 2 21 39 40 42 +47 2 39 40 41 43 +48 4 41 40 39 21 +49 2 41 40 39 37 +50 5 42 40 39 37 +51 2 40 41 24 20 +52 2 24 41 40 42 +53 4 24 41 40 39 +54 5 43 41 40 42 +55 2 34 33 32 31 +56 2 32 33 34 9 +57 2 33 34 36 10 +58 4 36 34 33 32 +59 2 36 34 33 30 +60 5 9 34 33 30 +61 2 2 6 7 8 +62 2 7 6 2 1 +63 4 7 6 2 4 +64 5 5 6 2 1 +65 20 8 7 16 12 +66 21 6 7 16 12 +67 2 16 7 6 5 +68 4 16 7 6 2 +69 5 8 7 6 5 +70 24 16 12 13 25 +71 24 16 12 13 11 +72 25 16 12 13 18 +73 26 26 12 13 25 +74 26 26 12 13 11 +75 27 26 12 13 18 +76 28 12 13 18 22 +77 29 12 13 18 17 +78 30 12 13 18 19 +79 31 25 13 18 22 +80 32 25 13 18 17 +81 33 25 13 18 19 +82 31 11 13 18 22 +83 32 11 13 18 17 +84 33 11 13 18 19 +85 20 14 15 16 12 +86 21 4 15 16 12 +87 4 4 15 16 7 +88 5 14 15 4 3 +89 4 16 15 4 2 +90 2 16 15 4 3 +91 2 7 16 15 14 +92 22 15 16 12 26 +93 23 15 16 12 13 +94 22 7 16 12 26 +95 23 7 16 12 13 +96 2 15 16 7 8 +97 4 15 16 7 6 +98 2 35 29 32 31 +99 12 32 29 28 27 +100 13 32 29 28 46 +101 13 32 29 28 19 +102 12 35 29 28 27 +103 13 35 29 28 46 +104 13 35 29 28 19 +105 2 32 29 35 47 +106 4 32 29 35 36 +107 10 31 32 29 28 +108 11 33 32 29 28 +109 4 33 32 29 35 +110 5 31 32 33 30 +111 4 29 32 33 34 +112 2 29 32 33 30 +113 10 47 35 29 28 +114 11 36 35 29 28 +115 2 29 35 36 10 +116 4 29 35 36 34 +117 5 47 35 36 10 +118 2 34 36 35 47 +119 2 35 36 34 9 +120 4 35 36 34 33 +121 5 10 36 34 9 +122 2 4 2 6 5 +123 4 6 2 4 15 +124 2 6 2 4 3 +125 5 1 2 4 3 +126 2 2 4 15 14 +127 2 15 4 2 1 + +Impropers + +1 6 45 46 48 28 +2 1 22 18 17 13 +3 1 22 18 13 19 +4 1 17 18 13 19 +5 1 22 18 17 19 +6 1 44 19 18 28 +7 1 23 19 18 28 +8 1 44 19 23 28 +9 1 44 19 23 18 +10 1 22 21 39 38 +11 5 21 22 24 18 +12 1 29 28 27 46 +13 1 29 28 27 19 +14 1 29 28 46 19 +15 1 27 28 46 19 +16 1 22 24 41 20 +17 1 21 39 40 37 +18 1 41 40 39 42 +19 1 24 41 40 43 +20 1 32 33 34 30 +21 1 36 34 33 9 +22 1 7 6 2 5 +23 1 16 7 6 8 +24 9 16 12 26 13 +25 1 25 13 11 12 +26 1 25 13 12 18 +27 1 11 13 12 18 +28 1 25 13 11 18 +29 1 16 15 4 14 +30 8 15 16 7 12 +31 5 32 29 35 28 +32 1 29 32 33 31 +33 1 29 35 36 47 +34 1 35 36 34 10 +35 1 6 2 4 1 +36 1 15 4 2 3 + From 17c14661bc1f0be585f58efe2a5933ef9644bbba Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Mon, 9 Nov 2020 00:18:24 -0500 Subject: [PATCH 015/132] port over some recent bugfixes --- src/USER-REACTION/fix_bond_react.cpp | 31 ++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 3a5f91177b..9f0d1fd36d 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -485,6 +485,14 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : } } + for (int i = 0; i < nreacts; i++) { + if (closeneigh[i] == -1) { // indicates will search non-bonded neighbors + if (cutsq[i][1] > neighbor->cutneighsq[iatomtype[i]][jatomtype[i]]) { + error->all(FLERR,"Bond/react: Fix bond/react cutoff is longer than pairwise cutoff"); + } + } + } + // initialize Marsaglia RNG with processor-unique seed ('prob' keyword) random = new class RanMars*[nreacts]; @@ -779,12 +787,6 @@ void FixBondReact::init() if (strstr(update->integrate_style,"respa")) nlevels_respa = ((Respa *) update->integrate)->nlevels; - // check cutoff for iatomtype,jatomtype - for (int i = 0; i < nreacts; i++) { - if (force->pair == nullptr || cutsq[i][1] > force->pair->cutsq[iatomtype[i]][jatomtype[i]]) - error->all(FLERR,"Bond/react: Fix bond/react cutoff is longer than pairwise cutoff"); - } - // need a half neighbor list, built every Nevery steps int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->pair = 0; @@ -1747,6 +1749,17 @@ void FixBondReact::ring_check() // ring_check can be made more efficient by re-introducing 'frozen' atoms // 'frozen' atoms have been assigned and also are no longer pioneers + // double check the number of neighbors match for all non-edge atoms + // otherwise, atoms at 'end' of symmetric ring can behave like edge atoms + for (int i = 0; i < onemol->natoms; i++) { + if (edge[i][rxnID] == 0) { + if (onemol_nxspecial[i][0] != nxspecial[atom->map(glove[i][1])][0]) { + status = GUESSFAIL; + return; + } + } + } + for (int i = 0; i < onemol->natoms; i++) { for (int j = 0; j < onemol_nxspecial[i][0]; j++) { int ring_fail = 1; @@ -3175,6 +3188,12 @@ void FixBondReact::update_everything() int Tdelta_imprp; MPI_Allreduce(&delta_imprp,&Tdelta_imprp,1,MPI_INT,MPI_SUM,world); atom->nimpropers += Tdelta_imprp; + + if (ndel && (atom->map_style != Atom::MAP_NONE)) { + atom->nghost = 0; + atom->map_init(); + atom->map_set(); + } } /* ---------------------------------------------------------------------- From fdd7ecd9d9dcb911fcd019f618ec8482b77e9097 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 11 Nov 2020 14:08:35 -0500 Subject: [PATCH 016/132] bond/react, create_atoms: correctly update molecule IDs --- src/USER-REACTION/fix_bond_react.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 9f0d1fd36d..1973c54539 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3363,7 +3363,13 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) // locally update mega_glove my_mega_glove[preID][iupdate] = atom->tag[n]; - if (atom->molecule_flag) atom->molecule[n] = maxmol_all+1; + if (atom->molecule_flag) { + if (twomol->moleculeflag) { + atom->molecule[n] = maxmol_all + twomol->molecule[m]; + } else { + atom->molecule[n] = maxmol_all + 1; + } + } if (atom->molecular == 2) { atom->molindex[n] = 0; atom->molatom[n] = m; From b5c2dac6e6a620cc2a6596b94739d7f58f030803 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 11 Nov 2020 20:55:47 -0500 Subject: [PATCH 017/132] bond/react, create_atoms: fix bug in parallel --- src/USER-REACTION/fix_bond_react.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 1973c54539..e1e326aa60 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3254,9 +3254,9 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) int ifit = atom->map(my_mega_glove[ibonding[rxnID]+1][iupdate]); // use this local ID to find fitting proc Superpose3D superposer(n2superpose); - int root = 0; + int fitroot = 0; if (ifit >= 0 && ifit < atom->nlocal) { - root = me; + fitroot = me; // get 'temperatere' averaged over site, used for created atoms' vels t = get_temperature(my_mega_glove,1,iupdate); @@ -3294,15 +3294,14 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) memory->destroy(xfrozen); memory->destroy(xmobile); } - MPI_Allreduce(MPI_IN_PLACE,&root,1,MPI_INT,MPI_SUM,world); - MPI_Bcast(&t,1,MPI_DOUBLE,root,world); + MPI_Allreduce(MPI_IN_PLACE,&fitroot,1,MPI_INT,MPI_SUM,world); + MPI_Bcast(&t,1,MPI_DOUBLE,fitroot,world); // check if new atoms are in my sub-box or above it if I am highest proc // if so, add atom to my list via create_atom() // initialize additional info about the atoms // set group mask to "all" plus fix group int preID; // new equivalences index - root = 0; int add_count = 0; for (int m = 0; m < twomol->natoms; m++) { if (create_atoms[m][rxnID] == 1) { @@ -3312,17 +3311,14 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) // apply optimal rotation/translation for created atom coords // also map coords back into simulation box - root = 0; - if (ifit >= 0 && ifit < atom->nlocal) { - root = me; + if (fitroot == me) { MathExtra::matvec(rotmat,twomol->x[m],coord); for (int i = 0; i < 3; i++) coord[i] += superposer.T[i]; imageflag = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; domain->remap(coord,imageflag); } - MPI_Allreduce(MPI_IN_PLACE,&root,1,MPI_INT,MPI_SUM,world); - MPI_Bcast(coord,3,MPI_DOUBLE,root,world); + MPI_Bcast(coord,3,MPI_DOUBLE,fitroot,world); if (domain->triclinic) { domain->x2lamda(coord,lamda); @@ -3352,7 +3348,8 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) newcoord[0] >= sublo[0] && newcoord[0] < subhi[0]) flag = 1; } } - root = 0; + + int root = 0; if (flag) { root = me; From 9d4ed1a2012bc5b5a9e77ba766f63d068f7ced1f Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 11 Nov 2020 21:47:04 -0500 Subject: [PATCH 018/132] bond/react, create_atoms: image flag fix --- src/USER-REACTION/fix_bond_react.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index e1e326aa60..a6878dbd20 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3204,11 +3204,12 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) { // inserting atoms based off fix_deposit->pre_exchange int flag; - imageint imageflag; double coord[3],lamda[3],rotmat[3][3],vnew[3]; double *newcoord; double **v = atom->v; double t; + imageint imageflag = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX;; // clear ghost count and any ghost bonus data internal to AtomVec // same logic as beginning of Comm::exchange() @@ -3314,8 +3315,6 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) if (fitroot == me) { MathExtra::matvec(rotmat,twomol->x[m],coord); for (int i = 0; i < 3; i++) coord[i] += superposer.T[i]; - imageflag = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; domain->remap(coord,imageflag); } MPI_Bcast(coord,3,MPI_DOUBLE,fitroot,world); From bd19cf73eb66c2650ffa472a4843b6e05b339c2f Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 12 Nov 2020 12:01:59 -0500 Subject: [PATCH 019/132] bond/react, create_atoms: correct image flag fix --- src/USER-REACTION/fix_bond_react.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index a6878dbd20..366a67c210 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3204,12 +3204,11 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) { // inserting atoms based off fix_deposit->pre_exchange int flag; + imageint imageflag; double coord[3],lamda[3],rotmat[3][3],vnew[3]; double *newcoord; double **v = atom->v; double t; - imageint imageflag = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX;; // clear ghost count and any ghost bonus data internal to AtomVec // same logic as beginning of Comm::exchange() @@ -3315,8 +3314,11 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) if (fitroot == me) { MathExtra::matvec(rotmat,twomol->x[m],coord); for (int i = 0; i < 3; i++) coord[i] += superposer.T[i]; + imageflag = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; domain->remap(coord,imageflag); } + MPI_Bcast(&imageflag,1,MPI_LMP_IMAGEINT,fitroot,world); MPI_Bcast(coord,3,MPI_DOUBLE,fitroot,world); if (domain->triclinic) { From fb00fc6646ca4a59d0b4e52450361db6421a2e6c Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 12 Nov 2020 12:21:05 -0500 Subject: [PATCH 020/132] correct image flags in example data file bond/react, create_atoms --- .../polystyrene_create_atoms/trimer.data | 97 +++++++++---------- 1 file changed, 48 insertions(+), 49 deletions(-) diff --git a/examples/USER/reaction/polystyrene_create_atoms/trimer.data b/examples/USER/reaction/polystyrene_create_atoms/trimer.data index 5a40205e16..8bd81f0600 100644 --- a/examples/USER/reaction/polystyrene_create_atoms/trimer.data +++ b/examples/USER/reaction/polystyrene_create_atoms/trimer.data @@ -386,54 +386,54 @@ AngleAngle Coeffs Atoms # full -44 1 2 3.5400000000000001e-02 6.1476397222913839e+01 8.2376490601205234e+01 6.0906939115836181e+01 0 -1 0 -45 1276 2 3.5400000000000001e-02 5.8398688202244472e+01 8.0172948526664996e+01 6.2115536813582672e+01 0 0 1 -46 1276 6 -6.9599999999999995e-02 5.9489073989392523e+01 8.0264057167571636e+01 6.1984002598976552e+01 0 0 1 -48 1276 2 3.5400000000000001e-02 5.9675170230342431e+01 8.0048052449390738e+01 6.0920159395372401e+01 0 0 1 -47 1276 2 1.2370000000000000e-01 5.9297455513100488e+01 8.3187777608476154e+01 5.9645157256520122e+01 0 0 1 -18 1 5 -1.8200000000000001e-02 6.2426251430535707e+01 8.2055473568260709e+01 6.2971661388612958e+01 0 -1 0 -19 1 6 -6.9599999999999995e-02 6.1399255844467369e+01 8.1794665295860213e+01 6.1821819828185660e+01 0 -1 0 -21 1 1 -1.2900000000000000e-01 6.4032918371445831e+01 8.0190179089286701e+01 6.3021564712316334e+01 0 -1 0 -22 1 1 2.6599999999999999e-02 6.3672975135915053e+01 8.1418558650051665e+01 6.2448012627881994e+01 0 -1 0 -23 1 2 3.5400000000000001e-02 6.1545198223694939e+01 8.0836309422842305e+01 6.1349823957467130e+01 0 -1 0 -27 1276 2 5.1600000000000000e-02 5.9809503696580933e+01 8.1831265916389881e+01 6.3253745193271065e+01 0 0 1 -28 1276 5 -1.8200000000000001e-02 5.9900307947967441e+01 8.1677453781363639e+01 6.2190757403657820e+01 0 0 1 -31 1276 2 1.2370000000000000e-01 5.8050043823867973e+01 8.2698312265456622e+01 6.3667111329534436e+01 0 0 1 -38 1 2 1.2370000000000000e-01 6.3754126973935612e+01 7.9931147303963002e+01 6.4022259163067275e+01 0 -1 0 -20 1 2 1.2370000000000000e-01 6.4070158368422781e+01 8.2950071388392274e+01 6.1042631212883315e+01 0 -1 0 -24 1 1 -1.2900000000000000e-01 6.4337973861569580e+01 8.1916618276489871e+01 6.1387866780102470e+01 0 -1 0 -37 1 2 1.4030000000000001e-01 6.5360115866618415e+01 7.8586112104863830e+01 6.3004997314380716e+01 0 -1 0 -39 1 1 -1.7340000000000000e-01 6.5018338085325610e+01 7.9478260591306125e+01 6.2440745569712817e+01 0 -1 0 -40 1 1 -1.1340000000000000e-01 6.5628759887796605e+01 7.9941156332165264e+01 6.1248476296558067e+01 0 -1 0 -41 1 1 -1.7340000000000000e-01 6.5247995680260402e+01 8.1172439250598345e+01 6.0753045571239831e+01 0 -1 0 -42 1 2 1.2880000000000000e-01 6.6569600059599281e+01 7.9514748976494360e+01 6.0810611807135601e+01 0 -1 0 -43 1 2 1.4030000000000001e-01 6.5780165393063371e+01 8.1570974991007958e+01 5.9850915261812396e+01 0 -1 0 -9 1276 2 1.2880000000000000e-01 5.5651795605743445e+01 8.5074472139235127e+01 6.1094480497979262e+01 0 0 1 -30 1276 2 1.4030000000000001e-01 5.6082982679196888e+01 8.3912863624076010e+01 6.3351889697403472e+01 0 0 1 -33 1276 1 -1.7340000000000000e-01 5.6718133911388506e+01 8.3758479063002000e+01 6.2493293749545209e+01 0 0 1 -34 1276 1 -1.1340000000000000e-01 5.6498352105218459e+01 8.4426576393179090e+01 6.1290147608586011e+01 0 0 1 -6 3822 1 -1.7340000000000000e-01 6.3308103537340351e+01 8.7713509787622499e+01 6.4643082313868433e+01 0 0 0 -7 3822 1 -1.2900000000000000e-01 6.3010291684764312e+01 8.6423650045069493e+01 6.4252844241495922e+01 0 0 0 -8 3822 2 1.2370000000000000e-01 6.2089199187020355e+01 8.6309198636296912e+01 6.3711263099850854e+01 0 0 0 -10 1276 2 1.4030000000000001e-01 5.7266131308654970e+01 8.4599328362003035e+01 5.9281511478144402e+01 0 0 1 -11 3822 2 3.5400000000000001e-02 6.1694306618059791e+01 8.3823470438280594e+01 6.3778953909925114e+01 0 0 0 -12 3822 5 -1.8200000000000001e-02 6.3814926998838651e+01 8.3900077798460728e+01 6.4108991789590448e+01 0 0 0 -13 3822 6 -6.9599999999999995e-02 6.2604540882379787e+01 8.3491998603381077e+01 6.3249610918984622e+01 0 0 0 -14 3822 2 1.2370000000000000e-01 6.5739253131027880e+01 8.4813736128157771e+01 6.5351692111169555e+01 0 0 0 -15 3822 1 -1.2900000000000000e-01 6.5071144269009466e+01 8.5646783550482454e+01 6.5086813218945636e+01 0 0 0 -16 3822 1 2.6599999999999999e-02 6.3957099792282079e+01 8.5375816595044753e+01 6.4385073943729708e+01 0 0 0 -17 1 2 5.1600000000000000e-02 6.2256484483973310e+01 8.1576962161157596e+01 6.3963984654065122e+01 0 -1 0 -26 3822 2 5.1600000000000000e-02 6.4196825763126355e+01 8.3291442832977836e+01 6.4907094488854057e+01 0 0 0 -29 1276 1 2.6599999999999999e-02 5.8784742332505303e+01 8.2766055380197670e+01 6.1667239692876961e+01 0 0 1 -32 1276 1 -1.2900000000000000e-01 5.7836199787435064e+01 8.3005060229118428e+01 6.2669788306756018e+01 0 0 1 -35 1276 1 -1.2900000000000000e-01 5.8572661840325132e+01 8.3404075689965083e+01 6.0443288532625175e+01 0 0 1 -36 1276 1 -1.7340000000000000e-01 5.7380616699226330e+01 8.4134680429976896e+01 6.0248710539932475e+01 0 0 1 -25 3822 2 3.5400000000000001e-02 6.2750675036816460e+01 8.3891633300878468e+01 6.2249429178485677e+01 0 0 0 -5 3822 2 1.4030000000000001e-01 6.2626160082050376e+01 8.8416565740835182e+01 6.4093918967496805e+01 0 0 0 -1 3822 2 1.2880000000000000e-01 6.4863557606529355e+01 8.9096029197548390e+01 6.5342927535537825e+01 0 0 0 -2 3822 1 -1.1340000000000000e-01 6.4627442641031166e+01 8.8047381925321190e+01 6.5138073202291650e+01 0 0 0 -3 3822 2 1.4030000000000001e-01 6.6470254992065406e+01 8.6991893750821745e+01 6.5857474890608984e+01 0 0 0 -4 3822 1 -1.7340000000000000e-01 6.5416488888088338e+01 8.6963894801200169e+01 6.5357641085394278e+01 0 0 0 +44 1 2 3.5400000000000001e-02 6.1476397222913839e+01 8.2376490601205234e+01 6.0906939115836181e+01 +45 1276 2 3.5400000000000001e-02 5.8398688202244472e+01 8.0172948526664996e+01 6.2115536813582672e+01 +46 1276 6 -6.9599999999999995e-02 5.9489073989392523e+01 8.0264057167571636e+01 6.1984002598976552e+01 +48 1276 2 3.5400000000000001e-02 5.9675170230342431e+01 8.0048052449390738e+01 6.0920159395372401e+01 +47 1276 2 1.2370000000000000e-01 5.9297455513100488e+01 8.3187777608476154e+01 5.9645157256520122e+01 +18 1 5 -1.8200000000000001e-02 6.2426251430535707e+01 8.2055473568260709e+01 6.2971661388612958e+01 +19 1 6 -6.9599999999999995e-02 6.1399255844467369e+01 8.1794665295860213e+01 6.1821819828185660e+01 +21 1 1 -1.2900000000000000e-01 6.4032918371445831e+01 8.0190179089286701e+01 6.3021564712316334e+01 +22 1 1 2.6599999999999999e-02 6.3672975135915053e+01 8.1418558650051665e+01 6.2448012627881994e+01 +23 1 2 3.5400000000000001e-02 6.1545198223694939e+01 8.0836309422842305e+01 6.1349823957467130e+01 +27 1276 2 5.1600000000000000e-02 5.9809503696580933e+01 8.1831265916389881e+01 6.3253745193271065e+01 +28 1276 5 -1.8200000000000001e-02 5.9900307947967441e+01 8.1677453781363639e+01 6.2190757403657820e+01 +31 1276 2 1.2370000000000000e-01 5.8050043823867973e+01 8.2698312265456622e+01 6.3667111329534436e+01 +38 1 2 1.2370000000000000e-01 6.3754126973935612e+01 7.9931147303963002e+01 6.4022259163067275e+01 +20 1 2 1.2370000000000000e-01 6.4070158368422781e+01 8.2950071388392274e+01 6.1042631212883315e+01 +24 1 1 -1.2900000000000000e-01 6.4337973861569580e+01 8.1916618276489871e+01 6.1387866780102470e+01 +37 1 2 1.4030000000000001e-01 6.5360115866618415e+01 7.8586112104863830e+01 6.3004997314380716e+01 +39 1 1 -1.7340000000000000e-01 6.5018338085325610e+01 7.9478260591306125e+01 6.2440745569712817e+01 +40 1 1 -1.1340000000000000e-01 6.5628759887796605e+01 7.9941156332165264e+01 6.1248476296558067e+01 +41 1 1 -1.7340000000000000e-01 6.5247995680260402e+01 8.1172439250598345e+01 6.0753045571239831e+01 +42 1 2 1.2880000000000000e-01 6.6569600059599281e+01 7.9514748976494360e+01 6.0810611807135601e+01 +43 1 2 1.4030000000000001e-01 6.5780165393063371e+01 8.1570974991007958e+01 5.9850915261812396e+01 +9 1276 2 1.2880000000000000e-01 5.5651795605743445e+01 8.5074472139235127e+01 6.1094480497979262e+01 +30 1276 2 1.4030000000000001e-01 5.6082982679196888e+01 8.3912863624076010e+01 6.3351889697403472e+01 +33 1276 1 -1.7340000000000000e-01 5.6718133911388506e+01 8.3758479063002000e+01 6.2493293749545209e+01 +34 1276 1 -1.1340000000000000e-01 5.6498352105218459e+01 8.4426576393179090e+01 6.1290147608586011e+01 +6 3822 1 -1.7340000000000000e-01 6.3308103537340351e+01 8.7713509787622499e+01 6.4643082313868433e+01 +7 3822 1 -1.2900000000000000e-01 6.3010291684764312e+01 8.6423650045069493e+01 6.4252844241495922e+01 +8 3822 2 1.2370000000000000e-01 6.2089199187020355e+01 8.6309198636296912e+01 6.3711263099850854e+01 +10 1276 2 1.4030000000000001e-01 5.7266131308654970e+01 8.4599328362003035e+01 5.9281511478144402e+01 +11 3822 2 3.5400000000000001e-02 6.1694306618059791e+01 8.3823470438280594e+01 6.3778953909925114e+01 +12 3822 5 -1.8200000000000001e-02 6.3814926998838651e+01 8.3900077798460728e+01 6.4108991789590448e+01 +13 3822 6 -6.9599999999999995e-02 6.2604540882379787e+01 8.3491998603381077e+01 6.3249610918984622e+01 +14 3822 2 1.2370000000000000e-01 6.5739253131027880e+01 8.4813736128157771e+01 6.5351692111169555e+01 +15 3822 1 -1.2900000000000000e-01 6.5071144269009466e+01 8.5646783550482454e+01 6.5086813218945636e+01 +16 3822 1 2.6599999999999999e-02 6.3957099792282079e+01 8.5375816595044753e+01 6.4385073943729708e+01 +17 1 2 5.1600000000000000e-02 6.2256484483973310e+01 8.1576962161157596e+01 6.3963984654065122e+01 +26 3822 2 5.1600000000000000e-02 6.4196825763126355e+01 8.3291442832977836e+01 6.4907094488854057e+01 +29 1276 1 2.6599999999999999e-02 5.8784742332505303e+01 8.2766055380197670e+01 6.1667239692876961e+01 +32 1276 1 -1.2900000000000000e-01 5.7836199787435064e+01 8.3005060229118428e+01 6.2669788306756018e+01 +35 1276 1 -1.2900000000000000e-01 5.8572661840325132e+01 8.3404075689965083e+01 6.0443288532625175e+01 +36 1276 1 -1.7340000000000000e-01 5.7380616699226330e+01 8.4134680429976896e+01 6.0248710539932475e+01 +25 3822 2 3.5400000000000001e-02 6.2750675036816460e+01 8.3891633300878468e+01 6.2249429178485677e+01 +5 3822 2 1.4030000000000001e-01 6.2626160082050376e+01 8.8416565740835182e+01 6.4093918967496805e+01 +1 3822 2 1.2880000000000000e-01 6.4863557606529355e+01 8.9096029197548390e+01 6.5342927535537825e+01 +2 3822 1 -1.1340000000000000e-01 6.4627442641031166e+01 8.8047381925321190e+01 6.5138073202291650e+01 +3 3822 2 1.4030000000000001e-01 6.6470254992065406e+01 8.6991893750821745e+01 6.5857474890608984e+01 +4 3822 1 -1.7340000000000000e-01 6.5416488888088338e+01 8.6963894801200169e+01 6.5357641085394278e+01 Velocities @@ -794,4 +794,3 @@ Impropers 34 1 35 36 34 10 35 1 6 2 4 1 36 1 15 4 2 3 - From a3ce72c1b2bcfe45d422c7d73e688ff48423cc5f Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 12 Nov 2020 23:07:36 -0500 Subject: [PATCH 021/132] actually correct image flag fix hopefully --- src/USER-REACTION/fix_bond_react.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 366a67c210..2bc4335b20 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3314,8 +3314,7 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) if (fitroot == me) { MathExtra::matvec(rotmat,twomol->x[m],coord); for (int i = 0; i < 3; i++) coord[i] += superposer.T[i]; - imageflag = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; + imageflag = atom->image[ifit]; domain->remap(coord,imageflag); } MPI_Bcast(&imageflag,1,MPI_LMP_IMAGEINT,fitroot,world); From bb52af9a0772bdf41e5b795fb62667afab3e757e Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Fri, 13 Nov 2020 00:51:48 -0500 Subject: [PATCH 022/132] revert cutoff check temporary fix for hybrid pair style --- src/USER-REACTION/fix_bond_react.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 2bc4335b20..200988c44c 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -485,14 +485,6 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : } } - for (int i = 0; i < nreacts; i++) { - if (closeneigh[i] == -1) { // indicates will search non-bonded neighbors - if (cutsq[i][1] > neighbor->cutneighsq[iatomtype[i]][jatomtype[i]]) { - error->all(FLERR,"Bond/react: Fix bond/react cutoff is longer than pairwise cutoff"); - } - } - } - // initialize Marsaglia RNG with processor-unique seed ('prob' keyword) random = new class RanMars*[nreacts]; @@ -787,6 +779,13 @@ void FixBondReact::init() if (strstr(update->integrate_style,"respa")) nlevels_respa = ((Respa *) update->integrate)->nlevels; + // check cutoff for iatomtype,jatomtype + for (int i = 0; i < nreacts; i++) { + if (!utils::strmatch(force->pair_style,"^hybrid")) + if (force->pair == nullptr || cutsq[i][1] > force->pair->cutsq[iatomtype[i]][jatomtype[i]]) + error->all(FLERR,"Bond/react: Fix bond/react cutoff is longer than pairwise cutoff"); + } + // need a half neighbor list, built every Nevery steps int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->pair = 0; From 21e495d5ec486bb7bb0a8e2b028739399c698258 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 17 Nov 2020 14:47:50 -0500 Subject: [PATCH 023/132] bond/react: update modify_create syntax now, allows for multiple sub-keywords --- src/USER-REACTION/fix_bond_react.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 200988c44c..d50f876b16 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -385,15 +385,25 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : } iarg += 2; } else if (strcmp(arg[iarg],"modify_create") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " + if (iarg++ > narg) error->all(FLERR,"Illegal fix bond/react command: " "'modify_create' has too few arguments"); - if (strcmp(arg[iarg+1],"no") == 0) modify_create_fragid[rxn] = -1; //default - else { - modify_create_fragid[rxn] = atom->molecules[reacted_mol[rxn]]->findfragment(arg[iarg+1]); - if (modify_create_fragid[rxn] < 0) error->one(FLERR,"Bond/react: Molecule fragment for " - "'modify_create' keyword does not exist"); + while (iarg < narg && strcmp(arg[iarg],"react") != 0 ) { + if (strcmp(arg[iarg],"fit") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " + "'modify_create' has too few arguments"); + if (strcmp(arg[iarg+1],"all") == 0) modify_create_fragid[rxn] = -1; //default + else { + modify_create_fragid[rxn] = atom->molecules[reacted_mol[rxn]]->findfragment(arg[iarg+1]); + if (modify_create_fragid[rxn] < 0) error->one(FLERR,"Bond/react: Molecule fragment for " + "'modify_create' keyword does not exist"); + } + iarg += 2; + } else if (strcmp(arg[iarg],"near") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " + "'modify_create' has too few arguments"); + iarg += 2; + } else break; } - iarg += 2; } else error->all(FLERR,"Illegal fix bond/react command: unknown keyword"); } } From 400812c4f10dbbd0370f8f2ee912e59fd4c3bb59 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 17 Nov 2020 21:06:47 -0500 Subject: [PATCH 024/132] refactor where/when atoms are insert, set up for near keyword --- src/USER-REACTION/fix_bond_react.cpp | 39 +++++++++++++++------------- src/USER-REACTION/fix_bond_react.h | 3 ++- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index d50f876b16..af48ec39ec 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -207,6 +207,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(custom_charges_fragid,nreacts,"bond/react:custom_charges_fragid"); memory->create(create_atoms_flag,nreacts,"bond/react:create_atoms_flag"); memory->create(modify_create_fragid,nreacts,"bond/react:modify_create_fragid"); + memory->create(nearsq,nreacts,"bond/react:nearsq"); memory->create(constraints,1,MAXCONARGS,"bond/react:constraints"); memory->create(var_flag,NUMVARVALS,nreacts,"bond/react:var_flag"); memory->create(var_id,NUMVARVALS,nreacts,"bond/react:var_id"); @@ -229,6 +230,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : custom_charges_fragid[i] = -1; create_atoms_flag[i] = 0; modify_create_fragid[i] = -1; + nearsq[i] = 0; // set default limit duration to 60 timesteps limit_duration[i] = 60; reaction_count[i] = 0; @@ -401,6 +403,8 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"near") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " "'modify_create' has too few arguments"); + nearsq[rxn] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + nearsq[rxn] *= nearsq[rxn]; iarg += 2; } else break; } @@ -587,6 +591,7 @@ FixBondReact::~FixBondReact() memory->destroy(custom_charges_fragid); memory->destroy(create_atoms_flag); memory->destroy(modify_create_fragid); + memory->destroy(nearsq); memory->destroy(iatomtype); memory->destroy(jatomtype); @@ -2645,9 +2650,8 @@ update molecule IDs, charges, types, special lists and all topology void FixBondReact::update_everything() { + int nlocal; // must be defined after create_atoms int *type = atom->type; - - int nlocal = atom->nlocal; int **nspecial = atom->nspecial; tagint **special = atom->special; @@ -2696,6 +2700,17 @@ void FixBondReact::update_everything() rxnID = global_mega_glove[0][i]; // reactions already shuffled from dedup procedure, so can skip first N if (iskip[rxnID]++ < nghostlyskips[rxnID]) continue; + + // we can insert atoms here, now that reactions are finalized + // can't do it any earlier, due to skipped reactions (max_rxn) + // reactions that create atoms are always treated as 'global' + if (create_atoms_flag[rxnID] == 1) { + onemol = atom->molecules[unreacted_mol[rxnID]]; + twomol = atom->molecules[reacted_mol[rxnID]]; + if (insert_atoms(global_mega_glove,i)) + ; else continue; // create aborted + } + for (int j = 0; j < max_natoms+1; j++) update_mega_glove[j][update_num_mega] = global_mega_glove[j][i]; update_num_mega++; @@ -2703,22 +2718,8 @@ void FixBondReact::update_everything() } delete [] iskip; - // we can insert atoms here, now that reactions are finalized - // can't do it any earlier, due to skipped reactions (max_rxn) - // reactions that create atoms are always treated as 'global' - if (pass == 1) { - for (int i = 0; i < update_num_mega; i++) { - rxnID = update_mega_glove[0][i]; - if (create_atoms_flag[rxnID] == 1) { - onemol = atom->molecules[unreacted_mol[rxnID]]; - twomol = atom->molecules[reacted_mol[rxnID]]; - insert_atoms(update_mega_glove,i); - nlocal = atom->nlocal; - } - } - } - // mark to-delete atoms + nlocal = atom->nlocal; mark = new int[nlocal]; for (int i = 0; i < nlocal; i++) mark[i] = 0; for (int i = 0; i < update_num_mega; i++) { @@ -3209,7 +3210,7 @@ void FixBondReact::update_everything() insert created atoms ------------------------------------------------------------------------- */ -void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) +int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) { // inserting atoms based off fix_deposit->pre_exchange int flag; @@ -3440,6 +3441,8 @@ void FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) atom->map_init(); atom->map_set(); } + + return 1; } /* ---------------------------------------------------------------------- diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index d8ff4154e3..92927b853c 100755 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -67,6 +67,7 @@ class FixBondReact : public Fix { int *custom_charges_fragid; int *create_atoms_flag; int *modify_create_fragid; + double *nearsq; int nconstraints; int narrhenius; double **constraints; @@ -185,7 +186,7 @@ class FixBondReact : public Fix { void glove_ghostcheck(); void ghost_glovecast(); void update_everything(); - void insert_atoms(tagint **, int); + int insert_atoms(tagint **, int); void unlimit_bond(); void limit_bond(int); void dedup_mega_gloves(int); //dedup global mega_glove From c4bf7766fe52b6a487c458214615aab0ea9697ff Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 17 Nov 2020 21:37:00 -0500 Subject: [PATCH 025/132] refactor insert_atoms --- src/USER-REACTION/fix_bond_react.cpp | 31 ++++++++++++++++------------ 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index af48ec39ec..2d3fa8b8d8 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3214,12 +3214,15 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) { // inserting atoms based off fix_deposit->pre_exchange int flag; - imageint imageflag; - double coord[3],lamda[3],rotmat[3][3],vnew[3]; + imageint *imageflags; + double **coords,lamda[3],rotmat[3][3],vnew[3]; double *newcoord; double **v = atom->v; double t; + memory->create(coords,twomol->natoms,3,"bond/react:coords"); + memory->create(imageflags,twomol->natoms,"bond/react:imageflags"); + // clear ghost count and any ghost bonus data internal to AtomVec // same logic as beginning of Comm::exchange() // do it now b/c inserting atoms will overwrite ghost atoms @@ -3322,18 +3325,18 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) // apply optimal rotation/translation for created atom coords // also map coords back into simulation box if (fitroot == me) { - MathExtra::matvec(rotmat,twomol->x[m],coord); - for (int i = 0; i < 3; i++) coord[i] += superposer.T[i]; - imageflag = atom->image[ifit]; - domain->remap(coord,imageflag); + MathExtra::matvec(rotmat,twomol->x[m],coords[m]); + for (int i = 0; i < 3; i++) coords[m][i] += superposer.T[i]; + imageflags[m] = atom->image[ifit]; + domain->remap(coords[m],imageflags[m]); } - MPI_Bcast(&imageflag,1,MPI_LMP_IMAGEINT,fitroot,world); - MPI_Bcast(coord,3,MPI_DOUBLE,fitroot,world); + MPI_Bcast(&imageflags[m],1,MPI_LMP_IMAGEINT,fitroot,world); + MPI_Bcast(coords[m],3,MPI_DOUBLE,fitroot,world); if (domain->triclinic) { - domain->x2lamda(coord,lamda); + domain->x2lamda(coords[m],lamda); newcoord = lamda; - } else newcoord = coord; + } else newcoord = coords[m]; flag = 0; if (newcoord[0] >= sublo[0] && newcoord[0] < subhi[0] && @@ -3363,7 +3366,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) if (flag) { root = me; - atom->avec->create_atom(twomol->type[m],coord); + atom->avec->create_atom(twomol->type[m],coords[m]); int n = atom->nlocal - 1; atom->tag[n] = maxtag_all + add_count; @@ -3383,7 +3386,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) } atom->mask[n] = 1 | groupbit; - atom->image[n] = imageflag; + atom->image[n] = imageflags[m]; // guess a somewhat reasonable initial velocity based on reaction site // further control is possible using bond_react_MASTER_group @@ -3441,7 +3444,9 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) atom->map_init(); atom->map_set(); } - + // atom creation successful + memory->destroy(coords); + memory->destroy(imageflags); return 1; } From 1931cfa56ad2129e85996f25377decad0e463738 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 17 Nov 2020 22:18:08 -0500 Subject: [PATCH 026/132] add 'near' keyword --- src/USER-REACTION/fix_bond_react.cpp | 62 ++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 2d3fa8b8d8..dd8883fabc 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -2708,7 +2708,10 @@ void FixBondReact::update_everything() onemol = atom->molecules[unreacted_mol[rxnID]]; twomol = atom->molecules[reacted_mol[rxnID]]; if (insert_atoms(global_mega_glove,i)) - ; else continue; // create aborted + ; else { // create aborted + reaction_count_total[rxnID]--; + continue; + } } for (int j = 0; j < max_natoms+1; j++) @@ -3218,7 +3221,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) double **coords,lamda[3],rotmat[3][3],vnew[3]; double *newcoord; double **v = atom->v; - double t; + double t,delx,dely,delz,rsq; memory->create(coords,twomol->natoms,3,"bond/react:coords"); memory->create(imageflags,twomol->natoms,"bond/react:imageflags"); @@ -3310,6 +3313,50 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) MPI_Allreduce(MPI_IN_PLACE,&fitroot,1,MPI_INT,MPI_SUM,world); MPI_Bcast(&t,1,MPI_DOUBLE,fitroot,world); + // get coordinates and image flags + for (int m = 0; m < twomol->natoms; m++) { + if (create_atoms[m][rxnID] == 1) { + // apply optimal rotation/translation for created atom coords + // also map coords back into simulation box + if (fitroot == me) { + MathExtra::matvec(rotmat,twomol->x[m],coords[m]); + for (int i = 0; i < 3; i++) coords[m][i] += superposer.T[i]; + imageflags[m] = atom->image[ifit]; + domain->remap(coords[m],imageflags[m]); + } + MPI_Bcast(&imageflags[m],1,MPI_LMP_IMAGEINT,fitroot,world); + MPI_Bcast(coords[m],3,MPI_DOUBLE,fitroot,world); + } + } + + // check distance between any existing atom and inserted atom + // if less than near, abort + if (nearsq[rxnID] > 0) { + int abortflag = 0; + for (int m = 0; m < twomol->natoms; m++) { + if (create_atoms[m][rxnID] == 1) { + for (int i = 0; i < nlocal; i++) { + delx = coords[m][0] - x[i][0]; + dely = coords[m][1] - x[i][1]; + delz = coords[m][2] - x[i][2]; + domain->minimum_image(delx,dely,delz); + rsq = delx*delx + dely*dely + delz*delz; + if (rsq < nearsq[rxnID]) { + abortflag = 1; + break; + } + } + if (abortflag) break; + } + } + MPI_Allreduce(MPI_IN_PLACE,&abortflag,1,MPI_INT,MPI_MAX,world); + if (abortflag) { + memory->destroy(coords); + memory->destroy(imageflags); + return 0; + } + } + // check if new atoms are in my sub-box or above it if I am highest proc // if so, add atom to my list via create_atom() // initialize additional info about the atoms @@ -3322,17 +3369,6 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) add_count++; preID = onemol->natoms+add_count; - // apply optimal rotation/translation for created atom coords - // also map coords back into simulation box - if (fitroot == me) { - MathExtra::matvec(rotmat,twomol->x[m],coords[m]); - for (int i = 0; i < 3; i++) coords[m][i] += superposer.T[i]; - imageflags[m] = atom->image[ifit]; - domain->remap(coords[m],imageflags[m]); - } - MPI_Bcast(&imageflags[m],1,MPI_LMP_IMAGEINT,fitroot,world); - MPI_Bcast(coords[m],3,MPI_DOUBLE,fitroot,world); - if (domain->triclinic) { domain->x2lamda(coords[m],lamda); newcoord = lamda; From 337d47ca6cc433cfef26c543865d6accb11343cf Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 17 Nov 2020 22:46:42 -0500 Subject: [PATCH 027/132] update docs --- doc/src/fix_bond_react.rst | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index cd40828e7d..34d2282312 100755 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -41,7 +41,7 @@ Syntax * template-ID(post-reacted) = ID of a molecule template containing post-reaction topology * map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates * zero or more individual keyword/value pairs may be appended to each react argument -* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *custom_charges* +* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *custom_charges* or *modify_create* .. parsed-literal:: @@ -55,9 +55,12 @@ Syntax *custom_charges* value = *no* or *fragmentID* no = update all atomic charges (default) fragmentID = ID of molecule fragment whose charges are updated - *modify_create* value = *no* or *fragmentID* - no = use all eligible atoms for create-atoms fit (default) - fragmentID = ID of molecule fragment used for create-atoms fit + *modify_create* keyword values + *fit* value = *all* or *fragmentID* + all = use all eligible atoms for create-atoms fit (default) + fragmentID = ID of molecule fragment used for create-atoms fit + *near* value = R + R = only insert atom/molecule if further than R from existing particles (distance units) Examples """""""" @@ -362,13 +365,23 @@ pre-reaction template. The inserted positions of created atoms are determined by the coordinates of the post-reaction template, after optimal translation and rotation of the post-reaction template to the reaction site (using a fit with atoms that are neither created nor -deleted). Or, the *modify_create* keyword can be used to specify which -post-reaction atoms are used for this fit. The *fragmentID* value must -be the name of a molecule fragment defined in the post-reaction -:doc:`molecule ` template, and only atoms in this fragment -are used for the fit. The velocity of each created atom is initialized -in a random direction with a magnitude calculated from the -instantaneous temperature of the reaction site. +deleted). The *modify_create* keyword can be used to modify the +default behavior when creating atoms. The *modify_create* keyword has +two sub-keywords, *fit* and *near*. One or more of the sub-keywords +may be used after the *modify_create* keyword. The *fit* sub-keyword +can be used to specify which post-reaction atoms are used for the +optimal translation and rotation of the post-reaction template. The +*fragmentID* value of the *fit* sub-keyword must be the name of a +molecule fragment defined in the post-reaction :doc:`molecule +` template, and only atoms in this fragment are used for the +fit. Atoms are created only if no current atom in the simulation is +within a distance R of any created atom, including the effect of +periodic boundary conditions if applicable. R is defined by the *near* +sub-keyword. Note that the default value for R is 0.0, which will +allow atoms to strongly overlap if you are inserting where other atoms +are present. The velocity of each created atom is initialized in a +random direction with a magnitude calculated from the instantaneous +temperature of the reaction site. The handedness of atoms that are chiral centers can be enforced by listing their IDs in the ChiralIDs section. A chiral atom must be From aa683eca594f15b7ce59b278b58f4a55fb072430 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 18 Nov 2020 11:47:28 -0500 Subject: [PATCH 028/132] bond/react, create_atom: bugfix when create is aborted --- src/USER-REACTION/fix_bond_react.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index dd8883fabc..85c265309e 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3226,12 +3226,6 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) memory->create(coords,twomol->natoms,3,"bond/react:coords"); memory->create(imageflags,twomol->natoms,"bond/react:imageflags"); - // clear ghost count and any ghost bonus data internal to AtomVec - // same logic as beginning of Comm::exchange() - // do it now b/c inserting atoms will overwrite ghost atoms - atom->nghost = 0; - atom->avec->clear_bonus(); - double *sublo,*subhi; if (domain->triclinic == 0) { sublo = domain->sublo; @@ -3357,6 +3351,12 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) } } + // clear ghost count and any ghost bonus data internal to AtomVec + // same logic as beginning of Comm::exchange() + // do it now b/c inserting atoms will overwrite ghost atoms + atom->nghost = 0; + atom->avec->clear_bonus(); + // check if new atoms are in my sub-box or above it if I am highest proc // if so, add atom to my list via create_atom() // initialize additional info about the atoms From 9b7831dc4f71b37076109d37e1117c1c9ef4ad36 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 18 Nov 2020 11:59:13 -0500 Subject: [PATCH 029/132] rename example folder --- .../8procs_out.lammps | 0 .../chain_plus_styrene_map_create_atoms | 0 .../chain_plus_styrene_reacted.data_template | 0 .../chain_plus_styrene_unreacted_create_atoms.data_template | 0 .../infromdata.class2 | 0 .../trimer.data | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename examples/USER/reaction/{polystyrene_create_atoms => create_atoms_polystyrene}/8procs_out.lammps (100%) rename examples/USER/reaction/{polystyrene_create_atoms => create_atoms_polystyrene}/chain_plus_styrene_map_create_atoms (100%) rename examples/USER/reaction/{polystyrene_create_atoms => create_atoms_polystyrene}/chain_plus_styrene_reacted.data_template (100%) rename examples/USER/reaction/{polystyrene_create_atoms => create_atoms_polystyrene}/chain_plus_styrene_unreacted_create_atoms.data_template (100%) rename examples/USER/reaction/{polystyrene_create_atoms => create_atoms_polystyrene}/infromdata.class2 (100%) rename examples/USER/reaction/{polystyrene_create_atoms => create_atoms_polystyrene}/trimer.data (100%) diff --git a/examples/USER/reaction/polystyrene_create_atoms/8procs_out.lammps b/examples/USER/reaction/create_atoms_polystyrene/8procs_out.lammps similarity index 100% rename from examples/USER/reaction/polystyrene_create_atoms/8procs_out.lammps rename to examples/USER/reaction/create_atoms_polystyrene/8procs_out.lammps diff --git a/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_map_create_atoms b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms similarity index 100% rename from examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_map_create_atoms rename to examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms diff --git a/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_reacted.data_template b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template similarity index 100% rename from examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_reacted.data_template rename to examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template diff --git a/examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_unreacted_create_atoms.data_template b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template similarity index 100% rename from examples/USER/reaction/polystyrene_create_atoms/chain_plus_styrene_unreacted_create_atoms.data_template rename to examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template diff --git a/examples/USER/reaction/polystyrene_create_atoms/infromdata.class2 b/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 similarity index 100% rename from examples/USER/reaction/polystyrene_create_atoms/infromdata.class2 rename to examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 diff --git a/examples/USER/reaction/polystyrene_create_atoms/trimer.data b/examples/USER/reaction/create_atoms_polystyrene/trimer.data similarity index 100% rename from examples/USER/reaction/polystyrene_create_atoms/trimer.data rename to examples/USER/reaction/create_atoms_polystyrene/trimer.data From 95c267c21bad16c0b58714b55c5f4966f71e9b91 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 18 Nov 2020 12:02:19 -0500 Subject: [PATCH 030/132] update example with new syntax --- .../USER/reaction/create_atoms_polystyrene/infromdata.class2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 b/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 index 3affb24904..b6e63d5365 100755 --- a/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 +++ b/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 @@ -32,7 +32,7 @@ molecule mol4 chain_plus_styrene_reacted.data_template fix rxn1 all bond/react stabilization yes statted_grp .03 & react rxn2 all 1 0 3.0 mol3 mol4 chain_plus_styrene_map_create_atoms & - modify_create create_fit stabilize_steps 100 max_rxn 50 + modify_create fit create_fit near 2.0 stabilize_steps 100 max_rxn 50 fix 1 statted_grp_REACT nvt temp $T $T 100 #iso 1 1 1000 From 0927e52dea30dbe7feea35954380aec294bd2f2e Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 18 Nov 2020 16:18:34 -0500 Subject: [PATCH 031/132] cleanup dead code --- src/USER-REACTION/fix_bond_react.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 85c265309e..08542b518e 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3416,11 +3416,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) atom->molecule[n] = maxmol_all + 1; } } - if (atom->molecular == 2) { - atom->molindex[n] = 0; - atom->molatom[n] = m; - } - + atom->mask[n] = 1 | groupbit; atom->image[n] = imageflags[m]; From 4912cde2ae802f96f101f7f90f6bcf8b3d7fd90e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Dec 2020 12:14:12 -0500 Subject: [PATCH 032/132] initial attempt to refactor the citation logging in LAMMPS this implements the basic features and flow of control. to be done are the specific texts and the documentation. --- src/citeme.cpp | 89 +++++++++++++++++++++++++++++++++++------------ src/citeme.h | 17 +++++---- src/integrate.cpp | 9 +++-- src/lammps.cpp | 37 ++++++++++++++++++-- src/lammps.h | 5 ++- src/minimize.cpp | 2 ++ 6 files changed, 122 insertions(+), 37 deletions(-) diff --git a/src/citeme.cpp b/src/citeme.cpp index 4b1b627298..5082f058b5 100644 --- a/src/citeme.cpp +++ b/src/citeme.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "citeme.h" +#include "comm.h" #include "universe.h" using namespace LAMMPS_NS; @@ -21,55 +22,99 @@ static const char cite_header[] = "following references. See https://lammps.sandia.gov/cite.html\n" "for details.\n\n"; -static const char cite_nagline[] = "\nPlease see the log.cite file " +static const char cite_nagline[] = "Please see the log.cite file " "for references relevant to this simulation\n\n"; +static const char cite_seefile[] = "Please see the citation file " + "for references relevant to this simulation\n\n"; + +static const char cite_separator[] = + "\nCITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE\n\n"; + /* ---------------------------------------------------------------------- */ -CiteMe::CiteMe(LAMMPS *lmp) : Pointers(lmp) +CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) + : Pointers(lmp) { fp = nullptr; cs = new citeset(); + + screen_flag = _screen; + scrbuffer.clear(); + + logfile_flag = _logfile; + logbuffer.clear(); + + if (_file && universe->me == 0) { + fp = fopen(_file,"w"); + if (fp) { + fputs(cite_header,fp); + fflush(fp); + } else { + utils::logmesg(lmp, "Unable to open citation file '" + std::string(_file) + + "': " + utils::getsyserror() + "\n"); + } + } } /* ---------------------------------------------------------------------- - write out nag-line at the end of the regular output and clean up + write out remaining citations at end of the regular output and clean up ------------------------------------------------------------------------- */ CiteMe::~CiteMe() { - if (universe->me || cs->size() == 0) { - delete cs; - return; - } - + flush(); delete cs; - if (fp) { - if (screen) fprintf(screen,cite_nagline); - if (logfile) fprintf(logfile,cite_nagline); - - fclose(fp); - } + if (fp) fclose(fp); } /* ---------------------------------------------------------------------- - write out and register a citation so it will be written only once + process an added citation so it will be shown only once and as requested ------------------------------------------------------------------------- */ void CiteMe::add(const char *ref) { - if (universe->me) return; + if (comm->me != 0) return; if (cs->find(ref) != cs->end()) return; cs->insert(ref); - if (!fp) { - fp = fopen("log.cite","w"); - if (!fp) return; - fputs(cite_header,fp); + if (fp) { + fputs(ref,fp); fflush(fp); } - fputs(ref,fp); - fflush(fp); + if (scrbuffer.empty()) { + scrbuffer += cite_separator; + if (screen_flag == VERBOSE) scrbuffer += cite_header; + if (screen_flag == TERSE) scrbuffer += cite_nagline; + } + + if (logbuffer.empty()) { + logbuffer += cite_separator; + if (logfile_flag == VERBOSE) logbuffer += cite_header; + if (logfile_flag == TERSE) logbuffer += cite_nagline; + } + + std::string reference = ref; + std::size_t found = reference.find_first_of("\n"); + 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; + if (logfile_flag == TERSE) logbuffer += header; } + +void CiteMe::flush() +{ + if (comm->me == 0) { + scrbuffer += cite_separator; + logbuffer += cite_separator; + if (screen) fputs(scrbuffer.c_str(),screen); + if (logfile) fputs(logbuffer.c_str(),logfile); + scrbuffer.clear(); + logbuffer.clear(); + } + return; +} + diff --git a/src/citeme.h b/src/citeme.h index c383ec2227..9a3d30e8e8 100644 --- a/src/citeme.h +++ b/src/citeme.h @@ -21,27 +21,32 @@ namespace LAMMPS_NS { class CiteMe : protected Pointers { public: - CiteMe(class LAMMPS *); + CiteMe(class LAMMPS *, int, int, const char *); virtual ~CiteMe(); - void add(const char *); // print out and register publication + void add(const char *); // register publication for output + void flush(); // flush buffers to screen and logfile + enum {VERBOSE, TERSE}; private: - FILE *fp; // opaque pointer to log.cite file object + FILE *fp; // explicit citation file pointer or NULL + int screen_flag; // determine whether verbose or terse output + int logfile_flag; // determine whether verbose or terse output + std::string scrbuffer; // output buffer for screen + std::string logbuffer; // output buffer for logfile typedef std::set citeset; citeset *cs; // registered set of publications }; - } #endif /* ERROR/WARNING messages: -E: Cannot open log.cite file +E: Cannot open citation file This file is created when you use some LAMMPS features, to indicate what paper you should cite on behalf of those who implemented -the feature. Check that you have write privileges into the directory +the feature. Check that you have write privileges in the directory you are running in. */ diff --git a/src/integrate.cpp b/src/integrate.cpp index 5c700527a1..f866840f1c 100644 --- a/src/integrate.cpp +++ b/src/integrate.cpp @@ -12,12 +12,14 @@ ------------------------------------------------------------------------- */ #include "integrate.h" -#include "update.h" + +#include "citeme.h" +#include "compute.h" #include "force.h" -#include "pair.h" #include "kspace.h" #include "modify.h" -#include "compute.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; @@ -45,6 +47,7 @@ Integrate::~Integrate() void Integrate::init() { + if (lmp->citeme) lmp->citeme->flush(); update->atimestep = update->ntimestep; // allow pair and Kspace compute() to be turned off via modify flags diff --git a/src/lammps.cpp b/src/lammps.cpp index 69baec5557..b882c76032 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -171,6 +171,9 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : int restart2dump = 0; int restartremap = 0; int citeflag = 1; + int citescreen = CiteMe::TERSE; + int citelogfile = CiteMe::VERBOSE; + char *citefile = nullptr; int helpflag = 0; suffix = suffix2 = suffixp = nullptr; @@ -190,7 +193,35 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : iarg = 1; while (iarg < narg) { - if (strcmp(arg[iarg],"-echo") == 0 || + if (strcmp(arg[iarg],"-cite") == 0 || + strcmp(arg[iarg],"-c") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + + if (strcmp(arg[iarg+1],"both") == 0) { + citescreen = CiteMe::VERBOSE; + citelogfile = CiteMe::VERBOSE; + citefile = nullptr; + } else if (strcmp(arg[iarg+1],"none") == 0) { + citescreen = CiteMe::TERSE; + citelogfile = CiteMe::TERSE; + citefile = nullptr; + } else if (strcmp(arg[iarg+1],"screen") == 0) { + citescreen = CiteMe::VERBOSE; + citelogfile = CiteMe::TERSE; + citefile = nullptr; + } else if (strcmp(arg[iarg+1],"log") == 0) { + citescreen = CiteMe::TERSE; + citelogfile = CiteMe::VERBOSE; + citefile = nullptr; + } else { + citescreen = CiteMe::TERSE; + citelogfile = CiteMe::TERSE; + citefile = arg[iarg+1]; + } + iarg += 2; + + } else if (strcmp(arg[iarg],"-echo") == 0 || strcmp(arg[iarg],"-e") == 0) { if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); @@ -605,7 +636,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : // allocate CiteMe class if enabled - if (citeflag) citeme = new CiteMe(this); + if (citeflag) citeme = new CiteMe(this,citescreen,citelogfile,citefile); else citeme = nullptr; // allocate input class now that MPI is fully setup @@ -669,8 +700,8 @@ LAMMPS::~LAMMPS() { const int me = comm->me; - destroy(); delete citeme; + destroy(); if (num_package) { for (int i = 0; i < num_package; i++) { diff --git a/src/lammps.h b/src/lammps.h index 49d55d4e37..553db6597e 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -56,7 +56,6 @@ class LAMMPS { char *exename; // pointer to argv[0] char ***packargs; // arguments for cmdline package commands int num_package; // number of cmdline package commands - int cite_enable; // 1 if generating log.cite, 0 if disabled int clientserver; // 0 = neither, 1 = client, 2 = server void *cslib; // client/server messaging via CSlib @@ -66,9 +65,9 @@ class LAMMPS { class AtomKokkos *atomKK; // KOKKOS version of Atom class class MemoryKokkos *memoryKK; // KOKKOS version of Memory class - class Python * python; // Python interface + class Python *python; // Python interface - class CiteMe *citeme; // citation info + class CiteMe *citeme; // handle citation info const char *match_style(const char *style, const char *name); static const char * installed_packages[]; diff --git a/src/minimize.cpp b/src/minimize.cpp index a909afdaa5..8e55d6e0ea 100644 --- a/src/minimize.cpp +++ b/src/minimize.cpp @@ -13,6 +13,7 @@ #include "minimize.h" +#include "citeme.h" #include "domain.h" #include "error.h" #include "finish.h" @@ -46,6 +47,7 @@ void Minimize::command(int narg, char **arg) if (update->etol < 0.0 || update->ftol < 0.0) error->all(FLERR,"Illegal minimize command"); + if (lmp->citeme) lmp->citeme->flush(); update->whichflag = 2; update->beginstep = update->firststep = update->ntimestep; update->endstep = update->laststep = update->firststep + update->nsteps; From 1d38cc19905a285be8ed288796849519f0ab25e2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Dec 2020 13:46:09 -0500 Subject: [PATCH 033/132] must not output and add separator line on empty buffers when flushing citations. --- src/citeme.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/citeme.cpp b/src/citeme.cpp index 5082f058b5..d032e34803 100644 --- a/src/citeme.cpp +++ b/src/citeme.cpp @@ -41,10 +41,9 @@ CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) screen_flag = _screen; scrbuffer.clear(); - logfile_flag = _logfile; logbuffer.clear(); - + if (_file && universe->me == 0) { fp = fopen(_file,"w"); if (fp) { @@ -89,7 +88,6 @@ void CiteMe::add(const char *ref) if (screen_flag == VERBOSE) scrbuffer += cite_header; if (screen_flag == TERSE) scrbuffer += cite_nagline; } - if (logbuffer.empty()) { logbuffer += cite_separator; if (logfile_flag == VERBOSE) logbuffer += cite_header; @@ -108,12 +106,16 @@ void CiteMe::add(const char *ref) void CiteMe::flush() { if (comm->me == 0) { - scrbuffer += cite_separator; - logbuffer += cite_separator; - if (screen) fputs(scrbuffer.c_str(),screen); - if (logfile) fputs(logbuffer.c_str(),logfile); - scrbuffer.clear(); - logbuffer.clear(); + if (!scrbuffer.empty()) { + scrbuffer += cite_separator; + if (screen) fputs(scrbuffer.c_str(),screen); + scrbuffer.clear(); + } + if (!scrbuffer.empty()) { + logbuffer += cite_separator; + if (logfile) fputs(logbuffer.c_str(),logfile); + logbuffer.clear(); + } } return; } From d3c14dcb5104505d3369922ffe5f0a3a66e44042 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 8 Jan 2021 17:58:46 -0500 Subject: [PATCH 034/132] update citation output to more closely resemble what had been proposed --- src/citeme.cpp | 53 +++++++++++++++++++++++++++++++++----------------- src/citeme.h | 1 + src/lammps.cpp | 3 ++- 3 files changed, 38 insertions(+), 19 deletions(-) diff --git a/src/citeme.cpp b/src/citeme.cpp index d032e34803..a3bbef2f3c 100644 --- a/src/citeme.cpp +++ b/src/citeme.cpp @@ -17,20 +17,23 @@ using namespace LAMMPS_NS; -static const char cite_header[] = - "This LAMMPS simulation made specific use of work described in the\n" - "following references. See https://lammps.sandia.gov/cite.html\n" - "for details.\n\n"; - -static const char cite_nagline[] = "Please see the log.cite file " - "for references relevant to this simulation\n\n"; - -static const char cite_seefile[] = "Please see the citation file " - "for references relevant to this simulation\n\n"; - static const char cite_separator[] = "\nCITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE\n\n"; +static const char cite_nagline[] = + "Your LAMMPS simulation uses code contributions which should be cited.\n" + "Please see https://lammps.sandia.gov/doc/Intro_citing.html for more\n" + "information on citing LAMMPS itself.\n"; + +static const char cite_short[] = + "A short list of the features is given below.\n\n"; + +static const char cite_full[] = + "Below is a list of the full references in BibTeX format.\n\n"; + +static const char cite_file[] = "Please see the {} {} " + "for detailed references in BibTeX format.\n"; + /* ---------------------------------------------------------------------- */ CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) @@ -45,12 +48,14 @@ CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) logbuffer.clear(); if (_file && universe->me == 0) { + citefile = _file; fp = fopen(_file,"w"); if (fp) { - fputs(cite_header,fp); + fputs(cite_nagline,fp); + fputs(cite_full,fp); fflush(fp); } else { - utils::logmesg(lmp, "Unable to open citation file '" + std::string(_file) + utils::logmesg(lmp, "Unable to open citation file '" + citefile + "': " + utils::getsyserror() + "\n"); } } @@ -85,13 +90,25 @@ void CiteMe::add(const char *ref) if (scrbuffer.empty()) { scrbuffer += cite_separator; - if (screen_flag == VERBOSE) scrbuffer += cite_header; - if (screen_flag == TERSE) scrbuffer += cite_nagline; + scrbuffer += cite_nagline; + if (!citefile.empty()) scrbuffer += fmt::format(cite_file,"file",citefile); + if (screen_flag == VERBOSE) scrbuffer += cite_full; + if (screen_flag == TERSE) { + if (logfile_flag == VERBOSE) + scrbuffer += fmt::format(cite_file,"log","file"); + scrbuffer += cite_short; + } } if (logbuffer.empty()) { logbuffer += cite_separator; - if (logfile_flag == VERBOSE) logbuffer += cite_header; - if (logfile_flag == TERSE) logbuffer += cite_nagline; + logbuffer += cite_nagline; + if (!citefile.empty()) logbuffer += fmt::format(cite_file,"file",citefile); + if (logfile_flag == VERBOSE) logbuffer += cite_full; + if (logfile_flag == TERSE) { + if (screen_flag == VERBOSE) + scrbuffer += fmt::format(cite_file,"screen","output"); + logbuffer += cite_short; + } } std::string reference = ref; @@ -111,7 +128,7 @@ void CiteMe::flush() if (screen) fputs(scrbuffer.c_str(),screen); scrbuffer.clear(); } - if (!scrbuffer.empty()) { + if (!logbuffer.empty()) { logbuffer += cite_separator; if (logfile) fputs(logbuffer.c_str(),logfile); logbuffer.clear(); diff --git a/src/citeme.h b/src/citeme.h index 9a3d30e8e8..dd54268a3b 100644 --- a/src/citeme.h +++ b/src/citeme.h @@ -29,6 +29,7 @@ class CiteMe : protected Pointers { private: FILE *fp; // explicit citation file pointer or NULL + std::string citefile; // name of the explicit citation file. int screen_flag; // determine whether verbose or terse output int logfile_flag; // determine whether verbose or terse output std::string scrbuffer; // output buffer for screen diff --git a/src/lammps.cpp b/src/lammps.cpp index b882c76032..1648c55852 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -1142,7 +1142,8 @@ void _noopt LAMMPS::help() "-kokkos on/off ... : turn KOKKOS mode on or off (-k)\n" "-log none/filename : where to send log output (-l)\n" "-mpicolor color : which exe in a multi-exe mpirun cmd (-m)\n" - "-nocite : disable writing log.cite file (-nc)\n" + "-cite : select citation reminder style (-c)\n" + "-nocite : disable citation reminder (-nc)\n" "-package style ... : invoke package command (-pk)\n" "-partition size1 size2 ... : assign partition sizes (-p)\n" "-plog basename : basename for partition logs (-pl)\n" From 6428e542db9aaa8237f5f46c43fa5434894108b5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 8 Jan 2021 18:29:15 -0500 Subject: [PATCH 035/132] document updated citation reminder --- doc/src/Intro_citing.rst | 19 ++++++++++--------- doc/src/Modify_contribute.rst | 14 +++++++------- doc/src/Run_options.rst | 27 +++++++++++++++++++++++---- doc/src/fix_bond_react.rst | 4 ++-- doc/src/kim_commands.rst | 2 +- 5 files changed, 43 insertions(+), 23 deletions(-) diff --git a/doc/src/Intro_citing.rst b/doc/src/Intro_citing.rst index a74d3134f3..e758992e2b 100644 --- a/doc/src/Intro_citing.rst +++ b/doc/src/Intro_citing.rst @@ -38,17 +38,18 @@ In addition there are DOIs for individual stable releases. Currently there are: Home page ^^^^^^^^^ -The LAMMPS website at `https://lammps.sandia.gov/ `_ is the canonical -location for information about LAMMPS and more detailed lists of publications -using LAMMPS and contributing features. +The LAMMPS website at `https://lammps.sandia.gov/ +`_ is the canonical location for information +about LAMMPS and its features. Citing contributions ^^^^^^^^^^^^^^^^^^^^ -LAMMPS has many features and uses previously published methods and -algorithms or novel features. It also includes potential parameter -filed for specific models. You can look up relevant publications either -in the LAMMPS output to the screen, the ``log.cite`` file (which is -populated with references to relevant papers through embedding them into -the source code) and in the documentation of the :doc:`corresponding commands +LAMMPS has many features and that use either previously published +methods and algorithms or novel features. It also includes potential +parameter filed for specific models. Where available, a reminder about +references for optional features used in a specific run is printed to +the screen and log file. Style and output location can be selected with +the :ref:`-cite command-line switch `. Additional references are +given in the documentation of the :doc:`corresponding commands ` or in the :doc:`Howto tutorials `. diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index 27de36f30c..9d19df5cc4 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -209,13 +209,13 @@ packages in the src directory for examples. If you are uncertain, please ask. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from - their input script, this will cause LAMMPS to output the citation to a - log.cite file and prompt the user to examine the file. Note that you - should only use this for a paper you or your group authored. - E.g. adding a cite in the code for a paper by Nose and Hoover if you - write a fix that implements their integrator is not the intended - usage. That kind of citation should just be in the doc page you - provide. + their input script, this will cause LAMMPS to output a reminder to + cite that reference. Note that you should only use this for the most + relevant paper for a feature and a publication that you or your group + authored. E.g. adding a citation in the code for a paper by Nose and + Hoover if you write a fix that implements their integrator is not the + intended usage. That kind of citation should just be in the + documentation page you provide describing your contribution. Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index 9c269e552f..ddd57bd189 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -11,6 +11,7 @@ letter abbreviation can be used: * :ref:`-k or -kokkos ` * :ref:`-l or -log ` * :ref:`-m or -mpicolor ` +* :ref:`-c or -cite ` * :ref:`-nc or -nocite ` * :ref:`-pk or -package ` * :ref:`-p or -partition ` @@ -220,14 +221,32 @@ links with from the lib/message directory. See the ---------- +.. _cite: + +**-cite style or file name** + +Select how and where to output a reminder about citing contributions +to the LAMMPS code that were used during the run. Available styles are +"both", "none", "screen", or "log". Any flag will be considered a file +name to write the citation info to. Default is the "log" style where +there is a short summary in the screen output and detailed citations +in BibTeX format in the logfile. The option "both" selects the detailed +output for both, "none", the short output for both, and "screen" will +write the detailed info to the screen and the short version to the log +file. Any other option will be taken as a file name to which the detailed +citation info is written and screen and log file output will be short +(same as with "none"). + +See the :doc:`citation page ` for more details on +how to correctly reference and cite LAMMPS. + +---------- + .. _nocite: **-nocite** -Disable writing the log.cite file which is normally written to list -references for specific cite-able features used during a LAMMPS run. -See the `citation page `_ for more -details. +Disable generating a citation reminder (see above) at all. ---------- diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 38f061e05f..97684c4b76 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -616,8 +616,8 @@ reset_mol_ids = yes, custom_charges = no, molecule = off .. _Gissinger: -**(Gissinger)** Gissinger, Jensen and Wise, Polymer, 128, 211-217 (2017). +**(Gissinger2017)** Gissinger, Jensen and Wise, Polymer, 128, 211-217 (2017). .. _Gissinger2020: -**(Gissinger)** Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953–9961 (2020). +**(Gissinger2020)** Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953-9961 (2020). diff --git a/doc/src/kim_commands.rst b/doc/src/kim_commands.rst index 99f7efffd5..e9afa48fd5 100644 --- a/doc/src/kim_commands.rst +++ b/doc/src/kim_commands.rst @@ -1286,7 +1286,7 @@ to cite the OpenKIM project :ref:`(Tadmor) `, KIM API in addition to the relevant scientific references for the IM. The citation format for an IM is displayed on its page on `OpenKIM `_ along with the corresponding BibTex file, -and is automatically added to the LAMMPS *log.cite* file. +and is automatically added to the LAMMPS citation reminder. Citing the IM software (KIM infrastructure and specific PM or SM codes) used in the simulation gives credit to the researchers who developed them From 0ae5d963ce1914c28d3755e6d498682ca86bb614 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 12 Jan 2021 20:44:43 -0500 Subject: [PATCH 036/132] update formulations in docs to incorporate suggestions by @sjplimp --- doc/src/Modify_contribute.rst | 26 ++++++++++++++++---------- doc/src/Run_options.rst | 13 ++++++------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index 9d19df5cc4..4998712a3d 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -206,16 +206,22 @@ packages in the src directory for examples. If you are uncertain, please ask. algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the \*.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. - A LaTeX citation is stored in a variable at the top of the file and a - single line of code that references the variable is added to the - constructor of the class. Whenever a user invokes your feature from - their input script, this will cause LAMMPS to output a reminder to - cite that reference. Note that you should only use this for the most - relevant paper for a feature and a publication that you or your group - authored. E.g. adding a citation in the code for a paper by Nose and - Hoover if you write a fix that implements their integrator is not the - intended usage. That kind of citation should just be in the - documentation page you provide describing your contribution. + A LaTeX citation is stored in a variable at the top of the file and + a single line of code registering this variable is added to the + constructor of the class. If there is additional functionality (which + may have been added later) described in a different publication, + additional citation descriptions may be added for as long as they + are only registered when the corresponding keyword activating this + functionality is used. With these options it is possible to have + LAMMPS output a specific citation reminder whenever a user invokes + your feature from their input script. Note that you should only use + this for the most relevant paper for a feature and a publication that + you or your group authored. E.g. adding a citation in the code for + a paper by Nose and Hoover if you write a fix that implements their + integrator is not the intended usage. That kind of citation should + just be included in the documentation page you provide describing + your contribution. If you are not sure what the best option would + be, please contact the LAMMPS developers for advice. Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index ddd57bd189..25756d9be0 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -227,15 +227,14 @@ links with from the lib/message directory. See the Select how and where to output a reminder about citing contributions to the LAMMPS code that were used during the run. Available styles are -"both", "none", "screen", or "log". Any flag will be considered a file -name to write the citation info to. Default is the "log" style where -there is a short summary in the screen output and detailed citations -in BibTeX format in the logfile. The option "both" selects the detailed +"both", "none", "screen", or "log". Any flag will be considered a file +name to write the detailed citation info to. Default is the "log" style +where there is a short summary in the screen output and detailed citations +in BibTeX format in the logfile. The option "both" selects the detailed output for both, "none", the short output for both, and "screen" will write the detailed info to the screen and the short version to the log -file. Any other option will be taken as a file name to which the detailed -citation info is written and screen and log file output will be short -(same as with "none"). +file. If a dedicated citation info file is requested, the screen and +log file output will be in the short format (same as with "none"). See the :doc:`citation page ` for more details on how to correctly reference and cite LAMMPS. From f54fd8fa72510969054e90150bb27403260ba309 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 10:31:53 -0700 Subject: [PATCH 037/132] intial refactoring of THERMO_ENERGY mask --- src/RIGID/fix_shake.cpp | 2 - src/compute_pe.cpp | 3 +- src/compute_pe_atom.cpp | 4 +- src/fix.cpp | 51 ++++++------ src/fix.h | 32 +++++--- src/fix_addforce.cpp | 2 +- src/fix_temp_rescale.cpp | 4 +- src/modify.cpp | 110 ++++++++++++++++++------- src/modify.h | 17 ++-- src/thermo.cpp | 172 +++++++++++++++++++++++++-------------- src/thermo.h | 5 +- 11 files changed, 262 insertions(+), 140 deletions(-) diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 61ba36ea2b..cb2daaac2a 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -33,8 +33,6 @@ #include "memory.h" #include "error.h" - - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; diff --git a/src/compute_pe.cpp b/src/compute_pe.cpp index f10f1eb344..b7078675e5 100644 --- a/src/compute_pe.cpp +++ b/src/compute_pe.cpp @@ -99,7 +99,8 @@ double ComputePE::compute_scalar() scalar += force->pair->etail / volume; } - if (fixflag && modify->n_thermo_energy) scalar += modify->thermo_energy(); + if (fixflag && modify->n_energy_global) + scalar += modify->energy_global(); return scalar; } diff --git a/src/compute_pe_atom.cpp b/src/compute_pe_atom.cpp index 52e132a626..ad490c66a6 100644 --- a/src/compute_pe_atom.cpp +++ b/src/compute_pe_atom.cpp @@ -152,8 +152,8 @@ void ComputePEAtom::compute_peratom() // add in per-atom contributions from relevant fixes // always only for owned atoms, not ghost - if (fixflag && modify->n_thermo_energy_atom) - modify->thermo_energy_atom(nlocal,energy); + if (fixflag && modify->n_energy_atom) + modify->energy_atom(nlocal,energy); // communicate ghost energy between neighbor procs diff --git a/src/fix.cpp b/src/fix.cpp index 573d8ae1a1..bd3d91767b 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -63,9 +63,11 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : box_change = NO_BOX_CHANGE; thermo_energy = 0; thermo_virial = 0; + energy_global_flag = energy_atom_flag = 0; + virial_global_flag = virial_atom_flag = 0; + ecouple_flag = 0; rigid_flag = 0; peatom_flag = 0; - virial_flag = 0; no_change_box = 0; time_integrate = 0; time_depend = 0; @@ -150,8 +152,7 @@ void Fix::modify_params(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (strcmp(arg[iarg+1],"no") == 0) thermo_energy = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { - if (!(THERMO_ENERGY & setmask())) - error->all(FLERR,"Illegal fix_modify command"); + if (energy_flag == 0) error->all(FLERR,"Illegal fix_modify command"); thermo_energy = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; @@ -159,8 +160,7 @@ void Fix::modify_params(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (strcmp(arg[iarg+1],"no") == 0) thermo_virial = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { - if (virial_flag == 0) - error->all(FLERR,"Illegal fix_modify command"); + if (virial_flag == 0) error->all(FLERR,"Illegal fix_modify command"); thermo_virial = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; @@ -180,9 +180,12 @@ void Fix::modify_params(int narg, char **arg) } /* ---------------------------------------------------------------------- - setup for energy, virial computation + setup for peratom energy and global/peratom virial computation see integrate::ev_set() for values of eflag (0-3) and vflag (0-6) - fixes call this if they use ev_tally() + fixes call Fix::ev_init() if tally energy and virial values + if thermo_energy is not set, energy tallying is disabled + if thermo_virial is not set, virial tallying is disabled + global energy is tallied separately, output by compute_scalar() method ------------------------------------------------------------------------- */ void Fix::ev_setup(int eflag, int vflag) @@ -191,13 +194,19 @@ void Fix::ev_setup(int eflag, int vflag) evflag = 1; - eflag_either = eflag; - eflag_global = eflag & ENERGY_GLOBAL; - eflag_atom = eflag & ENERGY_ATOM; + if (!thermo_energy) eflag_either = eflag_global = eflag_atom = 0; + else { + eflag_either = eflag; + eflag_global = eflag & ENERGY_GLOBAL; + eflag_atom = eflag & ENERGY_ATOM; + } - vflag_either = vflag; - vflag_global = vflag & (VIRIAL_PAIR | VIRIAL_FDOTR); - vflag_atom = vflag & (VIRIAL_ATOM | VIRIAL_CENTROID); + if (!thermo_virial) vflag_either = vflag_global = vflag_atom = 0; + else { + vflag_either = vflag; + vflag_global = vflag & (VIRIAL_PAIR | VIRIAL_FDOTR); + vflag_atom = vflag & (VIRIAL_ATOM | VIRIAL_CENTROID); + } // reallocate per-atom arrays if necessary @@ -235,24 +244,17 @@ void Fix::ev_setup(int eflag, int vflag) } /* ---------------------------------------------------------------------- - if thermo_virial is on: - setup for virial computation - see integrate::ev_set() for values of vflag - fixes call this if use v_tally() - else: set evflag=0 + setup for global/peratom virial computation + see integrate::ev_set() for values of vflag (0-6) + fixes call Fix::v_init() if tally virial values but not energy + if thermo_virial is not set, virial tallying is disabled ------------------------------------------------------------------------- */ void Fix::v_setup(int vflag) { int i,n; - if (!thermo_virial) { - evflag = 0; - return; - } - evflag = 1; - vflag_global = vflag & (VIRIAL_PAIR | VIRIAL_FDOTR); vflag_atom = vflag & (VIRIAL_ATOM | VIRIAL_CENTROID); @@ -304,7 +306,6 @@ void Fix::ev_tally(int n, int *list, double total, double eng, double *v) v_tally(n,list,total,v); } - /* ---------------------------------------------------------------------- tally virial into global and per-atom accumulators n = # of local owned atoms involved, with local indices in list diff --git a/src/fix.h b/src/fix.h index ec951e3bb2..290ceebcda 100644 --- a/src/fix.h +++ b/src/fix.h @@ -40,14 +40,17 @@ class Fix : protected Pointers { }; bigint next_reneighbor; // next timestep to force a reneighboring - int thermo_energy; // 1 if fix_modify enabled ThEng, 0 if not - int thermo_virial; // 1 if fix_modify enabled ThVir, 0 if not int nevery; // how often to call an end_of_step fix - int rigid_flag; // 1 if Fix integrates rigid bodies, 0 if not - int peatom_flag; // 1 if Fix contributes per-atom eng, 0 if not - int virial_flag; // 1 if Fix contributes to virial, 0 if not + int thermo_energy; // 1 if fix_modify energy enabled, 0 if not + int thermo_virial; // 1 if fix_modify virial enabled, 0 if not + int energy_global_flag; // 1 if contributes to global eng + int energy_atom_flag; // 1 if contributes to peratom eng + int virial_global_flag; // 1 if contributes to global virial + int virial_peratom_flag; // 1 if contributes to peratom virial + int ecouple_flag; // 1 if thermostat which accumulates eng to ecouple + int time_integrate; // 1 if performs time integration, 0 if no + int rigid_flag; // 1 if integrates rigid bodies, 0 if not int no_change_box; // 1 if cannot swap ortho <-> triclinic - int time_integrate; // 1 if fix performs time integration, 0 if no int time_depend; // 1 if requires continuous timestepping int create_attribute; // 1 if fix stores attributes that need // setting when a new atom is created @@ -99,8 +102,9 @@ class Fix : protected Pointers { int comm_reverse; // size of reverse communication (0 if none) int comm_border; // size of border communication (0 if none) - double virial[6]; // accumulated virial - double *eatom,**vatom; // accumulated per-atom energy/virial + double ecouple; // cumulative energy added to reservoir by thermostatting + double virial[6]; // virial for this timestep + double *eatom,**vatom; // per-atom energy/virial for this timestep int centroidstressflag; // centroid stress compared to two-body stress // CENTROID_SAME = same as two-body stress @@ -239,11 +243,17 @@ class Fix : protected Pointers { int dynamic; // recount atoms for temperature computes void ev_init(int eflag, int vflag) { - if (eflag||vflag) ev_setup(eflag, vflag); - else evflag = eflag_either = eflag_global = eflag_atom = vflag_either = vflag_global = vflag_atom = 0; + if ((eflag && thermo_energy) || (vflag && thermo_virial)) ev_setup(eflag, vflag); + else evflag = eflag_either = eflag_global = eflag_atom = + vflag_either = vflag_global = vflag_atom = 0; } void ev_setup(int, int); void ev_tally(int, int *, double, double, double *); + + void v_init(int vflag) { + if (vflag && thermo_virial) v_setup(vflag); + else evflag = vflag_either = vflag_global = vflag_atom = 0; + } void v_setup(int); void v_tally(int, int *, double, double *); void v_tally(int, double *); @@ -263,7 +273,7 @@ namespace FixConst { FINAL_INTEGRATE = 1<<8, END_OF_STEP = 1<<9, POST_RUN = 1<<10, - THERMO_ENERGY = 1<<11, + //THERMO_ENERGY = 1<<11, // remove when done with refactoring INITIAL_INTEGRATE_RESPA = 1<<12, POST_INTEGRATE_RESPA = 1<<13, PRE_FORCE_RESPA = 1<<14, diff --git a/src/fix_addforce.cpp b/src/fix_addforce.cpp index 881f77c05c..8bd5bc69a3 100644 --- a/src/fix_addforce.cpp +++ b/src/fix_addforce.cpp @@ -352,7 +352,7 @@ void FixAddForce::post_force(int vflag) v[3] = xstyle ? xvalue*unwrap[1] : 0.0; v[4] = xstyle ? xvalue*unwrap[2] : 0.0; v[5] = ystyle ? yvalue*unwrap[2] : 0.0; - v_tally(i, v); + v_tally(i,v); } } } diff --git a/src/fix_temp_rescale.cpp b/src/fix_temp_rescale.cpp index 46b00f9e83..5e6638a56c 100644 --- a/src/fix_temp_rescale.cpp +++ b/src/fix_temp_rescale.cpp @@ -12,9 +12,10 @@ ------------------------------------------------------------------------- */ #include "fix_temp_rescale.h" -#include +#include #include + #include "atom.h" #include "force.h" #include "group.h" @@ -26,7 +27,6 @@ #include "compute.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/modify.cpp b/src/modify.cpp index f3ebb03c38..5812947dd4 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -46,8 +46,8 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp) n_initial_integrate = n_post_integrate = 0; n_pre_exchange = n_pre_neighbor = n_post_neighbor = 0; n_pre_force = n_pre_reverse = n_post_force = 0; - n_final_integrate = n_end_of_step = n_thermo_energy = 0; - n_thermo_energy_atom = 0; + n_final_integrate = n_end_of_step = 0; + n_energy_couple = n_energy_global = n_energy_atom = 0; n_initial_integrate_respa = n_post_integrate_respa = 0; n_pre_force_respa = n_post_force_respa = n_final_integrate_respa = 0; n_min_pre_exchange = n_min_pre_force = n_min_pre_reverse = 0; @@ -60,7 +60,7 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp) list_pre_exchange = list_pre_neighbor = list_post_neighbor = nullptr; list_pre_force = list_pre_reverse = list_post_force = nullptr; list_final_integrate = list_end_of_step = nullptr; - list_thermo_energy = list_thermo_energy_atom = nullptr; + list_energy_couple = list_energy_global = list_energy_atom = nullptr; list_initial_integrate_respa = list_post_integrate_respa = nullptr; list_pre_force_respa = list_post_force_respa = nullptr; list_final_integrate_respa = nullptr; @@ -137,8 +137,9 @@ Modify::~Modify() delete [] list_post_force; delete [] list_final_integrate; delete [] list_end_of_step; - delete [] list_thermo_energy; - delete [] list_thermo_energy_atom; + delete [] list_energy_couple; + delete [] list_energy_global; + delete [] list_energy_atom; delete [] list_initial_integrate_respa; delete [] list_post_integrate_respa; delete [] list_pre_force_respa; @@ -218,8 +219,9 @@ void Modify::init() list_init(POST_FORCE,n_post_force,list_post_force); list_init(FINAL_INTEGRATE,n_final_integrate,list_final_integrate); list_init_end_of_step(END_OF_STEP,n_end_of_step,list_end_of_step); - list_init_thermo_energy(THERMO_ENERGY,n_thermo_energy,list_thermo_energy); - list_init_thermo_energy_atom(n_thermo_energy_atom,list_thermo_energy_atom); + list_init_energy_couple(n_energy_couple,list_energy_couple); + list_init_energy_global(n_energy_global,list_energy_global); + list_init_energy_atom(n_energy_atom,list_energy_atom); list_init(INITIAL_INTEGRATE_RESPA, n_initial_integrate_respa,list_initial_integrate_respa); @@ -486,31 +488,45 @@ void Modify::end_of_step() } /* ---------------------------------------------------------------------- - thermo energy call, only for relevant fixes - called by Thermo class - compute_scalar() is fix call to return energy + coupling energy call, only for relevant fixes + stored by each fix in ecouple variable + ecouple = cumulative energy added to reservoir by thermostatting ------------------------------------------------------------------------- */ -double Modify::thermo_energy() +double Modify::energy_couple() { double energy = 0.0; - for (int i = 0; i < n_thermo_energy; i++) - energy += fix[list_thermo_energy[i]]->compute_scalar(); + for (int i = 0; i < n_energy_couple; i++) + energy += fix[list_energy_couple[i]]->ecouple; return energy; } /* ---------------------------------------------------------------------- - per-atom thermo energy call, only for relevant fixes + global energy call, only for relevant fixes + they return energy via compute_scalar() + called by compute pe +------------------------------------------------------------------------- */ + +double Modify::energy_global() +{ + double energy = 0.0; + for (i = 0; i < n_energy_global; i++) + energy += fix[list_energy_global[i]]->compute_scalar(); + return energy; +} + +/* ---------------------------------------------------------------------- + peratom energy call, only for relevant fixes called by compute pe/atom ------------------------------------------------------------------------- */ -void Modify::thermo_energy_atom(int nlocal, double *energy) +void Modify::energy_atom(int nlocal, double *energy) { int i,j; double *eatom; - for (i = 0; i < n_thermo_energy_atom; i++) { - eatom = fix[list_thermo_energy_atom[i]]->eatom; + for (i = 0; i < n_energy_atom; i++) { + eatom = fix[list_energy_atom[i]]->eatom; if (!eatom) continue; for (j = 0; j < nlocal; j++) energy[j] += eatom[j]; } @@ -1632,43 +1648,79 @@ void Modify::list_init_end_of_step(int mask, int &n, int *&list) } /* ---------------------------------------------------------------------- - create list of fix indices for thermo energy fixes - only added to list if fix has THERMO_ENERGY mask set, - and its thermo_energy flag was set via fix_modify + create list of fix indices for fixes that compute reservoir coupling energy + only added to list if fix has ecouple_flag set ------------------------------------------------------------------------- */ -void Modify::list_init_thermo_energy(int mask, int &n, int *&list) +void Modify::list_init_energy_couple(int &n, int *&list) { delete [] list; n = 0; for (int i = 0; i < nfix; i++) - if (fmask[i] & mask && fix[i]->thermo_energy) n++; + if (fix[i]->ecouple_flag) n++; list = new int[n]; n = 0; for (int i = 0; i < nfix; i++) - if (fmask[i] & mask && fix[i]->thermo_energy) list[n++] = i; + if (fix[i]->ecouple_flag) list[n++] = i; } /* ---------------------------------------------------------------------- - create list of fix indices for peratom thermo energy fixes - only added to list if fix has its peatom_flag set, - and its thermo_energy flag was set via fix_modify + create list of fix indices for fixes that compute peratom energy + only added to list if fix has energy_atom_flag and thermo_energy set ------------------------------------------------------------------------- */ -void Modify::list_init_thermo_energy_atom(int &n, int *&list) +void Modify::list_init_energy_atom(int &n, int *&list) { delete [] list; n = 0; for (int i = 0; i < nfix; i++) - if (fix[i]->peatom_flag && fix[i]->thermo_energy) n++; + if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) n++; list = new int[n]; n = 0; for (int i = 0; i < nfix; i++) - if (fix[i]->peatom_flag && fix[i]->thermo_energy) list[n++] = i; + if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) list[n++] = i; +} + +/* ---------------------------------------------------------------------- + create list of fix indices for fixes that compute global energy + only added to list if fix has energy_global_flag and thermo_energy set +------------------------------------------------------------------------- */ + +void Modify::list_init_energy_global(int &n, int *&list) +{ + delete [] list; + + n = 0; + for (int i = 0; i < nfix; i++) + if (fix[i]->energy_global_flag && fix[i]->thermo_energy) n++; + list = new int[n]; + + n = 0; + for (int i = 0; i < nfix; i++) + if (fix[i]->energy_global_flag && fix[i]->thermo_energy) list[n++] = i; +} + +/* ---------------------------------------------------------------------- + create list of fix indices for fixes that compute peratom energy + only added to list if fix has energy_atom_flag and thermo_energy set +------------------------------------------------------------------------- */ + +void Modify::list_init_energy_atom(int &n, int *&list) +{ + delete [] list; + + n = 0; + for (int i = 0; i < nfix; i++) + if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) n++; + list = new int[n]; + + n = 0; + for (int i = 0; i < nfix; i++) + if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) list[n++] = i; } /* ---------------------------------------------------------------------- diff --git a/src/modify.h b/src/modify.h index a347e8486d..ba8efd6525 100644 --- a/src/modify.h +++ b/src/modify.h @@ -33,7 +33,8 @@ class Modify : protected Pointers { int n_initial_integrate,n_post_integrate,n_pre_exchange; int n_pre_neighbor,n_post_neighbor; int n_pre_force,n_pre_reverse,n_post_force; - int n_final_integrate,n_end_of_step,n_thermo_energy,n_thermo_energy_atom; + int n_final_integrate,n_end_of_step; + int n_energy_couple,n_energy_global,n_energy_atom; int n_initial_integrate_respa,n_post_integrate_respa; int n_pre_force_respa,n_post_force_respa,n_final_integrate_respa; int n_min_pre_exchange,n_min_pre_neighbor,n_min_post_neighbor; @@ -69,8 +70,9 @@ class Modify : protected Pointers { virtual void post_force(int); virtual void final_integrate(); virtual void end_of_step(); - virtual double thermo_energy(); - virtual void thermo_energy_atom(int, double *); + virtual double energy_couple(); + virtual double energy_global(); + virtual void energy_atom(int, double *); virtual void post_run(); virtual void create_attribute(int); @@ -135,8 +137,8 @@ class Modify : protected Pointers { int *list_initial_integrate,*list_post_integrate; int *list_pre_exchange,*list_pre_neighbor,*list_post_neighbor; int *list_pre_force,*list_pre_reverse,*list_post_force; - int *list_final_integrate,*list_end_of_step,*list_thermo_energy; - int *list_thermo_energy_atom; + int *list_final_integrate,*list_end_of_step; + int *list_energy_couple,*list_energy_global,*list_energy_atom; int *list_initial_integrate_respa,*list_post_integrate_respa; int *list_pre_force_respa,*list_post_force_respa; int *list_final_integrate_respa; @@ -163,8 +165,9 @@ class Modify : protected Pointers { void list_init(int, int &, int *&); void list_init_end_of_step(int, int &, int *&); - void list_init_thermo_energy(int, int &, int *&); - void list_init_thermo_energy_atom(int &, int *&); + void list_init_energy_couple(int &, int *&); + void list_init_energy_global(int &, int *&); + void list_init_energy_atom(int &, int *&); void list_init_dofflag(int &, int *&); void list_init_compute(); diff --git a/src/thermo.cpp b/src/thermo.cpp index 9197f88084..626dc09c3f 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -54,13 +54,14 @@ using namespace MathConst; // step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, // part, timeremain -// atoms, temp, press, pe, ke, etotal, enthalpy +// atoms, temp, press, pe, ke, etotal // evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail -// vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz, +// enthalpy, ecouple, econserve +// vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz // xlat, ylat, zlat -// bonds, angles, dihedrals, impropers, +// bonds, angles, dihedrals, impropers // pxx, pyy, pzz, pxy, pxz, pyz -// fmax, fnorm, nbuild, ndanger, +// fmax, fnorm, nbuild, ndanger // cella, cellb, cellc, cellalpha, cellbeta, cellgamma // customize a new thermo style by adding a DEFINE to this list @@ -753,11 +754,6 @@ void Thermo::parse_fields(char *str) addfield("TotEng",&Thermo::compute_etotal,FLOAT); index_temp = add_compute(id_temp,SCALAR); index_pe = add_compute(id_pe,SCALAR); - } else if (word == "enthalpy") { - addfield("Enthalpy",&Thermo::compute_enthalpy,FLOAT); - index_temp = add_compute(id_temp,SCALAR); - index_press_scalar = add_compute(id_press,SCALAR); - index_pe = add_compute(id_pe,SCALAR); } else if (word == "evdwl") { addfield("E_vdwl",&Thermo::compute_evdwl,FLOAT); @@ -790,6 +786,19 @@ void Thermo::parse_fields(char *str) addfield("E_tail",&Thermo::compute_etail,FLOAT); index_pe = add_compute(id_pe,SCALAR); + } else if (word == "enthalpy") { + addfield("Enthalpy",&Thermo::compute_enthalpy,FLOAT); + index_temp = add_compute(id_temp,SCALAR); + index_press_scalar = add_compute(id_press,SCALAR); + index_pe = add_compute(id_pe,SCALAR); + } else if (word == "ecouple") { + addfield("Ecouple",&Thermo::compute_ecouple,FLOAT); + index_pe = add_compute(id_pe,SCALAR); + } else if (word == "econserve") { + addfield("Econserve",&Thermo::compute_econserve,FLOAT); + index_temp = add_compute(id_temp,SCALAR); + index_pe = add_compute(id_pe,SCALAR); + } else if (word == "vol") { addfield("Volume",&Thermo::compute_vol,FLOAT); } else if (word == "density") { @@ -1234,42 +1243,6 @@ int Thermo::evaluate_keyword(const char *word, double *answer) } compute_etotal(); - } else if (strcmp(word,"enthalpy") == 0) { - if (!pe) - error->all(FLERR, - "Thermo keyword in variable requires thermo to use/init pe"); - if (update->whichflag == 0) { - if (pe->invoked_scalar != update->ntimestep) - error->all(FLERR,"Compute used in variable thermo keyword between runs " - "is not current"); - } else { - pe->compute_scalar(); - pe->invoked_flag |= INVOKED_SCALAR; - } - if (!temperature) - error->all(FLERR,"Thermo keyword in variable requires " - "thermo to use/init temp"); - if (update->whichflag == 0) { - if (temperature->invoked_scalar != update->ntimestep) - error->all(FLERR,"Compute used in variable thermo keyword between runs " - "is not current"); - } else if (!(temperature->invoked_flag & INVOKED_SCALAR)) { - temperature->compute_scalar(); - temperature->invoked_flag |= INVOKED_SCALAR; - } - if (!pressure) - error->all(FLERR,"Thermo keyword in variable requires " - "thermo to use/init press"); - if (update->whichflag == 0) { - if (pressure->invoked_scalar != update->ntimestep) - error->all(FLERR,"Compute used in variable thermo keyword between runs " - "is not current"); - } else if (!(pressure->invoked_flag & INVOKED_SCALAR)) { - pressure->compute_scalar(); - pressure->invoked_flag |= INVOKED_SCALAR; - } - compute_enthalpy(); - } else if (strcmp(word,"evdwl") == 0) { if (update->eflag_global != update->ntimestep) error->all(FLERR,"Energy was not tallied on needed timestep"); @@ -1356,6 +1329,68 @@ int Thermo::evaluate_keyword(const char *word, double *answer) error->all(FLERR,"Energy was not tallied on needed timestep"); compute_etail(); + } else if (strcmp(word,"enthalpy") == 0) { + if (!pe) + error->all(FLERR, + "Thermo keyword in variable requires thermo to use/init pe"); + if (update->whichflag == 0) { + if (pe->invoked_scalar != update->ntimestep) + error->all(FLERR,"Compute used in variable thermo keyword between runs " + "is not current"); + } else { + pe->compute_scalar(); + pe->invoked_flag |= INVOKED_SCALAR; + } + if (!temperature) + error->all(FLERR,"Thermo keyword in variable requires " + "thermo to use/init temp"); + if (update->whichflag == 0) { + if (temperature->invoked_scalar != update->ntimestep) + error->all(FLERR,"Compute used in variable thermo keyword between runs " + "is not current"); + } else if (!(temperature->invoked_flag & INVOKED_SCALAR)) { + temperature->compute_scalar(); + temperature->invoked_flag |= INVOKED_SCALAR; + } + if (!pressure) + error->all(FLERR,"Thermo keyword in variable requires " + "thermo to use/init press"); + if (update->whichflag == 0) { + if (pressure->invoked_scalar != update->ntimestep) + error->all(FLERR,"Compute used in variable thermo keyword between runs " + "is not current"); + } else if (!(pressure->invoked_flag & INVOKED_SCALAR)) { + pressure->compute_scalar(); + pressure->invoked_flag |= INVOKED_SCALAR; + } + compute_enthalpy(); + + } else if (strcmp(word,"ecouple") == 0) compute_ecouple(); + } else if (strcmp(word,"econserve") == 0) { + if (!pe) + error->all(FLERR, + "Thermo keyword in variable requires thermo to use/init pe"); + if (update->whichflag == 0) { + if (pe->invoked_scalar != update->ntimestep) + error->all(FLERR,"Compute used in variable thermo keyword between runs " + "is not current"); + } else { + pe->compute_scalar(); + pe->invoked_flag |= INVOKED_SCALAR; + } + if (!temperature) + error->all(FLERR,"Thermo keyword in variable requires " + "thermo to use/init temp"); + if (update->whichflag == 0) { + if (temperature->invoked_scalar != update->ntimestep) + error->all(FLERR,"Compute used in variable thermo keyword between runs " + "is not current"); + } else if (!(temperature->invoked_flag & INVOKED_SCALAR)) { + temperature->compute_scalar(); + temperature->invoked_flag |= INVOKED_SCALAR; + } + compute_econserve(); + } else if (strcmp(word,"vol") == 0) compute_vol(); else if (strcmp(word,"density") == 0) compute_density(); else if (strcmp(word,"lx") == 0) compute_lx(); @@ -1721,27 +1756,28 @@ void Thermo::compute_ke() void Thermo::compute_etotal() { compute_pe(); - double ke = temperature->scalar; - ke *= 0.5 * temperature->dof * force->boltz; - if (normflag) ke /= natoms; - dvalue += ke; + double dvalue_pe = dvalue; + compute_ke(); + dvalue += dvalue_pe; } /* ---------------------------------------------------------------------- */ -void Thermo::compute_enthalpy() +void Thermo::compute_ecouple() { - compute_etotal(); - double etmp = dvalue; + dvalue = modify->ecouple(); +} - compute_vol(); - double vtmp = dvalue; - if (normflag) vtmp /= natoms; +/* ---------------------------------------------------------------------- */ - compute_press(); - double ptmp = dvalue; - - dvalue = etmp + ptmp*vtmp/(force->nktv2p); +void Thermo::compute_econserve() +{ + compute_pe(); + double dvalue_pe = dvalue; + compute_ke(); + double dvalue_ke = dvalue; + compute_ecouple(); + dvalue += dvalue_pe + dvalue_ke; } /* ---------------------------------------------------------------------- */ @@ -1867,6 +1903,24 @@ void Thermo::compute_etail() } else dvalue = 0.0; } +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_enthalpy() +{ + compute_etotal(); + double etmp = dvalue; + + compute_vol(); + double vtmp = dvalue; + if (normflag) vtmp /= natoms; + + compute_press(); + double ptmp = dvalue; + + dvalue = etmp + ptmp*vtmp/(force->nktv2p); +} + + /* ---------------------------------------------------------------------- */ void Thermo::compute_vol() diff --git a/src/thermo.h b/src/thermo.h index def8cead65..90ce41c6e4 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -143,7 +143,6 @@ class Thermo : protected Pointers { void compute_pe(); void compute_ke(); void compute_etotal(); - void compute_enthalpy(); void compute_evdwl(); void compute_ecoul(); @@ -156,6 +155,10 @@ class Thermo : protected Pointers { void compute_elong(); void compute_etail(); + void compute_enthalpy(); + void compute_ecouple(); + void compute_econserve(); + void compute_vol(); void compute_density(); void compute_lx(); From 182eb35f1a015b679a82eab941dd3663be853141 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 11:32:11 -0700 Subject: [PATCH 038/132] changes to fixes that use THERMO_ENERGY --- src/compute_pressure.cpp | 9 +- src/compute_stress_atom.cpp | 6 +- src/fix_addforce.cpp | 13 ++- src/fix_external.cpp | 8 +- src/fix_gravity.cpp | 4 +- src/fix_indent.cpp | 2 +- src/fix_langevin.cpp | 14 ++- src/fix_nh.cpp | 2 +- src/fix_restrain.cpp | 3 +- src/fix_spring.cpp | 2 +- src/fix_spring_chunk.cpp | 2 +- src/fix_spring_self.cpp | 2 +- src/fix_temp_berendsen.cpp | 17 ++-- src/fix_temp_csld.cpp | 16 ++-- src/fix_temp_csvr.cpp | 172 ++++++++++++++++++------------------ src/fix_temp_rescale.cpp | 12 +-- src/fix_wall.cpp | 12 +-- src/fix_wall_harmonic.cpp | 2 +- src/fix_wall_region.cpp | 10 +-- 19 files changed, 151 insertions(+), 157 deletions(-) diff --git a/src/compute_pressure.cpp b/src/compute_pressure.cpp index 7acf92ea2e..aadf96fdea 100644 --- a/src/compute_pressure.cpp +++ b/src/compute_pressure.cpp @@ -215,10 +215,13 @@ void ComputePressure::init() vptr[nvirial++] = force->dihedral->virial; if (improperflag && force->improper) vptr[nvirial++] = force->improper->virial; - if (fixflag) - for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->thermo_virial) + if (fixflag) { + Fix **fix = modify->fix; + int nfix = modify->nfix; + for (int i = 0; i < nfix; i++) + if (fix[i]->virial_global_flag && fix[i]->thermo_virial) vptr[nvirial++] = modify->fix[i]->virial; + } } // flag Kspace contribution separately, since not summed across procs diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index f918f7f293..aefb58dbb4 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -219,8 +219,10 @@ void ComputeStressAtom::compute_peratom() // and fix ave/spatial uses a per-atom stress from this compute as input if (fixflag) { - for (int ifix = 0; ifix < modify->nfix; ifix++) - if (modify->fix[ifix]->virial_flag) { + Fix **fix = modify->fix; + int nfix = modify->nfix; + for (int ifix = 0; ifix < nfix; ifix++) + if (fix[i]->virial_atom_flag && fix[ifix]->virial_flag) { double **vatom = modify->fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) diff --git a/src/fix_addforce.cpp b/src/fix_addforce.cpp index 8bd5bc69a3..22c7408996 100644 --- a/src/fix_addforce.cpp +++ b/src/fix_addforce.cpp @@ -36,8 +36,8 @@ enum{NONE,CONSTANT,EQUAL,ATOM}; FixAddForce::FixAddForce(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - xstr(nullptr), ystr(nullptr), zstr(nullptr), estr(nullptr), idregion(nullptr), sforce(nullptr) - + xstr(nullptr), ystr(nullptr), zstr(nullptr), estr(nullptr), + idregion(nullptr), sforce(nullptr) { if (narg < 6) error->all(FLERR,"Illegal fix addforce command"); @@ -48,9 +48,10 @@ FixAddForce::FixAddForce(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 1; + energy_global_flag = 1; + virial_global_flag = virial_atom_flag = 1; respa_level_support = 1; ilevel_respa = 0; - virial_flag = 1; xstr = ystr = zstr = nullptr; @@ -138,7 +139,6 @@ int FixAddForce::setmask() int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; @@ -242,10 +242,9 @@ void FixAddForce::post_force(int vflag) if (update->ntimestep % nevery) return; - // energy and virial setup + // virial setup - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); if (lmp->kokkos) atom->sync_modify(Host, (unsigned int) (F_MASK | MASK_MASK), diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 81ab1ec36a..f3ad25d3b3 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -35,9 +35,10 @@ FixExternal::FixExternal(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; - virial_flag = 1; - thermo_virial = 1; extscalar = 1; + energy_global_flag = energy_atom_flag = 1; + virial_global_flag = virial_atom_flag = 1; + thermo_energy = thermo_virial = 1; if (strcmp(arg[3],"pf/callback") == 0) { if (narg != 6) error->all(FLERR,"Illegal fix external command"); @@ -89,7 +90,6 @@ int FixExternal::setmask() if (mode == PF_CALLBACK || mode == PF_ARRAY) { mask |= PRE_REVERSE; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= MIN_POST_FORCE; } return mask; @@ -195,7 +195,6 @@ void FixExternal::set_energy_global(double caller_energy) void FixExternal::set_virial_global(double *caller_virial) { - if (!evflag) return; if (!vflag_global) return; for (int i = 0; i < 6; i++) @@ -223,7 +222,6 @@ void FixExternal::set_virial_peratom(double **caller_virial) { int i,j; - if (!evflag) return; if (!vflag_atom) return; int nlocal = atom->nlocal; diff --git a/src/fix_gravity.cpp b/src/fix_gravity.cpp index a96303742c..b4e894316a 100644 --- a/src/fix_gravity.cpp +++ b/src/fix_gravity.cpp @@ -46,6 +46,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; + energy_global_flag = 1; respa_level_support = 1; ilevel_respa = 0; @@ -62,7 +63,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : mstyle = CONSTANT; } - int iarg=4; + int iarg = 4; if (strcmp(arg[4],"chute") == 0) { if (narg < 6) error->all(FLERR,"Illegal fix gravity command"); @@ -186,7 +187,6 @@ int FixGravity::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; } diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index cc7a3c8877..b8f2d23312 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -47,6 +47,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; vector_flag = 1; size_vector = 3; + energy_global_flag = 1; global_freq = 1; extscalar = 1; extvector = 1; @@ -107,7 +108,6 @@ int FixIndent::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/fix_langevin.cpp b/src/fix_langevin.cpp index 8bc2aa3976..f798252a50 100644 --- a/src/fix_langevin.cpp +++ b/src/fix_langevin.cpp @@ -39,7 +39,6 @@ #include "error.h" #include "group.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -62,6 +61,7 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; + ecouple_flag = 1; nevery = 1; if (strstr(arg[3],"v_") == arg[3]) { @@ -159,7 +159,7 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : id_temp = nullptr; temperature = nullptr; - energy = 0.0; + ecouple = 0.0; // flangevin is unallocated until first call to setup() // compute_scalar checks for this and returns 0.0 @@ -192,7 +192,6 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : lv[i][2] = 0.0; } } - } /* ---------------------------------------------------------------------- */ @@ -224,7 +223,6 @@ int FixLangevin::setmask() mask |= POST_FORCE; mask |= POST_FORCE_RESPA; mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } @@ -992,7 +990,7 @@ void FixLangevin::end_of_step() } } - energy += energy_onestep*update->dt; + ecouple += energy_onestep*update->dt; } /* ---------------------------------------------------------------------- */ @@ -1070,7 +1068,7 @@ double FixLangevin::compute_scalar() if (mask[i] & groupbit) energy_onestep += flangevin[i][0]*v[i][0] + flangevin[i][1]*v[i][1] + flangevin[i][2]*v[i][2]; - energy = 0.5*energy_onestep*update->dt; + ecouple = 0.5*energy_onestep*update->dt; } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -1081,13 +1079,13 @@ double FixLangevin::compute_scalar() if (tbiasflag) temperature->restore_bias(i, lv[i]); } - energy = -0.5*energy_onestep*update->dt; + ecouple = -0.5*energy_onestep*update->dt; } } // convert midstep energy back to previous fullstep energy - double energy_me = energy - 0.5*energy_onestep*update->dt; + double energy_me = ecouple - 0.5*energy_onestep*update->dt; double energy_all; MPI_Allreduce(&energy_me,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 674cda4529..ee2b74ddb9 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -66,6 +66,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 0; + ecouple_flag = 1; // default values @@ -632,7 +633,6 @@ int FixNH::setmask() int mask = 0; mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; - mask |= THERMO_ENERGY; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; diff --git a/src/fix_restrain.cpp b/src/fix_restrain.cpp index d1a05c2aca..82e91c8289 100644 --- a/src/fix_restrain.cpp +++ b/src/fix_restrain.cpp @@ -30,7 +30,6 @@ #include "memory.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -57,6 +56,7 @@ FixRestrain::FixRestrain(LAMMPS *lmp, int narg, char **arg) : vector_flag = 1; size_vector = 3; extvector = 1; + energy_global_flag = 1; respa_level_support = 1; ilevel_respa = 0; @@ -176,7 +176,6 @@ int FixRestrain::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/fix_spring.cpp b/src/fix_spring.cpp index d3f89ec97a..4bbaf594bd 100644 --- a/src/fix_spring.cpp +++ b/src/fix_spring.cpp @@ -47,6 +47,7 @@ FixSpring::FixSpring(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 1; + energy_global_flag = 1; dynamic_group_allow = 1; respa_level_support = 1; ilevel_respa = 0; @@ -108,7 +109,6 @@ int FixSpring::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/fix_spring_chunk.cpp b/src/fix_spring_chunk.cpp index 130998dcd5..9ae4ee4632 100644 --- a/src/fix_spring_chunk.cpp +++ b/src/fix_spring_chunk.cpp @@ -43,6 +43,7 @@ FixSpringChunk::FixSpringChunk(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; + energy_global_flag = 1; respa_level_support = 1; ilevel_respa = 0; @@ -86,7 +87,6 @@ int FixSpringChunk::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/fix_spring_self.cpp b/src/fix_spring_self.cpp index 50d09acf50..b736271912 100644 --- a/src/fix_spring_self.cpp +++ b/src/fix_spring_self.cpp @@ -42,6 +42,7 @@ FixSpringSelf::FixSpringSelf(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; + energy_global_flag = 1; respa_level_support = 1; k = utils::numeric(FLERR,arg[3],false,lmp); @@ -110,7 +111,6 @@ int FixSpringSelf::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/fix_temp_berendsen.cpp b/src/fix_temp_berendsen.cpp index afa41c50e4..61cec81e8f 100644 --- a/src/fix_temp_berendsen.cpp +++ b/src/fix_temp_berendsen.cpp @@ -26,7 +26,6 @@ #include "compute.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -45,10 +44,11 @@ FixTempBerendsen::FixTempBerendsen(LAMMPS *lmp, int narg, char **arg) : restart_global = 1; dynamic_group_allow = 1; - nevery = 1; scalar_flag = 1; - global_freq = nevery; extscalar = 1; + ecouple_flag = 1; + nevery = 1; + global_freq = nevery; tstr = nullptr; if (strstr(arg[3],"v_") == arg[3]) { @@ -81,7 +81,7 @@ FixTempBerendsen::FixTempBerendsen(LAMMPS *lmp, int narg, char **arg) : modify->add_compute(cmd); tflag = 1; - energy = 0; + ecouple = 0; } /* ---------------------------------------------------------------------- */ @@ -102,7 +102,6 @@ int FixTempBerendsen::setmask() { int mask = 0; mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } @@ -171,7 +170,7 @@ void FixTempBerendsen::end_of_step() double lamda = sqrt(1.0 + update->dt/t_period*(t_target/t_current - 1.0)); double efactor = 0.5 * force->boltz * tdof; - energy += t_current * (1.0-lamda*lamda) * efactor; + ecouple += t_current * (1.0-lamda*lamda) * efactor; double **v = atom->v; int *mask = atom->mask; @@ -239,7 +238,7 @@ void FixTempBerendsen::reset_target(double t_new) double FixTempBerendsen::compute_scalar() { - return energy; + return ecouple; } /* ---------------------------------------------------------------------- @@ -250,7 +249,7 @@ void FixTempBerendsen::write_restart(FILE *fp) { int n = 0; double list[1]; - list[n++] = energy; + list[n++] = ecouple; if (comm->me == 0) { int size = n * sizeof(double); @@ -267,7 +266,7 @@ void FixTempBerendsen::restart(char *buf) { double *list = (double *) buf; - energy = list[0]; + ecouple = list[0]; } /* ---------------------------------------------------------------------- diff --git a/src/fix_temp_csld.cpp b/src/fix_temp_csld.cpp index 3b522c185f..da6447b694 100644 --- a/src/fix_temp_csld.cpp +++ b/src/fix_temp_csld.cpp @@ -32,7 +32,6 @@ #include "random_mars.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -52,6 +51,7 @@ FixTempCSLD::FixTempCSLD(LAMMPS *lmp, int narg, char **arg) : restart_global = 1; nevery = 1; scalar_flag = 1; + ecouple_flag = 1; global_freq = nevery; dynamic_group_allow = 1; extscalar = 1; @@ -92,7 +92,7 @@ FixTempCSLD::FixTempCSLD(LAMMPS *lmp, int narg, char **arg) : vhold = nullptr; nmax = -1; - energy = 0.0; + ecouple = 0.0; } /* ---------------------------------------------------------------------- */ @@ -118,7 +118,6 @@ int FixTempCSLD::setmask() { int mask = 0; mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } @@ -251,7 +250,7 @@ void FixTempCSLD::end_of_step() // tally the kinetic energy transferred between heat bath and system t_current = temperature->compute_scalar(); - energy += ekin_old - t_current * 0.5 * temperature->dof * force->boltz; + ecouple += ekin_old - t_current * 0.5 * temperature->dof * force->boltz; } /* ---------------------------------------------------------------------- */ @@ -295,10 +294,9 @@ void FixTempCSLD::reset_target(double t_new) double FixTempCSLD::compute_scalar() { - return energy; + return ecouple; } - /* ---------------------------------------------------------------------- pack entire state of Fix into one write ------------------------------------------------------------------------- */ @@ -306,11 +304,11 @@ double FixTempCSLD::compute_scalar() void FixTempCSLD::write_restart(FILE *fp) { const int PRNGSIZE = 98+2+3; - int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy + int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + ecouple double *list = nullptr; if (comm->me == 0) { list = new double[nsize]; - list[0] = energy; + list[0] = ecouple; list[1] = comm->nprocs; } double state[PRNGSIZE]; @@ -333,7 +331,7 @@ void FixTempCSLD::restart(char *buf) { double *list = (double *) buf; - energy = list[0]; + ecouple = list[0]; int nprocs = (int) list[1]; if (nprocs != comm->nprocs) { if (comm->me == 0) diff --git a/src/fix_temp_csvr.cpp b/src/fix_temp_csvr.cpp index eedf24c387..8779e7fb5e 100644 --- a/src/fix_temp_csvr.cpp +++ b/src/fix_temp_csvr.cpp @@ -33,89 +33,12 @@ #include "random_mars.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; enum{NOBIAS,BIAS}; enum{CONSTANT,EQUAL}; -double FixTempCSVR::gamdev(const int ia) -{ - int j; - double am,e,s,v1,v2,x,y; - - if (ia < 1) return 0.0; - if (ia < 6) { - x=1.0; - for (j=1; j<=ia; j++) - x *= random->uniform(); - - // make certain, that -log() doesn't overflow. - if (x < 2.2250759805e-308) - x = 708.4; - else - x = -log(x); - } else { - restart: - do { - do { - do { - v1 = random->uniform(); - v2 = 2.0*random->uniform() - 1.0; - } while (v1*v1 + v2*v2 > 1.0); - - y=v2/v1; - am=ia-1; - s=sqrt(2.0*am+1.0); - x=s*y+am; - } while (x <= 0.0); - - if (am*log(x/am)-s*y < -700 || v1<0.00001) { - goto restart; - } - - e=(1.0+y*y)*exp(am*log(x/am)-s*y); - } while (random->uniform() > e); - } - return x; -} - -/* ------------------------------------------------------------------- - returns the sum of n independent gaussian noises squared - (i.e. equivalent to summing the square of the return values of nn - calls to gasdev) ----------------------------------------------------------------------- */ -double FixTempCSVR::sumnoises(int nn) { - if (nn == 0) { - return 0.0; - } else if (nn == 1) { - const double rr = random->gaussian(); - return rr*rr; - } else if (nn % 2 == 0) { - return 2.0 * gamdev(nn / 2); - } else { - const double rr = random->gaussian(); - return 2.0 * gamdev((nn-1) / 2) + rr*rr; - } -} - -/* ------------------------------------------------------------------- - returns the scaling factor for velocities to thermalize - the system so it samples the canonical ensemble ----------------------------------------------------------------------- */ - -double FixTempCSVR::resamplekin(double ekin_old, double ekin_new) { - const double tdof = temperature->dof; - const double c1 = exp(-update->dt/t_period); - const double c2 = (1.0-c1)*ekin_new/ekin_old/tdof; - const double r1 = random->gaussian(); - const double r2 = sumnoises(tdof - 1); - - const double scale = c1 + c2*(r1*r1+r2) + 2.0*r1*sqrt(c1*c2); - return sqrt(scale); -} - /* ---------------------------------------------------------------------- */ FixTempCSVR::FixTempCSVR(LAMMPS *lmp, int narg, char **arg) : @@ -129,6 +52,7 @@ FixTempCSVR::FixTempCSVR(LAMMPS *lmp, int narg, char **arg) : restart_global = 1; nevery = 1; scalar_flag = 1; + ecouple_flag = 1; global_freq = nevery; dynamic_group_allow = 1; extscalar = 1; @@ -168,7 +92,7 @@ FixTempCSVR::FixTempCSVR(LAMMPS *lmp, int narg, char **arg) : tflag = 1; nmax = -1; - energy = 0.0; + ecouple = 0.0; } /* ---------------------------------------------------------------------- */ @@ -192,7 +116,6 @@ int FixTempCSVR::setmask() { int mask = 0; mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } @@ -200,7 +123,6 @@ int FixTempCSVR::setmask() void FixTempCSVR::init() { - // check variable if (tstr) { @@ -224,7 +146,6 @@ void FixTempCSVR::init() void FixTempCSVR::end_of_step() { - // set current t_target // if variable temp, evaluate variable, wrap with clear/add @@ -285,7 +206,7 @@ void FixTempCSVR::end_of_step() // tally the kinetic energy transferred between heat bath and system - energy += ekin_old * (1.0 - lamda*lamda); + ecouple += ekin_old * (1.0 - lamda*lamda); } /* ---------------------------------------------------------------------- */ @@ -320,6 +241,85 @@ int FixTempCSVR::modify_param(int narg, char **arg) /* ---------------------------------------------------------------------- */ +double FixTempCSVR::gamdev(const int ia) +{ + int j; + double am,e,s,v1,v2,x,y; + + if (ia < 1) return 0.0; + if (ia < 6) { + x=1.0; + for (j=1; j<=ia; j++) + x *= random->uniform(); + + // make certain, that -log() doesn't overflow. + if (x < 2.2250759805e-308) + x = 708.4; + else + x = -log(x); + } else { + restart: + do { + do { + do { + v1 = random->uniform(); + v2 = 2.0*random->uniform() - 1.0; + } while (v1*v1 + v2*v2 > 1.0); + + y=v2/v1; + am=ia-1; + s=sqrt(2.0*am+1.0); + x=s*y+am; + } while (x <= 0.0); + + if (am*log(x/am)-s*y < -700 || v1<0.00001) { + goto restart; + } + + e=(1.0+y*y)*exp(am*log(x/am)-s*y); + } while (random->uniform() > e); + } + return x; +} + +/* ------------------------------------------------------------------- + returns the sum of n independent gaussian noises squared + (i.e. equivalent to summing the square of the return values of nn + calls to gasdev) +---------------------------------------------------------------------- */ + +double FixTempCSVR::sumnoises(int nn) { + if (nn == 0) { + return 0.0; + } else if (nn == 1) { + const double rr = random->gaussian(); + return rr*rr; + } else if (nn % 2 == 0) { + return 2.0 * gamdev(nn / 2); + } else { + const double rr = random->gaussian(); + return 2.0 * gamdev((nn-1) / 2) + rr*rr; + } +} + +/* ------------------------------------------------------------------- + returns the scaling factor for velocities to thermalize + the system so it samples the canonical ensemble +---------------------------------------------------------------------- */ + +double FixTempCSVR::resamplekin(double ekin_old, double ekin_new) { + const double tdof = temperature->dof; + const double c1 = exp(-update->dt/t_period); + const double c2 = (1.0-c1)*ekin_new/ekin_old/tdof; + const double r1 = random->gaussian(); + const double r2 = sumnoises(tdof - 1); + + const double scale = c1 + c2*(r1*r1+r2) + 2.0*r1*sqrt(c1*c2); + return sqrt(scale); +} + +/* ---------------------------------------------------------------------- */ + void FixTempCSVR::reset_target(double t_new) { t_target = t_start = t_stop = t_new; @@ -329,7 +329,7 @@ void FixTempCSVR::reset_target(double t_new) double FixTempCSVR::compute_scalar() { - return energy; + return ecouple; } /* ---------------------------------------------------------------------- @@ -339,11 +339,11 @@ double FixTempCSVR::compute_scalar() void FixTempCSVR::write_restart(FILE *fp) { const int PRNGSIZE = 98+2+3; - int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy + int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + ecouple double *list = nullptr; if (comm->me == 0) { list = new double[nsize]; - list[0] = energy; + list[0] = ecouple; list[1] = comm->nprocs; } double state[PRNGSIZE]; @@ -366,7 +366,7 @@ void FixTempCSVR::restart(char *buf) { double *list = (double *) buf; - energy = list[0]; + ecouple = list[0]; int nprocs = (int) list[1]; if (nprocs != comm->nprocs) { if (comm->me == 0) diff --git a/src/fix_temp_rescale.cpp b/src/fix_temp_rescale.cpp index 5e6638a56c..80470e3ccb 100644 --- a/src/fix_temp_rescale.cpp +++ b/src/fix_temp_rescale.cpp @@ -48,6 +48,7 @@ FixTempRescale::FixTempRescale(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = nevery; extscalar = 1; + ecouple_flag = 1; dynamic_group_allow = 1; tstr = nullptr; @@ -77,7 +78,7 @@ FixTempRescale::FixTempRescale(LAMMPS *lmp, int narg, char **arg) : modify->add_compute(cmd); tflag = 1; - energy = 0.0; + ecouple = 0.0; } /* ---------------------------------------------------------------------- */ @@ -98,7 +99,6 @@ int FixTempRescale::setmask() { int mask = 0; mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } @@ -171,7 +171,7 @@ void FixTempRescale::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - energy += (t_current-t_target) * efactor; + ecouple += (t_current-t_target) * efactor; if (which == NOBIAS) { for (int i = 0; i < nlocal; i++) { @@ -236,7 +236,7 @@ void FixTempRescale::reset_target(double t_new) double FixTempRescale::compute_scalar() { - return energy; + return ecouple; } /* ---------------------------------------------------------------------- @@ -247,7 +247,7 @@ void FixTempRescale::write_restart(FILE *fp) { int n = 0; double list[1]; - list[n++] = energy; + list[n++] = ecouple; if (comm->me == 0) { int size = n * sizeof(double); @@ -265,7 +265,7 @@ void FixTempRescale::restart(char *buf) int n = 0; double *list = (double *) buf; - energy = list[n++]; + ecouple = list[n++]; } /* ---------------------------------------------------------------------- diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index 31aae965d4..5740045a63 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -41,9 +41,10 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 1; + energy_global_flag = 1; + virial_global_flag = virial_atom_flag = 1; respa_level_support = 1; ilevel_respa = 0; - virial_flag = 1; // parse args @@ -233,7 +234,6 @@ int FixWall::setmask() if (fldflag) mask |= PRE_FORCE; else mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; @@ -310,12 +310,12 @@ void FixWall::pre_force(int vflag) void FixWall::post_force(int vflag) { + // virial setup - // energy and virial setup + v_init(vflag); - eflag = 0; - if (vflag) v_setup(vflag); - else evflag = 0; + // energy intialize + for (int m = 0; m <= nwall; m++) ewall[m] = 0.0; // coord = current position of wall diff --git a/src/fix_wall_harmonic.cpp b/src/fix_wall_harmonic.cpp index 864125d93f..ffd950262b 100644 --- a/src/fix_wall_harmonic.cpp +++ b/src/fix_wall_harmonic.cpp @@ -67,7 +67,7 @@ void FixWallHarmonic::wall_particle(int m, int which, double coord) if (evflag) { if (side < 0) vn = -fwall*delta; else vn = fwall*delta; - v_tally(dim, i, vn); + v_tally(dim,i,vn); } } diff --git a/src/fix_wall_region.cpp b/src/fix_wall_region.cpp index 3107f876de..2399dbfe94 100644 --- a/src/fix_wall_region.cpp +++ b/src/fix_wall_region.cpp @@ -44,9 +44,10 @@ FixWallRegion::FixWallRegion(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 1; + energy_global_flag = 1; + virial_global_flag = virial_atom_flag = 1; respa_level_support = 1; ilevel_respa = 0; - virial_flag = 1; // parse args @@ -104,7 +105,6 @@ int FixWallRegion::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; @@ -234,11 +234,9 @@ void FixWallRegion::post_force(int vflag) int onflag = 0; - // energy and virial setup + // virial setup - eflag = 0; - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // region->match() insures particle is in region or on surface, else error // if returned contact dist r = 0, is on surface, also an error From 6e3b9307a45987c8ff957b2e54945461f935b96d Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 11:56:33 -0700 Subject: [PATCH 039/132] remove ecouple variable from Fix --- src/fix.h | 8 ++++---- src/fix_langevin.cpp | 13 +++++++------ src/fix_nh.cpp | 6 ++++-- src/fix_temp_berendsen.cpp | 10 +++++----- src/fix_temp_csld.cpp | 12 ++++++------ src/fix_temp_csvr.cpp | 12 ++++++------ src/fix_temp_rescale.cpp | 10 +++++----- src/modify.cpp | 4 ++-- 8 files changed, 39 insertions(+), 36 deletions(-) diff --git a/src/fix.h b/src/fix.h index 290ceebcda..af8e4dc554 100644 --- a/src/fix.h +++ b/src/fix.h @@ -47,7 +47,8 @@ class Fix : protected Pointers { int energy_atom_flag; // 1 if contributes to peratom eng int virial_global_flag; // 1 if contributes to global virial int virial_peratom_flag; // 1 if contributes to peratom virial - int ecouple_flag; // 1 if thermostat which accumulates eng to ecouple + int ecouple_flag; // 1 if thermostat fix outputs cumulative + // reservoir energy via compute_scalar() int time_integrate; // 1 if performs time integration, 0 if no int rigid_flag; // 1 if integrates rigid bodies, 0 if not int no_change_box; // 1 if cannot swap ortho <-> triclinic @@ -102,9 +103,8 @@ class Fix : protected Pointers { int comm_reverse; // size of reverse communication (0 if none) int comm_border; // size of border communication (0 if none) - double ecouple; // cumulative energy added to reservoir by thermostatting - double virial[6]; // virial for this timestep - double *eatom,**vatom; // per-atom energy/virial for this timestep + double virial[6]; // virial for this timestep + double *eatom,**vatom; // per-atom energy/virial for this timestep int centroidstressflag; // centroid stress compared to two-body stress // CENTROID_SAME = same as two-body stress diff --git a/src/fix_langevin.cpp b/src/fix_langevin.cpp index f798252a50..cb7c87e6ff 100644 --- a/src/fix_langevin.cpp +++ b/src/fix_langevin.cpp @@ -53,7 +53,8 @@ enum{CONSTANT,EQUAL,ATOM}; FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), gjfflag(0), gfactor1(nullptr), gfactor2(nullptr), ratio(nullptr), tstr(nullptr), - flangevin(nullptr), tforce(nullptr), franprev(nullptr), lv(nullptr), id_temp(nullptr), random(nullptr) + flangevin(nullptr), tforce(nullptr), franprev(nullptr), + lv(nullptr), id_temp(nullptr), random(nullptr) { if (narg < 7) error->all(FLERR,"Illegal fix langevin command"); @@ -159,7 +160,7 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : id_temp = nullptr; temperature = nullptr; - ecouple = 0.0; + energy = 0.0; // flangevin is unallocated until first call to setup() // compute_scalar checks for this and returns 0.0 @@ -990,7 +991,7 @@ void FixLangevin::end_of_step() } } - ecouple += energy_onestep*update->dt; + energy += energy_onestep*update->dt; } /* ---------------------------------------------------------------------- */ @@ -1068,7 +1069,7 @@ double FixLangevin::compute_scalar() if (mask[i] & groupbit) energy_onestep += flangevin[i][0]*v[i][0] + flangevin[i][1]*v[i][1] + flangevin[i][2]*v[i][2]; - ecouple = 0.5*energy_onestep*update->dt; + energy = 0.5*energy_onestep*update->dt; } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -1079,13 +1080,13 @@ double FixLangevin::compute_scalar() if (tbiasflag) temperature->restore_bias(i, lv[i]); } - ecouple = -0.5*energy_onestep*update->dt; + energy = -0.5*energy_onestep*update->dt; } } // convert midstep energy back to previous fullstep energy - double energy_me = ecouple - 0.5*energy_onestep*update->dt; + double energy_me = energy - 0.5*energy_onestep*update->dt; double energy_all; MPI_Allreduce(&energy_me,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index ee2b74ddb9..f4de07a5ae 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -51,7 +51,8 @@ enum{ISO,ANISO,TRICLINIC}; FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - rfix(nullptr), id_dilate(nullptr), irregular(nullptr), id_temp(nullptr), id_press(nullptr), + rfix(nullptr), id_dilate(nullptr), irregular(nullptr), + id_temp(nullptr), id_press(nullptr), eta(nullptr), eta_dot(nullptr), eta_dotdot(nullptr), eta_mass(nullptr), etap(nullptr), etap_dot(nullptr), etap_dotdot(nullptr), etap_mass(nullptr) @@ -784,7 +785,8 @@ void FixNH::setup(int /*vflag*/) } else { t0 = temperature->compute_scalar(); if (t0 < EPSILON) - error->all(FLERR, "Current temperature too close to zero, consider using ptemp setting"); + error->all(FLERR,"Current temperature too close to zero, " + "consider using ptemp setting"); } } t_target = t0; diff --git a/src/fix_temp_berendsen.cpp b/src/fix_temp_berendsen.cpp index 61cec81e8f..0ff5857fb5 100644 --- a/src/fix_temp_berendsen.cpp +++ b/src/fix_temp_berendsen.cpp @@ -81,7 +81,7 @@ FixTempBerendsen::FixTempBerendsen(LAMMPS *lmp, int narg, char **arg) : modify->add_compute(cmd); tflag = 1; - ecouple = 0; + energy = 0; } /* ---------------------------------------------------------------------- */ @@ -170,7 +170,7 @@ void FixTempBerendsen::end_of_step() double lamda = sqrt(1.0 + update->dt/t_period*(t_target/t_current - 1.0)); double efactor = 0.5 * force->boltz * tdof; - ecouple += t_current * (1.0-lamda*lamda) * efactor; + energy += t_current * (1.0-lamda*lamda) * efactor; double **v = atom->v; int *mask = atom->mask; @@ -238,7 +238,7 @@ void FixTempBerendsen::reset_target(double t_new) double FixTempBerendsen::compute_scalar() { - return ecouple; + return energy; } /* ---------------------------------------------------------------------- @@ -249,7 +249,7 @@ void FixTempBerendsen::write_restart(FILE *fp) { int n = 0; double list[1]; - list[n++] = ecouple; + list[n++] = energy; if (comm->me == 0) { int size = n * sizeof(double); @@ -266,7 +266,7 @@ void FixTempBerendsen::restart(char *buf) { double *list = (double *) buf; - ecouple = list[0]; + energy = list[0]; } /* ---------------------------------------------------------------------- diff --git a/src/fix_temp_csld.cpp b/src/fix_temp_csld.cpp index da6447b694..b4da730b97 100644 --- a/src/fix_temp_csld.cpp +++ b/src/fix_temp_csld.cpp @@ -92,7 +92,7 @@ FixTempCSLD::FixTempCSLD(LAMMPS *lmp, int narg, char **arg) : vhold = nullptr; nmax = -1; - ecouple = 0.0; + energy = 0.0; } /* ---------------------------------------------------------------------- */ @@ -250,7 +250,7 @@ void FixTempCSLD::end_of_step() // tally the kinetic energy transferred between heat bath and system t_current = temperature->compute_scalar(); - ecouple += ekin_old - t_current * 0.5 * temperature->dof * force->boltz; + energy += ekin_old - t_current * 0.5 * temperature->dof * force->boltz; } /* ---------------------------------------------------------------------- */ @@ -294,7 +294,7 @@ void FixTempCSLD::reset_target(double t_new) double FixTempCSLD::compute_scalar() { - return ecouple; + return energy; } /* ---------------------------------------------------------------------- @@ -304,11 +304,11 @@ double FixTempCSLD::compute_scalar() void FixTempCSLD::write_restart(FILE *fp) { const int PRNGSIZE = 98+2+3; - int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + ecouple + int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy double *list = nullptr; if (comm->me == 0) { list = new double[nsize]; - list[0] = ecouple; + list[0] = energy; list[1] = comm->nprocs; } double state[PRNGSIZE]; @@ -331,7 +331,7 @@ void FixTempCSLD::restart(char *buf) { double *list = (double *) buf; - ecouple = list[0]; + energy = list[0]; int nprocs = (int) list[1]; if (nprocs != comm->nprocs) { if (comm->me == 0) diff --git a/src/fix_temp_csvr.cpp b/src/fix_temp_csvr.cpp index 8779e7fb5e..b89cf9959a 100644 --- a/src/fix_temp_csvr.cpp +++ b/src/fix_temp_csvr.cpp @@ -92,7 +92,7 @@ FixTempCSVR::FixTempCSVR(LAMMPS *lmp, int narg, char **arg) : tflag = 1; nmax = -1; - ecouple = 0.0; + energy = 0.0; } /* ---------------------------------------------------------------------- */ @@ -206,7 +206,7 @@ void FixTempCSVR::end_of_step() // tally the kinetic energy transferred between heat bath and system - ecouple += ekin_old * (1.0 - lamda*lamda); + energy += ekin_old * (1.0 - lamda*lamda); } /* ---------------------------------------------------------------------- */ @@ -329,7 +329,7 @@ void FixTempCSVR::reset_target(double t_new) double FixTempCSVR::compute_scalar() { - return ecouple; + return energy; } /* ---------------------------------------------------------------------- @@ -339,11 +339,11 @@ double FixTempCSVR::compute_scalar() void FixTempCSVR::write_restart(FILE *fp) { const int PRNGSIZE = 98+2+3; - int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + ecouple + int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy double *list = nullptr; if (comm->me == 0) { list = new double[nsize]; - list[0] = ecouple; + list[0] = energy; list[1] = comm->nprocs; } double state[PRNGSIZE]; @@ -366,7 +366,7 @@ void FixTempCSVR::restart(char *buf) { double *list = (double *) buf; - ecouple = list[0]; + energy = list[0]; int nprocs = (int) list[1]; if (nprocs != comm->nprocs) { if (comm->me == 0) diff --git a/src/fix_temp_rescale.cpp b/src/fix_temp_rescale.cpp index 80470e3ccb..b393815faf 100644 --- a/src/fix_temp_rescale.cpp +++ b/src/fix_temp_rescale.cpp @@ -78,7 +78,7 @@ FixTempRescale::FixTempRescale(LAMMPS *lmp, int narg, char **arg) : modify->add_compute(cmd); tflag = 1; - ecouple = 0.0; + energy = 0.0; } /* ---------------------------------------------------------------------- */ @@ -171,7 +171,7 @@ void FixTempRescale::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - ecouple += (t_current-t_target) * efactor; + energy += (t_current-t_target) * efactor; if (which == NOBIAS) { for (int i = 0; i < nlocal; i++) { @@ -236,7 +236,7 @@ void FixTempRescale::reset_target(double t_new) double FixTempRescale::compute_scalar() { - return ecouple; + return energy; } /* ---------------------------------------------------------------------- @@ -247,7 +247,7 @@ void FixTempRescale::write_restart(FILE *fp) { int n = 0; double list[1]; - list[n++] = ecouple; + list[n++] = energy; if (comm->me == 0) { int size = n * sizeof(double); @@ -265,7 +265,7 @@ void FixTempRescale::restart(char *buf) int n = 0; double *list = (double *) buf; - ecouple = list[n++]; + energy = list[n++]; } /* ---------------------------------------------------------------------- diff --git a/src/modify.cpp b/src/modify.cpp index 5812947dd4..f8718ca5df 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -489,7 +489,7 @@ void Modify::end_of_step() /* ---------------------------------------------------------------------- coupling energy call, only for relevant fixes - stored by each fix in ecouple variable + each thermostsat fix returns this via compute_scalar() ecouple = cumulative energy added to reservoir by thermostatting ------------------------------------------------------------------------- */ @@ -497,7 +497,7 @@ double Modify::energy_couple() { double energy = 0.0; for (int i = 0; i < n_energy_couple; i++) - energy += fix[list_energy_couple[i]]->ecouple; + energy += fix[list_energy_couple[i]]->compute_scalar(); return energy; } From 2c1b6adce32f7781d24ba17f1267966ea6ec6c6e Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 12:00:16 -0700 Subject: [PATCH 040/132] change virial_atom to virial_peratom --- src/compute_stress_atom.cpp | 2 +- src/fix.cpp | 4 ++-- src/fix.h | 2 +- src/fix_addforce.cpp | 2 +- src/fix_external.cpp | 4 ++-- src/fix_wall.cpp | 2 +- src/fix_wall_region.cpp | 2 +- src/modify.cpp | 25 +++---------------------- 8 files changed, 12 insertions(+), 31 deletions(-) diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index aefb58dbb4..5f6b336802 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -222,7 +222,7 @@ void ComputeStressAtom::compute_peratom() Fix **fix = modify->fix; int nfix = modify->nfix; for (int ifix = 0; ifix < nfix; ifix++) - if (fix[i]->virial_atom_flag && fix[ifix]->virial_flag) { + if (fix[i]->virial_peratom_flag && fix[ifix]->virial_flag) { double **vatom = modify->fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) diff --git a/src/fix.cpp b/src/fix.cpp index bd3d91767b..c63893ea13 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -63,8 +63,8 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : box_change = NO_BOX_CHANGE; thermo_energy = 0; thermo_virial = 0; - energy_global_flag = energy_atom_flag = 0; - virial_global_flag = virial_atom_flag = 0; + energy_global_flag = energy_peratom_flag = 0; + virial_global_flag = virial_peratom_flag = 0; ecouple_flag = 0; rigid_flag = 0; peatom_flag = 0; diff --git a/src/fix.h b/src/fix.h index af8e4dc554..c4c9267e54 100644 --- a/src/fix.h +++ b/src/fix.h @@ -44,7 +44,7 @@ class Fix : protected Pointers { int thermo_energy; // 1 if fix_modify energy enabled, 0 if not int thermo_virial; // 1 if fix_modify virial enabled, 0 if not int energy_global_flag; // 1 if contributes to global eng - int energy_atom_flag; // 1 if contributes to peratom eng + int energy_peratom_flag; // 1 if contributes to peratom eng int virial_global_flag; // 1 if contributes to global virial int virial_peratom_flag; // 1 if contributes to peratom virial int ecouple_flag; // 1 if thermostat fix outputs cumulative diff --git a/src/fix_addforce.cpp b/src/fix_addforce.cpp index 22c7408996..bd5dc767fd 100644 --- a/src/fix_addforce.cpp +++ b/src/fix_addforce.cpp @@ -49,7 +49,7 @@ FixAddForce::FixAddForce(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 1; energy_global_flag = 1; - virial_global_flag = virial_atom_flag = 1; + virial_global_flag = virial_peratom_flag = 1; respa_level_support = 1; ilevel_respa = 0; diff --git a/src/fix_external.cpp b/src/fix_external.cpp index f3ad25d3b3..c2bd447a47 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -36,8 +36,8 @@ FixExternal::FixExternal(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; - energy_global_flag = energy_atom_flag = 1; - virial_global_flag = virial_atom_flag = 1; + energy_global_flag = energy_peratom_flag = 1; + virial_global_flag = virial_peratom_flag = 1; thermo_energy = thermo_virial = 1; if (strcmp(arg[3],"pf/callback") == 0) { diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index 5740045a63..942dd1f81a 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -42,7 +42,7 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 1; energy_global_flag = 1; - virial_global_flag = virial_atom_flag = 1; + virial_global_flag = virial_peratom_flag = 1; respa_level_support = 1; ilevel_respa = 0; diff --git a/src/fix_wall_region.cpp b/src/fix_wall_region.cpp index 2399dbfe94..4d976373a5 100644 --- a/src/fix_wall_region.cpp +++ b/src/fix_wall_region.cpp @@ -45,7 +45,7 @@ FixWallRegion::FixWallRegion(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 1; energy_global_flag = 1; - virial_global_flag = virial_atom_flag = 1; + virial_global_flag = virial_peratom_flag = 1; respa_level_support = 1; ilevel_respa = 0; diff --git a/src/modify.cpp b/src/modify.cpp index f8718ca5df..1dcd439c8e 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1666,25 +1666,6 @@ void Modify::list_init_energy_couple(int &n, int *&list) if (fix[i]->ecouple_flag) list[n++] = i; } -/* ---------------------------------------------------------------------- - create list of fix indices for fixes that compute peratom energy - only added to list if fix has energy_atom_flag and thermo_energy set -------------------------------------------------------------------------- */ - -void Modify::list_init_energy_atom(int &n, int *&list) -{ - delete [] list; - - n = 0; - for (int i = 0; i < nfix; i++) - if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) n++; - list = new int[n]; - - n = 0; - for (int i = 0; i < nfix; i++) - if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) list[n++] = i; -} - /* ---------------------------------------------------------------------- create list of fix indices for fixes that compute global energy only added to list if fix has energy_global_flag and thermo_energy set @@ -1706,7 +1687,7 @@ void Modify::list_init_energy_global(int &n, int *&list) /* ---------------------------------------------------------------------- create list of fix indices for fixes that compute peratom energy - only added to list if fix has energy_atom_flag and thermo_energy set + only added to list if fix has energy_peratom_flag and thermo_energy set ------------------------------------------------------------------------- */ void Modify::list_init_energy_atom(int &n, int *&list) @@ -1715,12 +1696,12 @@ void Modify::list_init_energy_atom(int &n, int *&list) n = 0; for (int i = 0; i < nfix; i++) - if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) n++; + if (fix[i]->energy_peratom_flag && fix[i]->thermo_energy) n++; list = new int[n]; n = 0; for (int i = 0; i < nfix; i++) - if (fix[i]->energy_atom_flag && fix[i]->thermo_energy) list[n++] = i; + if (fix[i]->energy_peratom_flag && fix[i]->thermo_energy) list[n++] = i; } /* ---------------------------------------------------------------------- From 20650dc7ceb616c336be8266c1cf14fb624cac79 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 12:16:39 -0700 Subject: [PATCH 041/132] more changes --- src/compute_centroid_stress_atom.cpp | 10 ++++++---- src/compute_stress_atom.cpp | 2 +- src/fix.cpp | 7 ++++--- src/modify.cpp | 2 +- src/thermo.cpp | 5 +++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/compute_centroid_stress_atom.cpp b/src/compute_centroid_stress_atom.cpp index 1b814961a0..fa3122f5d6 100644 --- a/src/compute_centroid_stress_atom.cpp +++ b/src/compute_centroid_stress_atom.cpp @@ -149,7 +149,7 @@ void ComputeCentroidStressAtom::init() if (fixflag) { for (int ifix = 0; ifix < modify->nfix; ifix++) - if (modify->fix[ifix]->virial_flag && + if (modify->fix[ifix]->virial_peratom_flag && modify->fix[ifix]->centroidstressflag == CENTROID_NOTAVAIL) error->all(FLERR, "Fix style does not support compute centroid/stress/atom"); } @@ -273,9 +273,11 @@ void ComputeCentroidStressAtom::compute_peratom() // fix styles are CENTROID_SAME or CENTROID_NOTAVAIL if (fixflag) { - for (int ifix = 0; ifix < modify->nfix; ifix++) - if (modify->fix[ifix]->virial_flag) { - double **vatom = modify->fix[ifix]->vatom; + Fix **fix = modify->fix; + int nfix = modify->nfix; + for (int ifix = 0; ifix < nfix; ifix++) + if (fix[ifix]->virial_peratom_flag && fix[ifix]->thermo_virial) { + double **vatom = fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) { for (j = 0; j < 6; j++) diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index 5f6b336802..88b092ecba 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -222,7 +222,7 @@ void ComputeStressAtom::compute_peratom() Fix **fix = modify->fix; int nfix = modify->nfix; for (int ifix = 0; ifix < nfix; ifix++) - if (fix[i]->virial_peratom_flag && fix[ifix]->virial_flag) { + if (fix[i]->virial_peratom_flag && fix[ifix]->thermo_virial) { double **vatom = modify->fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) diff --git a/src/fix.cpp b/src/fix.cpp index c63893ea13..074040a4d8 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -67,7 +67,6 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : virial_global_flag = virial_peratom_flag = 0; ecouple_flag = 0; rigid_flag = 0; - peatom_flag = 0; no_change_box = 0; time_integrate = 0; time_depend = 0; @@ -152,7 +151,8 @@ void Fix::modify_params(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (strcmp(arg[iarg+1],"no") == 0) thermo_energy = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { - if (energy_flag == 0) error->all(FLERR,"Illegal fix_modify command"); + if (energy_global_flag == 0 && energy_peratom_flag == 0) + error->all(FLERR,"Illegal fix_modify command"); thermo_energy = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; @@ -160,7 +160,8 @@ void Fix::modify_params(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (strcmp(arg[iarg+1],"no") == 0) thermo_virial = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { - if (virial_flag == 0) error->all(FLERR,"Illegal fix_modify command"); + if (virial_global_flag == 0 && virial_peratom_flag == 0) + error->all(FLERR,"Illegal fix_modify command"); thermo_virial = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; diff --git a/src/modify.cpp b/src/modify.cpp index 1dcd439c8e..71fce8937a 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -510,7 +510,7 @@ double Modify::energy_couple() double Modify::energy_global() { double energy = 0.0; - for (i = 0; i < n_energy_global; i++) + for (int i = 0; i < n_energy_global; i++) energy += fix[list_energy_global[i]]->compute_scalar(); return energy; } diff --git a/src/thermo.cpp b/src/thermo.cpp index 626dc09c3f..9e4658fcdb 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1366,7 +1366,8 @@ int Thermo::evaluate_keyword(const char *word, double *answer) compute_enthalpy(); } else if (strcmp(word,"ecouple") == 0) compute_ecouple(); - } else if (strcmp(word,"econserve") == 0) { + + else if (strcmp(word,"econserve") == 0) { if (!pe) error->all(FLERR, "Thermo keyword in variable requires thermo to use/init pe"); @@ -1765,7 +1766,7 @@ void Thermo::compute_etotal() void Thermo::compute_ecouple() { - dvalue = modify->ecouple(); + dvalue = modify->energy_couple(); } /* ---------------------------------------------------------------------- */ From 9decb3b37a4b45e87ac358128a9da5808989e912 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 21 Jan 2021 12:17:53 -0700 Subject: [PATCH 042/132] more changes --- src/compute_centroid_stress_atom.cpp | 10 ++++++---- src/compute_stress_atom.cpp | 2 +- src/fix.cpp | 7 ++++--- src/modify.cpp | 2 +- src/thermo.cpp | 5 +++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/compute_centroid_stress_atom.cpp b/src/compute_centroid_stress_atom.cpp index 1b814961a0..fa3122f5d6 100644 --- a/src/compute_centroid_stress_atom.cpp +++ b/src/compute_centroid_stress_atom.cpp @@ -149,7 +149,7 @@ void ComputeCentroidStressAtom::init() if (fixflag) { for (int ifix = 0; ifix < modify->nfix; ifix++) - if (modify->fix[ifix]->virial_flag && + if (modify->fix[ifix]->virial_peratom_flag && modify->fix[ifix]->centroidstressflag == CENTROID_NOTAVAIL) error->all(FLERR, "Fix style does not support compute centroid/stress/atom"); } @@ -273,9 +273,11 @@ void ComputeCentroidStressAtom::compute_peratom() // fix styles are CENTROID_SAME or CENTROID_NOTAVAIL if (fixflag) { - for (int ifix = 0; ifix < modify->nfix; ifix++) - if (modify->fix[ifix]->virial_flag) { - double **vatom = modify->fix[ifix]->vatom; + Fix **fix = modify->fix; + int nfix = modify->nfix; + for (int ifix = 0; ifix < nfix; ifix++) + if (fix[ifix]->virial_peratom_flag && fix[ifix]->thermo_virial) { + double **vatom = fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) { for (j = 0; j < 6; j++) diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index 5f6b336802..88b092ecba 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -222,7 +222,7 @@ void ComputeStressAtom::compute_peratom() Fix **fix = modify->fix; int nfix = modify->nfix; for (int ifix = 0; ifix < nfix; ifix++) - if (fix[i]->virial_peratom_flag && fix[ifix]->virial_flag) { + if (fix[i]->virial_peratom_flag && fix[ifix]->thermo_virial) { double **vatom = modify->fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) diff --git a/src/fix.cpp b/src/fix.cpp index c63893ea13..074040a4d8 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -67,7 +67,6 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : virial_global_flag = virial_peratom_flag = 0; ecouple_flag = 0; rigid_flag = 0; - peatom_flag = 0; no_change_box = 0; time_integrate = 0; time_depend = 0; @@ -152,7 +151,8 @@ void Fix::modify_params(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (strcmp(arg[iarg+1],"no") == 0) thermo_energy = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { - if (energy_flag == 0) error->all(FLERR,"Illegal fix_modify command"); + if (energy_global_flag == 0 && energy_peratom_flag == 0) + error->all(FLERR,"Illegal fix_modify command"); thermo_energy = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; @@ -160,7 +160,8 @@ void Fix::modify_params(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (strcmp(arg[iarg+1],"no") == 0) thermo_virial = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { - if (virial_flag == 0) error->all(FLERR,"Illegal fix_modify command"); + if (virial_global_flag == 0 && virial_peratom_flag == 0) + error->all(FLERR,"Illegal fix_modify command"); thermo_virial = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; diff --git a/src/modify.cpp b/src/modify.cpp index 1dcd439c8e..71fce8937a 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -510,7 +510,7 @@ double Modify::energy_couple() double Modify::energy_global() { double energy = 0.0; - for (i = 0; i < n_energy_global; i++) + for (int i = 0; i < n_energy_global; i++) energy += fix[list_energy_global[i]]->compute_scalar(); return energy; } diff --git a/src/thermo.cpp b/src/thermo.cpp index 626dc09c3f..9e4658fcdb 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1366,7 +1366,8 @@ int Thermo::evaluate_keyword(const char *word, double *answer) compute_enthalpy(); } else if (strcmp(word,"ecouple") == 0) compute_ecouple(); - } else if (strcmp(word,"econserve") == 0) { + + else if (strcmp(word,"econserve") == 0) { if (!pe) error->all(FLERR, "Thermo keyword in variable requires thermo to use/init pe"); @@ -1765,7 +1766,7 @@ void Thermo::compute_etotal() void Thermo::compute_ecouple() { - dvalue = modify->ecouple(); + dvalue = modify->energy_couple(); } /* ---------------------------------------------------------------------- */ From b5525a19bc2ae8e9a4c39b52e5541ef52796ee82 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 13:56:50 -0700 Subject: [PATCH 043/132] changes to files with THERMO_ENERGY mask in standard packages --- src/LATTE/fix_latte.cpp | 11 +++-------- src/MC/fix_gcmc.cpp | 4 ++-- src/MC/fix_widom.cpp | 4 ++-- src/MESSAGE/fix_client_md.cpp | 8 ++++---- src/MISC/fix_efield.cpp | 2 +- src/MISC/fix_orient_bcc.cpp | 3 +-- src/MISC/fix_orient_fcc.cpp | 3 +-- src/MOLECULE/fix_cmap.cpp | 7 +++---- src/REPLICA/fix_hyper_global.cpp | 2 +- src/REPLICA/fix_hyper_local.cpp | 3 +-- src/RIGID/fix_rigid_nh.cpp | 4 ++-- src/RIGID/fix_rigid_nh_small.cpp | 4 ++-- src/SHOCK/fix_msst.cpp | 4 +--- src/SPIN/fix_langevin_spin.cpp | 23 ----------------------- src/SPIN/fix_precession_spin.cpp | 7 +++---- src/USER-MISC/fix_orient_eco.cpp | 7 +++---- 16 files changed, 30 insertions(+), 66 deletions(-) diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index 46b15a60d0..4f2d90f3de 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -70,8 +70,9 @@ FixLatte::FixLatte(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; - virial_flag = 1; - thermo_virial = 1; + energy_global_flag = 1; + virial_global_flag = 1; + thermo_energy = thermo_virial = 1; // store ID of compute pe/atom used to generate Coulomb potential for LATTE // null pointer means LATTE will compute Coulombic potential @@ -117,12 +118,9 @@ FixLatte::~FixLatte() int FixLatte::setmask() { int mask = 0; - //mask |= INITIAL_INTEGRATE; - //mask |= FINAL_INTEGRATE; mask |= PRE_REVERSE; mask |= POST_FORCE; mask |= MIN_POST_FORCE; - mask |= THERMO_ENERGY; return mask; } @@ -267,9 +265,6 @@ void FixLatte::post_force(int vflag) // hardwire these unsupported flags for now int coulombflag = 0; - // pe_peratom = 0; - // virial_global = 1; // set via vflag_global at some point - // virial_peratom = 0; neighflag = 0; // set flags used by LATTE diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 79cfd09f96..4c0cb1c9bf 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -2334,9 +2334,9 @@ double FixGCMC::energy_full() if (modify->n_post_force) modify->post_force(vflag); if (modify->n_end_of_step) modify->end_of_step(); - // NOTE: all fixes with THERMO_ENERGY mask set and which + // NOTE: all fixes with energy_global_flag set and which // operate at pre_force() or post_force() or end_of_step() - // and which user has enable via fix_modify thermo yes, + // and which user has enabled via fix_modify energy yes, // will contribute to total MC energy via pe->compute_scalar() update->eflag_global = update->ntimestep; diff --git a/src/MC/fix_widom.cpp b/src/MC/fix_widom.cpp index c06573ab1a..318314992f 100644 --- a/src/MC/fix_widom.cpp +++ b/src/MC/fix_widom.cpp @@ -1061,9 +1061,9 @@ double FixWidom::energy_full() if (modify->n_pre_force) modify->pre_force(vflag); if (modify->n_end_of_step) modify->end_of_step(); - // NOTE: all fixes with THERMO_ENERGY mask set and which + // NOTE: all fixes with energy_global_flag set and which // operate at pre_force() or post_force() or end_of_step() - // and which user has enable via fix_modify thermo yes, + // and which user has enabled via fix_modify energy yes, // will contribute to total MC energy via pe->compute_scalar() update->eflag_global = update->ntimestep; diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index cd0d45cda7..7482a33110 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -42,7 +42,8 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : { if (lmp->clientserver != 1) error->all(FLERR,"Fix client/md requires LAMMPS be running as a client"); - if (atom->map_style == Atom::MAP_NONE) error->all(FLERR,"Fix client/md requires atom map"); + if (atom->map_style == Atom::MAP_NONE) + error->all(FLERR,"Fix client/md requires atom map"); if (sizeof(tagint) != 4) error->all(FLERR,"Fix client/md only supports 32-bit atom IDs"); @@ -54,8 +55,8 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; - virial_flag = 1; - thermo_virial = 1; + energy_global_flag = virial_global_flag = 1; + thermo_energy = thermo_virial = 1; inv_nprocs = 1.0 / comm->nprocs; if (domain->dimension == 2) @@ -89,7 +90,6 @@ int FixClientMD::setmask() int mask = 0; mask |= POST_FORCE; mask |= MIN_POST_FORCE; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/MISC/fix_efield.cpp b/src/MISC/fix_efield.cpp index fd81448b2b..9f50439158 100644 --- a/src/MISC/fix_efield.cpp +++ b/src/MISC/fix_efield.cpp @@ -49,6 +49,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : vector_flag = 1; scalar_flag = 1; size_vector = 3; + energy_global_flag = 1; global_freq = 1; extvector = 1; extscalar = 1; @@ -138,7 +139,6 @@ FixEfield::~FixEfield() int FixEfield::setmask() { int mask = 0; - mask |= THERMO_ENERGY; mask |= POST_FORCE; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; diff --git a/src/MISC/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp index b6ab2545ad..f7a266be83 100644 --- a/src/MISC/fix_orient_bcc.cpp +++ b/src/MISC/fix_orient_bcc.cpp @@ -67,7 +67,7 @@ FixOrientBCC::FixOrientBCC(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; - + energy_global_flag = 1; peratom_flag = 1; size_peratom_cols = 2; peratom_freq = 1; @@ -202,7 +202,6 @@ int FixOrientBCC::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; } diff --git a/src/MISC/fix_orient_fcc.cpp b/src/MISC/fix_orient_fcc.cpp index f718df07ad..7dc89df977 100644 --- a/src/MISC/fix_orient_fcc.cpp +++ b/src/MISC/fix_orient_fcc.cpp @@ -65,7 +65,7 @@ FixOrientFCC::FixOrientFCC(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = 1; extscalar = 1; - + energy_global_flag = 1; peratom_flag = 1; size_peratom_cols = 2; peratom_freq = 1; @@ -200,7 +200,6 @@ int FixOrientFCC::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; } diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index d8aee3e181..7fa5adf292 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -70,10 +70,10 @@ FixCMAP::FixCMAP(LAMMPS *lmp, int narg, char **arg) : restart_global = 1; restart_peratom = 1; - peatom_flag = 1; - virial_flag = 1; + energy_global_flag = energy_peratom_flag = 1; + virial_global_flag = virial_peratom_flag = 1; + thermo_energy = thermo_virial = 1; centroidstressflag = CENTROID_NOTAVAIL; - thermo_virial = 1; peratom_freq = 1; scalar_flag = 1; global_freq = 1; @@ -154,7 +154,6 @@ int FixCMAP::setmask() mask |= PRE_NEIGHBOR; mask |= PRE_REVERSE; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/REPLICA/fix_hyper_global.cpp b/src/REPLICA/fix_hyper_global.cpp index d29aa36e31..8d0bc5bd2e 100644 --- a/src/REPLICA/fix_hyper_global.cpp +++ b/src/REPLICA/fix_hyper_global.cpp @@ -50,6 +50,7 @@ FixHyperGlobal::FixHyperGlobal(LAMMPS *lmp, int narg, char **arg) : hyperflag = 1; scalar_flag = 1; + energy_global_flag = 1; vector_flag = 1; size_vector = 12; global_freq = 1; @@ -104,7 +105,6 @@ int FixHyperGlobal::setmask() int mask = 0; mask |= PRE_NEIGHBOR; mask |= PRE_REVERSE; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/REPLICA/fix_hyper_local.cpp b/src/REPLICA/fix_hyper_local.cpp index 4a18a47176..d0186006d4 100644 --- a/src/REPLICA/fix_hyper_local.cpp +++ b/src/REPLICA/fix_hyper_local.cpp @@ -31,7 +31,6 @@ #include "memory.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -63,6 +62,7 @@ FixHyperLocal::FixHyperLocal(LAMMPS *lmp, int narg, char **arg) : hyperflag = 2; scalar_flag = 1; + energy_global_flag = 1; vector_flag = 1; size_vector = 26; //size_vector = 28; // can add 2 for debugging @@ -237,7 +237,6 @@ int FixHyperLocal::setmask() mask |= PRE_NEIGHBOR; mask |= PRE_REVERSE; mask |= MIN_PRE_NEIGHBOR; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/RIGID/fix_rigid_nh.cpp b/src/RIGID/fix_rigid_nh.cpp index 148a532d41..7e05c694c2 100644 --- a/src/RIGID/fix_rigid_nh.cpp +++ b/src/RIGID/fix_rigid_nh.cpp @@ -49,6 +49,8 @@ FixRigidNH::FixRigidNH(LAMMPS *lmp, int narg, char **arg) : eta_dot_b(nullptr), f_eta_b(nullptr), rfix(nullptr), id_temp(nullptr), id_press(nullptr), temperature(nullptr), pressure(nullptr) { + if (tstat_flag || pstat_flag) ecouple_flag = 1; + // error checks: could be moved up to FixRigid if ((p_flag[0] == 1 && p_period[0] <= 0.0) || @@ -186,8 +188,6 @@ int FixRigidNH::setmask() { int mask = 0; mask = FixRigid::setmask(); - if (tstat_flag || pstat_flag) mask |= THERMO_ENERGY; - return mask; } diff --git a/src/RIGID/fix_rigid_nh_small.cpp b/src/RIGID/fix_rigid_nh_small.cpp index 17e5d30aaf..354ef08dbb 100644 --- a/src/RIGID/fix_rigid_nh_small.cpp +++ b/src/RIGID/fix_rigid_nh_small.cpp @@ -51,6 +51,8 @@ FixRigidNHSmall::FixRigidNHSmall(LAMMPS *lmp, int narg, char **arg) : f_eta_b(nullptr), rfix(nullptr), id_temp(nullptr), id_press(nullptr), temperature(nullptr), pressure(nullptr) { + if (tstat_flag || pstat_flag) ecouple_flag = 1; + // error checks if ((p_flag[0] == 1 && p_period[0] <= 0.0) || @@ -199,8 +201,6 @@ int FixRigidNHSmall::setmask() { int mask = 0; mask = FixRigidSmall::setmask(); - if (tstat_flag || pstat_flag) mask |= THERMO_ENERGY; - return mask; } diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp index a73409e584..3947811a52 100644 --- a/src/SHOCK/fix_msst.cpp +++ b/src/SHOCK/fix_msst.cpp @@ -33,8 +33,6 @@ #include "memory.h" #include "error.h" - - using namespace LAMMPS_NS; using namespace FixConst; @@ -55,6 +53,7 @@ FixMSST::FixMSST(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 0; + ecouple_flag = 1; // set defaults @@ -238,7 +237,6 @@ int FixMSST::setmask() int mask = 0; mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 6ebddff602..c9cb0fa2ec 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -35,7 +35,6 @@ #include "respa.h" #include "update.h" - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -47,12 +46,6 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : { if (narg != 6) error->all(FLERR,"Illegal langevin/spin command"); - dynamic_group_allow = 1; - scalar_flag = 1; - global_freq = 1; - extscalar = 1; - nevery = 1; - temp = utils::numeric(FLERR,arg[3],false,lmp); alpha_t = utils::numeric(FLERR,arg[4],false,lmp); seed = utils::inumeric(FLERR,arg[5],false,lmp); @@ -77,7 +70,6 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : // random = new RanPark(lmp,seed + comm->me); random = new RanMars(lmp,seed + comm->me); - } /* ---------------------------------------------------------------------- */ @@ -92,10 +84,6 @@ FixLangevinSpin::~FixLangevinSpin() int FixLangevinSpin::setmask() { int mask = 0; - mask |= POST_FORCE; - mask |= POST_FORCE_RESPA; - mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } @@ -156,7 +144,6 @@ void FixLangevinSpin::add_tdamping(double spi[3], double fmi[3]) void FixLangevinSpin::add_temperature(double fmi[3]) { - // double rx = sigma*(2.0*random->uniform() - 1.0); // double ry = sigma*(2.0*random->uniform() - 1.0); // double rz = sigma*(2.0*random->uniform() - 1.0); @@ -175,14 +162,4 @@ void FixLangevinSpin::add_temperature(double fmi[3]) fmi[0] *= gil_factor; fmi[1] *= gil_factor; fmi[2] *= gil_factor; - } - - -/* ---------------------------------------------------------------------- */ - -void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) -{ - if (ilevel == nlevels_respa-1) post_force(vflag); -} - diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 81fb0ed9eb..70ea7e1a09 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -44,7 +44,8 @@ enum{CONSTANT,EQUAL}; /* ---------------------------------------------------------------------- */ -FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), emag(nullptr) +FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), emag(nullptr) { if (narg < 7) error->all(FLERR,"Illegal precession/spin command"); @@ -56,6 +57,7 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm scalar_flag = 1; global_freq = 1; extscalar = 1; + energy_global_flag = 1; respa_level_support = 1; ilevel_respa = 0; @@ -165,12 +167,10 @@ int FixPrecessionSpin::setmask() int mask = 0; mask |= POST_FORCE; mask |= MIN_POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; } - /* ---------------------------------------------------------------------- */ void FixPrecessionSpin::init() @@ -245,7 +245,6 @@ void FixPrecessionSpin::min_setup(int vflag) void FixPrecessionSpin::post_force(int /* vflag */) { - // update mag field with time (potential improvement) if (varflag != CONSTANT) { diff --git a/src/USER-MISC/fix_orient_eco.cpp b/src/USER-MISC/fix_orient_eco.cpp index f90a1ab23e..88175fbb06 100644 --- a/src/USER-MISC/fix_orient_eco.cpp +++ b/src/USER-MISC/fix_orient_eco.cpp @@ -65,21 +65,20 @@ FixOrientECO::FixOrientECO(LAMMPS *lmp, int narg, char **arg) : { if (lmp->citeme) lmp->citeme->add(cite_fix_orient_eco); - // get rank of this processor MPI_Comm_rank(world, &me); - // check for illegal command if (narg != 7) error->all(FLERR, "Illegal fix orient/eco command"); - // set fix flags scalar_flag = 1; // computes scalar global_freq = 1; // values can be computed at every timestep extscalar = 1; // scalar scales with # of atoms + energy_global_flag = 1; peratom_flag = 1; // quantities are per atom quantities size_peratom_cols = 2; // # of per atom quantities peratom_freq = 1; // // parse input parameters + u_0 = utils::numeric(FLERR, arg[3],false,lmp); sign = (u_0 >= 0.0 ? 1 : -1); eta = utils::numeric(FLERR, arg[4],false,lmp); @@ -87,6 +86,7 @@ FixOrientECO::FixOrientECO(LAMMPS *lmp, int narg, char **arg) : // read reference orientations from file // work on rank 0 only + int n = strlen(arg[6]) + 1; dir_filename = new char[n]; strcpy(dir_filename, arg[6]); @@ -151,7 +151,6 @@ FixOrientECO::~FixOrientECO() { int FixOrientECO::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; } From c091515427cb0fcf1fb8d1bcf62afdafd3f99bd9 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 15:12:16 -0700 Subject: [PATCH 044/132] changed syntax for virial tallying in standard package fixes --- src/COLLOID/fix_wall_colloid.cpp | 2 +- src/KOKKOS/fix_shake_kokkos.cpp | 3 +-- src/MISC/fix_efield.cpp | 11 +++++------ src/POEMS/fix_poems.cpp | 8 +++----- src/RIGID/fix_ehex.cpp | 1 - src/RIGID/fix_rattle.cpp | 1 - src/RIGID/fix_rigid.cpp | 10 +++------- src/RIGID/fix_rigid_small.cpp | 10 +++------- src/RIGID/fix_shake.cpp | 7 +++---- 9 files changed, 19 insertions(+), 34 deletions(-) diff --git a/src/COLLOID/fix_wall_colloid.cpp b/src/COLLOID/fix_wall_colloid.cpp index 665c34fe50..ad2cd66f95 100644 --- a/src/COLLOID/fix_wall_colloid.cpp +++ b/src/COLLOID/fix_wall_colloid.cpp @@ -153,7 +153,7 @@ void FixWallColloid::wall_particle(int m, int which, double coord) if (evflag) { if (side < 0) vn = -fwall*delta; else vn = fwall*delta; - v_tally(dim, i, vn); + v_tally(dim,i,vn); } } diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 00db34ce20..d7162a98cc 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -331,8 +331,7 @@ void FixShakeKokkos::post_force(int vflag) // virial setup - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // reallocate per-atom arrays if necessary diff --git a/src/MISC/fix_efield.cpp b/src/MISC/fix_efield.cpp index 9f50439158..5ba83ed7a6 100644 --- a/src/MISC/fix_efield.cpp +++ b/src/MISC/fix_efield.cpp @@ -49,13 +49,13 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : vector_flag = 1; scalar_flag = 1; size_vector = 3; - energy_global_flag = 1; global_freq = 1; extvector = 1; extscalar = 1; respa_level_support = 1; ilevel_respa = 0; - virial_flag = 1; + energy_global_flag = 1; + virial_global_flag = virial_peratom_flag = 1; qe2f = force->qe2f; xstr = ystr = zstr = nullptr; @@ -257,10 +257,9 @@ void FixEfield::post_force(int vflag) imageint *image = atom->image; int nlocal = atom->nlocal; - // energy and virial setup + // virial setup - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // reallocate efield array if necessary @@ -319,7 +318,7 @@ void FixEfield::post_force(int vflag) v[3] = fx*unwrap[1]; v[4] = fx*unwrap[2]; v[5] = fy*unwrap[2]; - v_tally(i, v); + v_tally(i,v); } } } diff --git a/src/POEMS/fix_poems.cpp b/src/POEMS/fix_poems.cpp index a220216fdd..529757abb1 100644 --- a/src/POEMS/fix_poems.cpp +++ b/src/POEMS/fix_poems.cpp @@ -73,7 +73,7 @@ FixPOEMS::FixPOEMS(LAMMPS *lmp, int narg, char **arg) : time_integrate = 1; rigid_flag = 1; - virial_flag = 1; + virial_global_flag = virial_peratom_flag = 1; centroidstressflag = CENTROID_NOTAVAIL; thermo_virial = 1; dof_flag = 1; @@ -684,8 +684,7 @@ void FixPOEMS::setup(int vflag) // virial setup before call to set_v - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // set velocities from angmom & omega @@ -732,8 +731,7 @@ void FixPOEMS::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // set coords and velocities of atoms in rigid bodies diff --git a/src/RIGID/fix_ehex.cpp b/src/RIGID/fix_ehex.cpp index a3346b3d1c..5af363af15 100644 --- a/src/RIGID/fix_ehex.cpp +++ b/src/RIGID/fix_ehex.cpp @@ -309,7 +309,6 @@ double FixEHEX::compute_scalar() return scale; } - /* ---------------------------------------------------------------------- memory usage of local atom-based arrays ------------------------------------------------------------------------- */ diff --git a/src/RIGID/fix_rattle.cpp b/src/RIGID/fix_rattle.cpp index 2d2c11974c..e8e5eebd63 100644 --- a/src/RIGID/fix_rattle.cpp +++ b/src/RIGID/fix_rattle.cpp @@ -79,7 +79,6 @@ FixRattle::~FixRattle() { memory->destroy(vp); - if (RATTLE_DEBUG) { // communicate maximum distance error diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 9ce28438d3..2724fb1c78 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -37,8 +37,6 @@ #include "error.h" #include "rigid_const.h" - - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -64,7 +62,7 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : extscalar = 0; time_integrate = 1; rigid_flag = 1; - virial_flag = 1; + virial_global_flag = virial_peratom_flag = 1; thermo_virial = 1; create_attribute = 1; dof_flag = 1; @@ -887,8 +885,7 @@ void FixRigid::setup(int vflag) // virial setup before call to set_v - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // set velocities from angmom & omega @@ -951,8 +948,7 @@ void FixRigid::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // set coords/orient and velocity/rotation of atoms in rigid bodies // from quarternion and omega diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 1b022f35c4..706e660ec0 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -41,8 +41,6 @@ #include "error.h" #include "rigid_const.h" - - #include using namespace LAMMPS_NS; @@ -69,7 +67,7 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; time_integrate = 1; rigid_flag = 1; - virial_flag = 1; + virial_global_flag = virial_peratom_flag = 1; thermo_virial = 1; create_attribute = 1; dof_flag = 1; @@ -725,8 +723,7 @@ void FixRigidSmall::setup(int vflag) // virial setup before call to set_v - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // compute and forward communicate vcm and omega of all bodies @@ -797,8 +794,7 @@ void FixRigidSmall::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // forward communicate updated info of all bodies diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index cb2daaac2a..71017aac30 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -59,7 +59,7 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); - virial_flag = 1; + virial_global_flag = virial_peratom_flag = 1; thermo_virial = 1; create_attribute = 1; dof_flag = 1; @@ -569,8 +569,7 @@ void FixShake::post_force(int vflag) // virial setup - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // loop over clusters to add constraint forces @@ -616,7 +615,7 @@ void FixShake::post_force_respa(int vflag, int ilevel, int iloop) // and if pressure is requested // virial accumulation happens via evflag at last iteration of each level - if (ilevel == 0 && iloop == loop_respa[ilevel]-1 && vflag) v_setup(vflag); + if (ilevel == 0 && iloop == loop_respa[ilevel]-1 && vflag) v_init(vflag); if (iloop == loop_respa[ilevel]-1) evflag = 1; else evflag = 0; From 43977066540d25df0457c64ff822a830343650f1 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 15:18:16 -0700 Subject: [PATCH 045/132] missing a change in fix langevin/spin --- src/SPIN/fix_langevin_spin.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 0e4fc69f92..c73b33353b 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -26,15 +26,15 @@ namespace LAMMPS_NS { class FixLangevinSpin : public Fix { public: + int tdamp_flag,ldamp_flag,temp_flag; // damping and temperature flags + FixLangevinSpin(class LAMMPS *, int, char **); virtual ~FixLangevinSpin(); int setmask(); void init(); void setup(int); - void post_force_respa(int, int, int); void add_tdamping(double *, double *); // add transverse damping void add_temperature(double *); // add temperature - int tdamp_flag, ldamp_flag, temp_flag; // damping and temperature flags protected: double alpha_t; // transverse mag. damping From 54e3ee74a2c993041ab5670855bbbb0242798933 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 15:37:18 -0700 Subject: [PATCH 046/132] changes to USER-MISC package --- src/USER-MISC/fix_addtorque.cpp | 2 +- src/USER-MISC/fix_ffl.cpp | 31 ++++++-------- src/USER-MISC/fix_flow_gauss.cpp | 9 +++- src/USER-MISC/fix_gle.cpp | 10 ++--- src/USER-MISC/fix_npt_cauchy.cpp | 2 +- src/USER-MISC/fix_rhok.cpp | 60 +++++++++++++-------------- src/USER-MISC/fix_ti_spring.cpp | 4 +- src/USER-MISC/fix_wall_region_ees.cpp | 5 ++- src/fix.h | 25 ++++++----- 9 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/USER-MISC/fix_addtorque.cpp b/src/USER-MISC/fix_addtorque.cpp index eba7348f21..3c1a46a7fd 100644 --- a/src/USER-MISC/fix_addtorque.cpp +++ b/src/USER-MISC/fix_addtorque.cpp @@ -47,6 +47,7 @@ FixAddTorque::FixAddTorque(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 1; + energy_global_flag = 1; dynamic_group_allow = 1; respa_level_support = 1; ilevel_respa = 0; @@ -97,7 +98,6 @@ int FixAddTorque::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/USER-MISC/fix_ffl.cpp b/src/USER-MISC/fix_ffl.cpp index 061d5f4559..b882a19e91 100644 --- a/src/USER-MISC/fix_ffl.cpp +++ b/src/USER-MISC/fix_ffl.cpp @@ -46,20 +46,17 @@ enum {NO_FLIP, FLIP_RESCALE, FLIP_HARD, FLIP_SOFT}; /* syntax for fix_ffl: * fix nfix id-group ffl tau Tstart Tstop seed [flip_type] - * * */ /* ---------------------------------------------------------------------- */ - -FixFFL::FixFFL(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) { - - +FixFFL::FixFFL(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +{ if (narg < 7) error->all(FLERR,"Illegal fix ffl command. Expecting: fix " " ffl "); + ecouple_flag = 1; restart_peratom = 1; time_integrate = 1; scalar_flag = 1; @@ -121,7 +118,6 @@ FixFFL::FixFFL(LAMMPS *lmp, int narg, char **arg) : energy = 0.0; } - /* --- Frees up memory used by temporaries and buffers ------------------ */ FixFFL::~FixFFL() { @@ -139,14 +135,10 @@ FixFFL::~FixFFL() { int FixFFL::setmask() { int mask = 0; - mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; - mask |= THERMO_ENERGY; - - return mask; } @@ -181,12 +173,8 @@ void FixFFL::init_ffl() { c1 = exp ( - gamma * 0.5 * dtv ); c2 = sqrt( (1.0 - c1*c1)* kT ); //without the mass term - - } - - /* ---------------------------------------------------------------------- */ void FixFFL::setup(int vflag) { @@ -199,6 +187,8 @@ void FixFFL::setup(int vflag) { } } +/* ---------------------------------------------------------------------- */ + void FixFFL::ffl_integrate() { double **v = atom->v; double *rmass = atom->rmass, smi, ismi; @@ -287,9 +277,10 @@ void FixFFL::ffl_integrate() { } energy += deltae*0.5*force->mvv2e; - } +/* ---------------------------------------------------------------------- */ + void FixFFL::initial_integrate(int /* vflag */) { double dtfm; @@ -333,6 +324,8 @@ void FixFFL::initial_integrate(int /* vflag */) { } } +/* ---------------------------------------------------------------------- */ + void FixFFL::final_integrate() { double dtfm; @@ -381,6 +374,7 @@ void FixFFL::final_integrate() { } } + /* ---------------------------------------------------------------------- */ void FixFFL::initial_integrate_respa(int vflag, int ilevel, int /* iloop */) { @@ -398,6 +392,8 @@ void FixFFL::initial_integrate_respa(int vflag, int ilevel, int /* iloop */) { } } +/* ---------------------------------------------------------------------- */ + void FixFFL::final_integrate_respa(int ilevel, int /* iloop */) { dtv = step_respa[ilevel]; @@ -407,6 +403,7 @@ void FixFFL::final_integrate_respa(int ilevel, int /* iloop */) { if (ilevel==nlevels_respa-1) ffl_integrate(); } +/* ---------------------------------------------------------------------- */ double FixFFL::compute_scalar() { @@ -429,7 +426,6 @@ void *FixFFL::extract(const char *str, int &dim) { return nullptr; } - /* ---------------------------------------------------------------------- Called when a change to the target temperature is requested mid-run ------------------------------------------------------------------------- */ @@ -459,7 +455,6 @@ double FixFFL::memory_usage() { return bytes; } - /* ---------------------------------------------------------------------- allocate local atom-based arrays ------------------------------------------------------------------------- */ diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp index b1b4174352..f785545fa5 100644 --- a/src/USER-MISC/fix_flow_gauss.cpp +++ b/src/USER-MISC/fix_flow_gauss.cpp @@ -46,6 +46,8 @@ static const char cite_flow_gauss[] = "pages = {189--207}\n" "}\n\n"; +/* ---------------------------------------------------------------------- */ + FixFlowGauss::FixFlowGauss(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { @@ -61,6 +63,7 @@ FixFlowGauss::FixFlowGauss(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 1; size_vector = 3; + energy_global_flag = 1; global_freq = 1; //data available every timestep respa_level_support = 1; //default respa level=outermost level is set in init() @@ -109,7 +112,6 @@ int FixFlowGauss::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; } @@ -154,6 +156,7 @@ void FixFlowGauss::setup(int vflag) /* ---------------------------------------------------------------------- this is where Gaussian dynamics constraint is applied ------------------------------------------------------------------------- */ + void FixFlowGauss::post_force(int /*vflag*/) { double **f = atom->f; @@ -218,9 +221,10 @@ void FixFlowGauss::post_force(int /*vflag*/) MPI_Allreduce(&peAdded,&pe_tmp,1,MPI_DOUBLE,MPI_SUM,world); pe_tot += pe_tmp; } - } +/* ---------------------------------------------------------------------- */ + void FixFlowGauss::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); @@ -230,6 +234,7 @@ void FixFlowGauss::post_force_respa(int vflag, int ilevel, int /*iloop*/) negative of work done by this fix This is only computed if requested, either with fix_modify energy yes, or with the energy keyword. Otherwise returns 0. ------------------------------------------------------------------------- */ + double FixFlowGauss::compute_scalar() { return -pe_tot*dt; diff --git a/src/USER-MISC/fix_gle.cpp b/src/USER-MISC/fix_gle.cpp index e091c3d80e..2bf6a65395 100644 --- a/src/USER-MISC/fix_gle.cpp +++ b/src/USER-MISC/fix_gle.cpp @@ -30,7 +30,6 @@ #include "memory.h" #include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -186,6 +185,8 @@ void MatrixExp(int n, const double* M, double* EM, int j=8, int k=8) } } +/* ---------------------------------------------------------------------- */ + FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { @@ -193,6 +194,7 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix gle command. Expecting: fix " " gle "); + ecouple_flag = 1; restart_peratom = 1; time_integrate = 1; @@ -395,9 +397,6 @@ int FixGLE::setmask() mask |= FINAL_INTEGRATE; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; - mask |= THERMO_ENERGY; - - return mask; } @@ -499,7 +498,6 @@ void FixGLE::init_gles() return; } - /* ---------------------------------------------------------------------- */ void FixGLE::setup(int vflag) @@ -513,6 +511,8 @@ void FixGLE::setup(int vflag) } } +/* ---------------------------------------------------------------------- */ + void FixGLE::gle_integrate() { double **v = atom->v; diff --git a/src/USER-MISC/fix_npt_cauchy.cpp b/src/USER-MISC/fix_npt_cauchy.cpp index cb7ca713a1..5d51114262 100644 --- a/src/USER-MISC/fix_npt_cauchy.cpp +++ b/src/USER-MISC/fix_npt_cauchy.cpp @@ -61,6 +61,7 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : if (narg < 4) error->all(FLERR,"Illegal fix npt/cauchy command"); dynamic_group_allow = 1; + ecouple_flag = 1; time_integrate = 1; scalar_flag = 1; vector_flag = 1; @@ -686,7 +687,6 @@ int FixNPTCauchy::setmask() int mask = 0; mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; - mask |= THERMO_ENERGY; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; diff --git a/src/USER-MISC/fix_rhok.cpp b/src/USER-MISC/fix_rhok.cpp index 416adc2165..f546b9a814 100644 --- a/src/USER-MISC/fix_rhok.cpp +++ b/src/USER-MISC/fix_rhok.cpp @@ -48,21 +48,19 @@ static const char cite_fix_rhok[] = FixRhok::FixRhok( LAMMPS* inLMP, int inArgc, char** inArgv ) : Fix( inLMP, inArgc, inArgv ) { - if (lmp->citeme) lmp->citeme->add(cite_fix_rhok); // Check arguments - if (inArgc != 8) - error->all(FLERR,"Illegal fix rhoKUmbrella command" ); + if (inArgc != 8) error->all(FLERR,"Illegal fix rhoKUmbrella command" ); // Set up fix flags scalar_flag = 1; // have compute_scalar vector_flag = 1; // have compute_vector... size_vector = 3; // ...with this many components global_freq = 1; // whose value can be computed at every timestep - thermo_energy = 1; // this fix changes system's potential energy extscalar = 0; // but the deltaPE might not scale with # of atoms extvector = 0; // neither do the components of the vector + energy_global_flag = 1; // Parse fix options int n[3]; @@ -79,29 +77,22 @@ FixRhok::FixRhok( LAMMPS* inLMP, int inArgc, char** inArgv ) mRhoK0 = utils::numeric(FLERR,inArgv[7],false,lmp); } -// Methods that this fix implements -// -------------------------------- +/* ---------------------------------------------------------------------- */ // Tells LAMMPS where this fix should act -int -FixRhok::setmask() +int FixRhok::setmask() { int mask = 0; - - // This fix modifies forces... mask |= POST_FORCE; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; - - // ...and potential energies - mask |= THERMO_ENERGY; - return mask; } +/* ---------------------------------------------------------------------- */ + // Initializes the fix at the beginning of a run -void -FixRhok::init() +void FixRhok::init() { // RESPA boilerplate if (strcmp( update->integrate_style, "respa" ) == 0) @@ -121,9 +112,10 @@ FixRhok::init() mSqrtNThis = sqrt( mNThis ); } +/* ---------------------------------------------------------------------- */ + // Initial application of the fix to a system (when doing MD) -void -FixRhok::setup( int inVFlag ) +void FixRhok::setup( int inVFlag ) { if (strcmp( update->integrate_style, "verlet" ) == 0) post_force( inVFlag ); @@ -135,16 +127,20 @@ FixRhok::setup( int inVFlag ) } } +/* ---------------------------------------------------------------------- */ + // Initial application of the fix to a system (when doing minimization) -void -FixRhok::min_setup( int inVFlag ) + +void FixRhok::min_setup( int inVFlag ) { post_force( inVFlag ); } +/* ---------------------------------------------------------------------- */ + // Modify the forces calculated in the main force loop of ordinary MD -void -FixRhok::post_force( int /*inVFlag*/ ) + +void FixRhok::post_force( int /*inVFlag*/ ) { double **x = atom->x; double **f = atom->f; @@ -204,24 +200,27 @@ FixRhok::post_force( int /*inVFlag*/ ) } } +/* ---------------------------------------------------------------------- */ + // Forces in RESPA loop -void -FixRhok::post_force_respa( int inVFlag, int inILevel, int /*inILoop*/ ) +void FixRhok::post_force_respa( int inVFlag, int inILevel, int /*inILoop*/ ) { if (inILevel == mNLevelsRESPA - 1) post_force( inVFlag ); } +/* ---------------------------------------------------------------------- */ + // Forces in minimization loop -void -FixRhok::min_post_force( int inVFlag ) +void FixRhok::min_post_force( int inVFlag ) { post_force( inVFlag ); } +/* ---------------------------------------------------------------------- */ + // Compute the change in the potential energy induced by this fix -double -FixRhok::compute_scalar() +double FixRhok::compute_scalar() { double rhoK = sqrt( mRhoKGlobal[0]*mRhoKGlobal[0] + mRhoKGlobal[1]*mRhoKGlobal[1] ); @@ -229,9 +228,10 @@ FixRhok::compute_scalar() return 0.5 * mKappa * (rhoK - mRhoK0) * (rhoK - mRhoK0); } +/* ---------------------------------------------------------------------- */ + // Compute the ith component of the vector -double -FixRhok::compute_vector( int inI ) +double FixRhok::compute_vector( int inI ) { if (inI == 0) return mRhoKGlobal[0]; // Real part diff --git a/src/USER-MISC/fix_ti_spring.cpp b/src/USER-MISC/fix_ti_spring.cpp index 5aac36a47b..9e6c1ce296 100644 --- a/src/USER-MISC/fix_ti_spring.cpp +++ b/src/USER-MISC/fix_ti_spring.cpp @@ -64,7 +64,8 @@ FixTISpring::FixTISpring(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 1; - + energy_global_flag = 1; + // disallow resetting the time step, while this fix is defined time_depend = 1; @@ -133,7 +134,6 @@ int FixTISpring::setmask() mask |= POST_FORCE; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/USER-MISC/fix_wall_region_ees.cpp b/src/USER-MISC/fix_wall_region_ees.cpp index ab475ffb9b..7fe3ab24a3 100644 --- a/src/USER-MISC/fix_wall_region_ees.cpp +++ b/src/USER-MISC/fix_wall_region_ees.cpp @@ -38,13 +38,15 @@ FixWallRegionEES::FixWallRegionEES(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg != 7) error->all(FLERR,"Illegal fix wall/region/ees command"); + scalar_flag = 1; vector_flag = 1; size_vector = 3; global_freq = 1; extscalar = 1; extvector = 1; - + energy_global_flag = 1; + // parse args iregion = domain->find_region(arg[3]); @@ -77,7 +79,6 @@ int FixWallRegionEES::setmask() { int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/fix.h b/src/fix.h index c4c9267e54..c8db215255 100644 --- a/src/fix.h +++ b/src/fix.h @@ -273,19 +273,18 @@ namespace FixConst { FINAL_INTEGRATE = 1<<8, END_OF_STEP = 1<<9, POST_RUN = 1<<10, - //THERMO_ENERGY = 1<<11, // remove when done with refactoring - INITIAL_INTEGRATE_RESPA = 1<<12, - POST_INTEGRATE_RESPA = 1<<13, - PRE_FORCE_RESPA = 1<<14, - POST_FORCE_RESPA = 1<<15, - FINAL_INTEGRATE_RESPA = 1<<16, - MIN_PRE_EXCHANGE = 1<<17, - MIN_PRE_NEIGHBOR = 1<<18, - MIN_POST_NEIGHBOR = 1<<19, - MIN_PRE_FORCE = 1<<20, - MIN_PRE_REVERSE = 1<<21, - MIN_POST_FORCE = 1<<22, - MIN_ENERGY = 1<<23 + INITIAL_INTEGRATE_RESPA = 1<<11, + POST_INTEGRATE_RESPA = 1<<12, + PRE_FORCE_RESPA = 1<<13, + POST_FORCE_RESPA = 1<<14, + FINAL_INTEGRATE_RESPA = 1<<15, + MIN_PRE_EXCHANGE = 1<<16, + MIN_PRE_NEIGHBOR = 1<<17, + MIN_POST_NEIGHBOR = 1<<18, + MIN_PRE_FORCE = 1<<19, + MIN_PRE_REVERSE = 1<<20, + MIN_POST_FORCE = 1<<21, + MIN_ENERGY = 1<<22 }; } From 5a51c74b9d59adcea676490f12163897a4f2b622 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 15:41:06 -0700 Subject: [PATCH 047/132] vtally change to fix smd --- src/USER-MISC/fix_smd.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/USER-MISC/fix_smd.cpp b/src/USER-MISC/fix_smd.cpp index 828ceda0ed..b4645f78cf 100644 --- a/src/USER-MISC/fix_smd.cpp +++ b/src/USER-MISC/fix_smd.cpp @@ -58,7 +58,7 @@ FixSMD::FixSMD(LAMMPS *lmp, int narg, char **arg) : extvector = 1; respa_level_support = 1; ilevel_respa = 0; - virial_flag = 1; + virial_global_flag = virial_atom_flag = 1; int argoffs=3; if (strcmp(arg[argoffs],"cvel") == 0) { @@ -182,10 +182,9 @@ void FixSMD::setup(int vflag) void FixSMD::post_force(int vflag) { - // energy and virial setup + // virial setup - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); if (styleflag & SMD_TETHER) smd_tether(); else smd_couple(); @@ -276,7 +275,7 @@ void FixSMD::smd_tether() v[3] = -fx*massfrac*unwrap[1]; v[4] = -fx*massfrac*unwrap[2]; v[5] = -fy*massfrac*unwrap[2]; - v_tally(i, v); + v_tally(i,v); } } } else { @@ -297,7 +296,7 @@ void FixSMD::smd_tether() v[3] = -fx*massfrac*unwrap[1]; v[4] = -fx*massfrac*unwrap[2]; v[5] = -fy*massfrac*unwrap[2]; - v_tally(i, v); + v_tally(i,v); } } } From 320ba4ef8fb53e89b8651382af3b8cc0bbfb980f Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 15:44:08 -0700 Subject: [PATCH 048/132] more changes to USER-MISC --- src/USER-MISC/fix_orient_eco.cpp | 4 ++-- src/USER-MISC/fix_smd.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/USER-MISC/fix_orient_eco.cpp b/src/USER-MISC/fix_orient_eco.cpp index 88175fbb06..58973b29fe 100644 --- a/src/USER-MISC/fix_orient_eco.cpp +++ b/src/USER-MISC/fix_orient_eco.cpp @@ -72,10 +72,10 @@ FixOrientECO::FixOrientECO(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; // computes scalar global_freq = 1; // values can be computed at every timestep extscalar = 1; // scalar scales with # of atoms - energy_global_flag = 1; peratom_flag = 1; // quantities are per atom quantities size_peratom_cols = 2; // # of per atom quantities - peratom_freq = 1; // + peratom_freq = 1; + energy_global_flag = 1; // parse input parameters diff --git a/src/USER-MISC/fix_smd.cpp b/src/USER-MISC/fix_smd.cpp index b4645f78cf..8ea1beac71 100644 --- a/src/USER-MISC/fix_smd.cpp +++ b/src/USER-MISC/fix_smd.cpp @@ -58,7 +58,7 @@ FixSMD::FixSMD(LAMMPS *lmp, int narg, char **arg) : extvector = 1; respa_level_support = 1; ilevel_respa = 0; - virial_global_flag = virial_atom_flag = 1; + virial_global_flag = virial_peratom_flag = 1; int argoffs=3; if (strcmp(arg[argoffs],"cvel") == 0) { From 5a23b804d915f0ebae202fb742247e5c5e4fb4f5 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 16:06:54 -0700 Subject: [PATCH 049/132] vtally changes to USER packages --- src/SHOCK/fix_nphug.cpp | 3 ++- src/USER-ATC/fix_atc.cpp | 5 +---- src/USER-BOCS/fix_bocs.cpp | 4 ++-- src/USER-COLVARS/fix_colvars.cpp | 6 ++++-- src/USER-DRUDE/fix_tgnh_drude.cpp | 4 ++-- src/USER-EFF/fix_temp_rescale_eff.cpp | 2 +- src/USER-LB/fix_lb_rigid_pc_sphere.cpp | 17 ++++------------- src/USER-OMP/fix_rigid_nh_omp.cpp | 3 +-- src/USER-OMP/fix_rigid_omp.cpp | 3 +-- src/USER-OMP/fix_rigid_small_omp.cpp | 4 +--- src/USER-PLUMED/fix_plumed.cpp | 7 +++---- src/USER-QTB/fix_qbmsst.cpp | 13 ++++++++----- src/USER-QTB/fix_qtb.cpp | 8 +------- src/USER-SDPD/fix_rigid_meso.cpp | 7 ++++--- 14 files changed, 35 insertions(+), 51 deletions(-) diff --git a/src/SHOCK/fix_nphug.cpp b/src/SHOCK/fix_nphug.cpp index 744f9d89cb..be4b71446e 100644 --- a/src/SHOCK/fix_nphug.cpp +++ b/src/SHOCK/fix_nphug.cpp @@ -32,7 +32,6 @@ enum{ISO,ANISO,TRICLINIC}; // same as fix_nh.cpp FixNPHug::FixNPHug(LAMMPS *lmp, int narg, char **arg) : FixNH(lmp, narg, arg), pe(nullptr), id_pe(nullptr) { - // Prevent masses from being updated every timestep eta_mass_flag = 0; @@ -346,6 +345,8 @@ double FixNPHug::compute_up() return up; } +/* ----------------------------------------------------------------------- */ + // look for index in local class // if index not found, look in base class diff --git a/src/USER-ATC/fix_atc.cpp b/src/USER-ATC/fix_atc.cpp index 82fbfcc958..6eba5a766a 100644 --- a/src/USER-ATC/fix_atc.cpp +++ b/src/USER-ATC/fix_atc.cpp @@ -479,8 +479,6 @@ FixATC::FixATC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), // we write our own restart file restart_global = 0; - - // Set output computation data based on transfer info scalar_flag = atc_->scalar_flag(); vector_flag = atc_->vector_flag(); @@ -489,6 +487,7 @@ FixATC::FixATC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), extscalar = atc_->extscalar(); extvector = atc_->extvector(); extlist = atc_->extlist(); + energy_global_flag = 1; thermo_energy = atc_->thermo_energy_flag(); // set pointer for output @@ -496,7 +495,6 @@ FixATC::FixATC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), size_peratom_cols = atc_->size_peratom_cols(); peratom_freq = atc_->peratom_freq(); - // set comm size needed by this fix comm_forward = atc_->comm_forward(); @@ -527,7 +525,6 @@ int FixATC::setmask() mask |= MIN_PRE_NEIGHBOR; mask |= MIN_PRE_FORCE; mask |= MIN_POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_RUN; mask |= END_OF_STEP; return mask; diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index 81bf3538df..3df1cc2bd3 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -87,7 +87,8 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 0; - + ecouple_flag = 1; + // default values pcouple = NONE; @@ -489,7 +490,6 @@ int FixBocs::setmask() int mask = 0; mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; - mask |= THERMO_ENERGY; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; diff --git a/src/USER-COLVARS/fix_colvars.cpp b/src/USER-COLVARS/fix_colvars.cpp index 841e2e0099..4bcd68dae9 100644 --- a/src/USER-COLVARS/fix_colvars.cpp +++ b/src/USER-COLVARS/fix_colvars.cpp @@ -282,6 +282,7 @@ int FixColvars::instances=0; tstat (label of thermostatting fix) ***************************************************************/ + FixColvars::FixColvars(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { @@ -297,7 +298,8 @@ FixColvars::FixColvars(LAMMPS *lmp, int narg, char **arg) : nevery = 1; extscalar = 1; restart_global = 1; - + energy_global_flag = 1; + me = comm->me; root2root = MPI_COMM_NULL; @@ -360,6 +362,7 @@ FixColvars::FixColvars(LAMMPS *lmp, int narg, char **arg) : /********************************* * Clean up on deleting the fix. * *********************************/ + FixColvars::~FixColvars() { memory->sfree(conf_file); @@ -386,7 +389,6 @@ FixColvars::~FixColvars() int FixColvars::setmask() { int mask = 0; - mask |= THERMO_ENERGY; mask |= MIN_POST_FORCE; mask |= POST_FORCE; mask |= POST_FORCE_RESPA; diff --git a/src/USER-DRUDE/fix_tgnh_drude.cpp b/src/USER-DRUDE/fix_tgnh_drude.cpp index d660f16c4a..ee47d8a0d9 100644 --- a/src/USER-DRUDE/fix_tgnh_drude.cpp +++ b/src/USER-DRUDE/fix_tgnh_drude.cpp @@ -66,7 +66,8 @@ FixTGNHDrude::FixTGNHDrude(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 1; extvector = 0; - + ecouple_flag = 1; + // default values pcouple = NONE; @@ -585,7 +586,6 @@ int FixTGNHDrude::setmask() int mask = 0; mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; - mask |= THERMO_ENERGY; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; diff --git a/src/USER-EFF/fix_temp_rescale_eff.cpp b/src/USER-EFF/fix_temp_rescale_eff.cpp index b8a614ae6e..f796c7cb02 100644 --- a/src/USER-EFF/fix_temp_rescale_eff.cpp +++ b/src/USER-EFF/fix_temp_rescale_eff.cpp @@ -46,6 +46,7 @@ FixTempRescaleEff::FixTempRescaleEff(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; global_freq = nevery; extscalar = 1; + ecouple_flag = 1; t_start = utils::numeric(FLERR,arg[4],false,lmp); t_stop = utils::numeric(FLERR,arg[5],false,lmp); @@ -87,7 +88,6 @@ int FixTempRescaleEff::setmask() { int mask = 0; mask |= END_OF_STEP; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp index 88eb54593a..52ca8ec857 100644 --- a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp +++ b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp @@ -32,7 +32,6 @@ #include "error.h" #include "fix_lb_fluid.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -48,7 +47,7 @@ FixLbRigidPCSphere::FixLbRigidPCSphere(LAMMPS *lmp, int narg, char **arg) : time_integrate = 1; rigid_flag = 1; create_attribute = 1; - virial_flag = 1; + virial_global_flag = virial_peratom_flag = 1; thermo_virial = 1; // perform initial allocation of atom-based arrays @@ -737,8 +736,7 @@ void FixLbRigidPCSphere::setup(int vflag) // virial setup before call to set_v - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // Set the velocities set_v(); @@ -938,14 +936,11 @@ void FixLbRigidPCSphere::initial_integrate(int vflag) } // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); set_xv(); - } - /* ---------------------------------------------------------------------- */ void FixLbRigidPCSphere::final_integrate() @@ -1188,8 +1183,6 @@ void FixLbRigidPCSphere::set_v() v_tally(1,&i,1.0,vr); } - - } } @@ -1310,11 +1303,9 @@ void FixLbRigidPCSphere::set_xv() v_tally(1,&i,1.0,vr); } - } - - } + /* ---------------------------------------------------------------------- remap xcm of each rigid body back into periodic simulation box done during pre_neighbor so will be after call to pbc() diff --git a/src/USER-OMP/fix_rigid_nh_omp.cpp b/src/USER-OMP/fix_rigid_nh_omp.cpp index 8a8b649d92..5a1e6ca25e 100644 --- a/src/USER-OMP/fix_rigid_nh_omp.cpp +++ b/src/USER-OMP/fix_rigid_nh_omp.cpp @@ -201,8 +201,7 @@ void FixRigidNHOMP::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // remap simulation box by 1/2 step diff --git a/src/USER-OMP/fix_rigid_omp.cpp b/src/USER-OMP/fix_rigid_omp.cpp index 07ddb06233..99e967f472 100644 --- a/src/USER-OMP/fix_rigid_omp.cpp +++ b/src/USER-OMP/fix_rigid_omp.cpp @@ -86,8 +86,7 @@ void FixRigidOMP::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // set coords/orient and velocity/rotation of atoms in rigid bodies // from quarternion and omega diff --git a/src/USER-OMP/fix_rigid_small_omp.cpp b/src/USER-OMP/fix_rigid_small_omp.cpp index bc09aa101a..9da8958305 100644 --- a/src/USER-OMP/fix_rigid_small_omp.cpp +++ b/src/USER-OMP/fix_rigid_small_omp.cpp @@ -25,7 +25,6 @@ #include "comm.h" #include "domain.h" - #if defined(_OPENMP) #include #endif @@ -85,8 +84,7 @@ void FixRigidSmallOMP::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // forward communicate updated info of all bodies diff --git a/src/USER-PLUMED/fix_plumed.cpp b/src/USER-PLUMED/fix_plumed.cpp index e2246adcd9..cd6292d64e 100644 --- a/src/USER-PLUMED/fix_plumed.cpp +++ b/src/USER-PLUMED/fix_plumed.cpp @@ -210,10 +210,10 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) : double dt=update->dt; p->cmd("setTimestep",&dt); - virial_flag=1; - thermo_virial=1; scalar_flag = 1; - + energy_global_flag = virial_global_flag = 1; + thermo_energy = thermo_virial = 1; + // This is the real initialization: p->cmd("init"); @@ -288,7 +288,6 @@ int FixPlumed::setmask() // set with a bitmask how and when apply the force from plumed int mask = 0; mask |= POST_FORCE; - mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; return mask; diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index 2257c9992e..db162bd0c2 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -21,7 +21,6 @@ #include #include - #include "atom.h" #include "force.h" #include "update.h" @@ -35,8 +34,6 @@ #include "kspace.h" #include "math_const.h" - - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -66,6 +63,7 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix qbmsst command"); // default parameters + global_freq = 1; extscalar = 1; extvector = 0; @@ -75,7 +73,8 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; vector_flag = 1; size_vector = 5; - + ecouple_flag = 1; + qmass = 1.0e1; mu = 0.0; p0 = 0.0; @@ -96,6 +95,7 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : qtb_set = 0; // reading parameters + int iarg = 5; while (iarg < narg) { if (strcmp(arg[iarg],"q") == 0) { @@ -282,6 +282,7 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- release memories ------------------------------------------------------------------------- */ + FixQBMSST::~FixQBMSST() { delete [] rfix; @@ -309,18 +310,19 @@ FixQBMSST::~FixQBMSST() /* ---------------------------------------------------------------------- setmask ------------------------------------------------------------------------- */ + int FixQBMSST::setmask() { int mask = 0; mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; - mask |= THERMO_ENERGY; return mask; } /* ---------------------------------------------------------------------- fix initiation ------------------------------------------------------------------------- */ + void FixQBMSST::init() { // copy parameters from other classes @@ -929,6 +931,7 @@ int FixQBMSST::modify_param(int narg, char **arg) /* ---------------------------------------------------------------------- compute scalar ------------------------------------------------------------------------- */ + double FixQBMSST::compute_scalar() { // compute new pressure and volume. diff --git a/src/USER-QTB/fix_qtb.cpp b/src/USER-QTB/fix_qtb.cpp index 31f0808ca7..761a0ed537 100644 --- a/src/USER-QTB/fix_qtb.cpp +++ b/src/USER-QTB/fix_qtb.cpp @@ -33,8 +33,6 @@ #include "memory.h" #include "error.h" - - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -48,10 +46,7 @@ FixQTB::FixQTB(LAMMPS *lmp, int narg, char **arg) : if (narg < 3) error->all(FLERR,"Illegal fix qtb command"); // default parameters - global_freq = 1; - extscalar = 1; - nevery = 1; - + t_target = 300.0; t_period = 1.0; fric_coef = 1/t_period; @@ -147,7 +142,6 @@ int FixQTB::setmask() int mask = 0; mask |= POST_FORCE; mask |= POST_FORCE_RESPA; - mask |= THERMO_ENERGY; return mask; } diff --git a/src/USER-SDPD/fix_rigid_meso.cpp b/src/USER-SDPD/fix_rigid_meso.cpp index 35fb89aee7..6847c4e2e5 100644 --- a/src/USER-SDPD/fix_rigid_meso.cpp +++ b/src/USER-SDPD/fix_rigid_meso.cpp @@ -40,9 +40,11 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixRigidMeso::FixRigidMeso (LAMMPS *lmp, int narg, char **arg) : -FixRigid (lmp, narg, arg) { + FixRigid (lmp, narg, arg) +{ scalar_flag = 0; size_array_cols = 28; + if ((atom->esph_flag != 1) || (atom->rho_flag != 1)) error->all (FLERR, "fix rigid/meso command requires atom_style with" " both energy and density"); @@ -160,8 +162,7 @@ void FixRigidMeso::initial_integrate (int vflag) { // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // set coords/orient and velocity/rotation of atoms in rigid bodies // from quarternion and omega From d169f6c169cbf924cea70633bb4aceb5c1af3b2e Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 17:27:45 -0700 Subject: [PATCH 050/132] USER-BOCS and other compute pressures --- src/USER-BOCS/compute_pressure_bocs.cpp | 29 +++++++++++++++---------- src/compute_pressure.cpp | 9 +++----- src/compute_stress_atom.cpp | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/USER-BOCS/compute_pressure_bocs.cpp b/src/USER-BOCS/compute_pressure_bocs.cpp index f97edfeaa1..004a11d048 100644 --- a/src/USER-BOCS/compute_pressure_bocs.cpp +++ b/src/USER-BOCS/compute_pressure_bocs.cpp @@ -158,9 +158,12 @@ void ComputePressureBocs::init() if (dihedralflag && force->dihedral) nvirial++; if (improperflag && force->improper) nvirial++; } - if (fixflag) - for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->virial_flag) nvirial++; + if (fixflag) { + Fix **fix = modify->fix; + int nfix = modify->nfix; + for (int i = 0; i < nfix; i++) + if (fix[i]->thermo_virial) nvirial++; + } if (nvirial) { vptr = new double*[nvirial]; @@ -174,7 +177,7 @@ void ComputePressureBocs::init() vptr[nvirial++] = force->improper->virial; if (fixflag) for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->virial_flag) + if (modify->fix[i]->virial_global_flag && modify->fix[i]->thermo_virial) vptr[nvirial++] = modify->fix[i]->virial; } @@ -184,26 +187,24 @@ void ComputePressureBocs::init() else kspace_virial = nullptr; } -/* Extra functions added for BOCS */ - /* ---------------------------------------------------------------------- Compute the pressure correction for the analytical basis set ------------------------------------------------------------------------- */ + double ComputePressureBocs::get_cg_p_corr(int N_basis, double *phi_coeff, int N_mol, double vavg, double vCG) { double correction = 0.0; for (int i = 1; i <= N_basis; ++i) - { correction -= phi_coeff[i-1] * ( N_mol * i / vavg ) * - pow( ( 1 / vavg ) * ( vCG - vavg ),i-1); - } + pow( ( 1 / vavg ) * ( vCG - vavg ),i-1); return correction; } /* ---------------------------------------------------------------------- Find the relevant index position if using a spline basis set ------------------------------------------------------------------------- */ + double ComputePressureBocs::find_index(double * grid, double value) { int i; @@ -230,7 +231,7 @@ double ComputePressureBocs::find_index(double * grid, double value) ------------------------------------------------------------------------- */ double ComputePressureBocs::get_cg_p_corr(double ** grid, int basis_type, - double vCG) + double vCG) { int i = find_index(grid[0],vCG); double correction, deltax = vCG - grid[0][i]; @@ -256,8 +257,10 @@ double ComputePressureBocs::get_cg_p_corr(double ** grid, int basis_type, send cg info from fix_bocs to compute_pressure_bocs for the analytical basis set ------------------------------------------------------------------------- */ + void ComputePressureBocs::send_cg_info(int basis_type, int sent_N_basis, - double *sent_phi_coeff, int sent_N_mol, double sent_vavg) + double *sent_phi_coeff, int sent_N_mol, + double sent_vavg) { if (basis_type == BASIS_ANALYTIC) { p_basis_type = BASIS_ANALYTIC; } else @@ -280,8 +283,9 @@ void ComputePressureBocs::send_cg_info(int basis_type, int sent_N_basis, send cg info from fix_bocs to compute_pressure_bocs for a spline basis set ------------------------------------------------------------------------- */ + void ComputePressureBocs::send_cg_info(int basis_type, - double ** in_splines, int gridsize) + double ** in_splines, int gridsize) { if (basis_type == BASIS_LINEAR_SPLINE) { p_basis_type = BASIS_LINEAR_SPLINE; } else if (basis_type == BASIS_CUBIC_SPLINE) { p_basis_type = BASIS_CUBIC_SPLINE; } @@ -299,6 +303,7 @@ void ComputePressureBocs::send_cg_info(int basis_type, /* ---------------------------------------------------------------------- compute total pressure, averaged over Pxx, Pyy, Pzz ------------------------------------------------------------------------- */ + double ComputePressureBocs::compute_scalar() { invoked_scalar = update->ntimestep; diff --git a/src/compute_pressure.cpp b/src/compute_pressure.cpp index aadf96fdea..82ddbbb5c5 100644 --- a/src/compute_pressure.cpp +++ b/src/compute_pressure.cpp @@ -215,13 +215,10 @@ void ComputePressure::init() vptr[nvirial++] = force->dihedral->virial; if (improperflag && force->improper) vptr[nvirial++] = force->improper->virial; - if (fixflag) { - Fix **fix = modify->fix; - int nfix = modify->nfix; - for (int i = 0; i < nfix; i++) - if (fix[i]->virial_global_flag && fix[i]->thermo_virial) + if (fixflag) + for (int i = 0; i < modify->nfix; i++) + if (modify->fix[i]->virial_global_flag && modify->fix[i]->thermo_virial) vptr[nvirial++] = modify->fix[i]->virial; - } } // flag Kspace contribution separately, since not summed across procs diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index 88b092ecba..f55eef544d 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -223,7 +223,7 @@ void ComputeStressAtom::compute_peratom() int nfix = modify->nfix; for (int ifix = 0; ifix < nfix; ifix++) if (fix[i]->virial_peratom_flag && fix[ifix]->thermo_virial) { - double **vatom = modify->fix[ifix]->vatom; + double **vatom = fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) for (j = 0; j < 6; j++) From d8fbf7f0ca49bffc92f8a132d452bd2d79aaa481 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Thu, 21 Jan 2021 17:36:20 -0700 Subject: [PATCH 051/132] remove last v_setup() calls from fixes --- src/MESSAGE/fix_client_md.cpp | 5 ++--- src/RIGID/fix_rigid_nh.cpp | 3 +-- src/RIGID/fix_rigid_nh_small.cpp | 3 +-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 7482a33110..1ef103ec3b 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -158,10 +158,9 @@ void FixClientMD::min_setup(int vflag) void FixClientMD::post_force(int vflag) { - // energy and virial setup + // virial setup - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // STEP send every step // required fields: COORDS diff --git a/src/RIGID/fix_rigid_nh.cpp b/src/RIGID/fix_rigid_nh.cpp index 7e05c694c2..7fefdaebfe 100644 --- a/src/RIGID/fix_rigid_nh.cpp +++ b/src/RIGID/fix_rigid_nh.cpp @@ -565,8 +565,7 @@ void FixRigidNH::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // remap simulation box by 1/2 step diff --git a/src/RIGID/fix_rigid_nh_small.cpp b/src/RIGID/fix_rigid_nh_small.cpp index 354ef08dbb..cfefe285f3 100644 --- a/src/RIGID/fix_rigid_nh_small.cpp +++ b/src/RIGID/fix_rigid_nh_small.cpp @@ -591,8 +591,7 @@ void FixRigidNHSmall::initial_integrate(int vflag) // virial setup before call to set_xv - if (vflag) v_setup(vflag); - else evflag = 0; + v_init(vflag); // remap simulation box by 1/2 step From 46b4043966a3957944c804a13218b49fe9ae28e2 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Mon, 25 Jan 2021 09:01:51 -0700 Subject: [PATCH 052/132] more changes to Kokkos Modify class --- src/KOKKOS/modify_kokkos.cpp | 57 +++++++++++++++++++++++++++++------- src/KOKKOS/modify_kokkos.h | 4 ++- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/modify_kokkos.cpp b/src/KOKKOS/modify_kokkos.cpp index 04e5baced2..89153def23 100644 --- a/src/KOKKOS/modify_kokkos.cpp +++ b/src/KOKKOS/modify_kokkos.cpp @@ -350,27 +350,62 @@ void ModifyKokkos::end_of_step() } /* ---------------------------------------------------------------------- - thermo energy call, only for relevant fixes - called by Thermo class - compute_scalar() is fix call to return energy + coupling energy call, only for relevant fixes + each thermostsat fix returns this via compute_scalar() + ecouple = cumulative energy added to reservoir by thermostatting ------------------------------------------------------------------------- */ -double ModifyKokkos::thermo_energy() +double Modify::energy_couple() { double energy = 0.0; - for (int i = 0; i < n_thermo_energy; i++) { - atomKK->sync(fix[list_thermo_energy[i]]->execution_space, - fix[list_thermo_energy[i]]->datamask_read); + for (int i = 0; i < n_energy_couple; i++) { int prev_auto_sync = lmp->kokkos->auto_sync; - if (!fix[list_thermo_energy[i]]->kokkosable) lmp->kokkos->auto_sync = 1; - energy += fix[list_thermo_energy[i]]->compute_scalar(); + if (!fix[list_energy_couple[i]]->kokkosable) lmp->kokkos->auto_sync = 1; + energy += fix[list_energy_couple[i]]->compute_scalar(); lmp->kokkos->auto_sync = prev_auto_sync; - atomKK->modified(fix[list_thermo_energy[i]]->execution_space, - fix[list_thermo_energy[i]]->datamask_modify); + atomKK->modified(fix[list_energy_couple[i]]->execution_space, + fix[list_energy_couple[i]]->datamask_modify); } return energy; } +/* ---------------------------------------------------------------------- + global energy call, only for relevant fixes + they return energy via compute_scalar() + called by compute pe +------------------------------------------------------------------------- */ + +double Modify::energy_global() +{ + double energy = 0.0; + for (int i = 0; i < n_energy_global; i++) { + int prev_auto_sync = lmp->kokkos->auto_sync; + if (!fix[list_energy_global[i]]->kokkosable) lmp->kokkos->auto_sync = 1; + energy += fix[list_energy_global[i]]->compute_scalar(); + lmp->kokkos->auto_sync = prev_auto_sync; + atomKK->modified(fix[list_energy_global[i]]->execution_space, + fix[list_energy_global[i]]->datamask_modify); + } + return energy; +} + +/* ---------------------------------------------------------------------- + peratom energy call, only for relevant fixes + called by compute pe/atom +------------------------------------------------------------------------- */ + +void Modify::energy_atom(int nlocal, double *energy) +{ + int i,j; + double *eatom; + + //for (i = 0; i < n_energy_atom; i++) { + // eatom = fix[list_energy_atom[i]]->eatom; + // if (!eatom) continue; + // for (j = 0; j < nlocal; j++) energy[j] += eatom[j]; + //} +} + /* ---------------------------------------------------------------------- post_run call ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/modify_kokkos.h b/src/KOKKOS/modify_kokkos.h index 32dfb2fd97..be52e4bfff 100644 --- a/src/KOKKOS/modify_kokkos.h +++ b/src/KOKKOS/modify_kokkos.h @@ -37,7 +37,9 @@ class ModifyKokkos : public Modify { void post_force(int); void final_integrate(); void end_of_step(); - double thermo_energy(); + double energy_couple(); + double energy_global(); + void energy_atom(); void post_run(); void setup_pre_force_respa(int, int); From a0e4817a2cd62af338e823c2f25fe2911471dfe7 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Mon, 25 Jan 2021 09:08:40 -0700 Subject: [PATCH 053/132] more changes to Kokkos Modify class --- src/KOKKOS/modify_kokkos.cpp | 57 +++++++----------------------------- src/KOKKOS/modify_kokkos.h | 4 +-- 2 files changed, 12 insertions(+), 49 deletions(-) diff --git a/src/KOKKOS/modify_kokkos.cpp b/src/KOKKOS/modify_kokkos.cpp index 89153def23..04e5baced2 100644 --- a/src/KOKKOS/modify_kokkos.cpp +++ b/src/KOKKOS/modify_kokkos.cpp @@ -350,62 +350,27 @@ void ModifyKokkos::end_of_step() } /* ---------------------------------------------------------------------- - coupling energy call, only for relevant fixes - each thermostsat fix returns this via compute_scalar() - ecouple = cumulative energy added to reservoir by thermostatting + thermo energy call, only for relevant fixes + called by Thermo class + compute_scalar() is fix call to return energy ------------------------------------------------------------------------- */ -double Modify::energy_couple() +double ModifyKokkos::thermo_energy() { double energy = 0.0; - for (int i = 0; i < n_energy_couple; i++) { + for (int i = 0; i < n_thermo_energy; i++) { + atomKK->sync(fix[list_thermo_energy[i]]->execution_space, + fix[list_thermo_energy[i]]->datamask_read); int prev_auto_sync = lmp->kokkos->auto_sync; - if (!fix[list_energy_couple[i]]->kokkosable) lmp->kokkos->auto_sync = 1; - energy += fix[list_energy_couple[i]]->compute_scalar(); + if (!fix[list_thermo_energy[i]]->kokkosable) lmp->kokkos->auto_sync = 1; + energy += fix[list_thermo_energy[i]]->compute_scalar(); lmp->kokkos->auto_sync = prev_auto_sync; - atomKK->modified(fix[list_energy_couple[i]]->execution_space, - fix[list_energy_couple[i]]->datamask_modify); + atomKK->modified(fix[list_thermo_energy[i]]->execution_space, + fix[list_thermo_energy[i]]->datamask_modify); } return energy; } -/* ---------------------------------------------------------------------- - global energy call, only for relevant fixes - they return energy via compute_scalar() - called by compute pe -------------------------------------------------------------------------- */ - -double Modify::energy_global() -{ - double energy = 0.0; - for (int i = 0; i < n_energy_global; i++) { - int prev_auto_sync = lmp->kokkos->auto_sync; - if (!fix[list_energy_global[i]]->kokkosable) lmp->kokkos->auto_sync = 1; - energy += fix[list_energy_global[i]]->compute_scalar(); - lmp->kokkos->auto_sync = prev_auto_sync; - atomKK->modified(fix[list_energy_global[i]]->execution_space, - fix[list_energy_global[i]]->datamask_modify); - } - return energy; -} - -/* ---------------------------------------------------------------------- - peratom energy call, only for relevant fixes - called by compute pe/atom -------------------------------------------------------------------------- */ - -void Modify::energy_atom(int nlocal, double *energy) -{ - int i,j; - double *eatom; - - //for (i = 0; i < n_energy_atom; i++) { - // eatom = fix[list_energy_atom[i]]->eatom; - // if (!eatom) continue; - // for (j = 0; j < nlocal; j++) energy[j] += eatom[j]; - //} -} - /* ---------------------------------------------------------------------- post_run call ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/modify_kokkos.h b/src/KOKKOS/modify_kokkos.h index be52e4bfff..32dfb2fd97 100644 --- a/src/KOKKOS/modify_kokkos.h +++ b/src/KOKKOS/modify_kokkos.h @@ -37,9 +37,7 @@ class ModifyKokkos : public Modify { void post_force(int); void final_integrate(); void end_of_step(); - double energy_couple(); - double energy_global(); - void energy_atom(); + double thermo_energy(); void post_run(); void setup_pre_force_respa(int, int); From 064e0d1c44289d749f25869201c4afeb15bc909b Mon Sep 17 00:00:00 2001 From: Plimpton Date: Mon, 25 Jan 2021 09:18:37 -0700 Subject: [PATCH 054/132] redo changes to modify_kokkos.cpp/h --- src/KOKKOS/modify_kokkos.cpp | 57 +++++++++++++++++++++++++++++------- src/KOKKOS/modify_kokkos.h | 4 ++- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/modify_kokkos.cpp b/src/KOKKOS/modify_kokkos.cpp index 04e5baced2..89153def23 100644 --- a/src/KOKKOS/modify_kokkos.cpp +++ b/src/KOKKOS/modify_kokkos.cpp @@ -350,27 +350,62 @@ void ModifyKokkos::end_of_step() } /* ---------------------------------------------------------------------- - thermo energy call, only for relevant fixes - called by Thermo class - compute_scalar() is fix call to return energy + coupling energy call, only for relevant fixes + each thermostsat fix returns this via compute_scalar() + ecouple = cumulative energy added to reservoir by thermostatting ------------------------------------------------------------------------- */ -double ModifyKokkos::thermo_energy() +double Modify::energy_couple() { double energy = 0.0; - for (int i = 0; i < n_thermo_energy; i++) { - atomKK->sync(fix[list_thermo_energy[i]]->execution_space, - fix[list_thermo_energy[i]]->datamask_read); + for (int i = 0; i < n_energy_couple; i++) { int prev_auto_sync = lmp->kokkos->auto_sync; - if (!fix[list_thermo_energy[i]]->kokkosable) lmp->kokkos->auto_sync = 1; - energy += fix[list_thermo_energy[i]]->compute_scalar(); + if (!fix[list_energy_couple[i]]->kokkosable) lmp->kokkos->auto_sync = 1; + energy += fix[list_energy_couple[i]]->compute_scalar(); lmp->kokkos->auto_sync = prev_auto_sync; - atomKK->modified(fix[list_thermo_energy[i]]->execution_space, - fix[list_thermo_energy[i]]->datamask_modify); + atomKK->modified(fix[list_energy_couple[i]]->execution_space, + fix[list_energy_couple[i]]->datamask_modify); } return energy; } +/* ---------------------------------------------------------------------- + global energy call, only for relevant fixes + they return energy via compute_scalar() + called by compute pe +------------------------------------------------------------------------- */ + +double Modify::energy_global() +{ + double energy = 0.0; + for (int i = 0; i < n_energy_global; i++) { + int prev_auto_sync = lmp->kokkos->auto_sync; + if (!fix[list_energy_global[i]]->kokkosable) lmp->kokkos->auto_sync = 1; + energy += fix[list_energy_global[i]]->compute_scalar(); + lmp->kokkos->auto_sync = prev_auto_sync; + atomKK->modified(fix[list_energy_global[i]]->execution_space, + fix[list_energy_global[i]]->datamask_modify); + } + return energy; +} + +/* ---------------------------------------------------------------------- + peratom energy call, only for relevant fixes + called by compute pe/atom +------------------------------------------------------------------------- */ + +void Modify::energy_atom(int nlocal, double *energy) +{ + int i,j; + double *eatom; + + //for (i = 0; i < n_energy_atom; i++) { + // eatom = fix[list_energy_atom[i]]->eatom; + // if (!eatom) continue; + // for (j = 0; j < nlocal; j++) energy[j] += eatom[j]; + //} +} + /* ---------------------------------------------------------------------- post_run call ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/modify_kokkos.h b/src/KOKKOS/modify_kokkos.h index 32dfb2fd97..be52e4bfff 100644 --- a/src/KOKKOS/modify_kokkos.h +++ b/src/KOKKOS/modify_kokkos.h @@ -37,7 +37,9 @@ class ModifyKokkos : public Modify { void post_force(int); void final_integrate(); void end_of_step(); - double thermo_energy(); + double energy_couple(); + double energy_global(); + void energy_atom(); void post_run(); void setup_pre_force_respa(int, int); From 6147b9c2efc6eb0dfbc1f5d8f14d098bb6a5fd66 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 26 Jan 2021 08:51:47 -0700 Subject: [PATCH 055/132] doc page updates for energy contributions of thermostat and non-thermostat fixes --- doc/src/compute_displace_atom.rst | 11 +-- doc/src/fix_addforce.rst | 28 ++++--- doc/src/fix_addtorque.rst | 38 ++++++--- doc/src/fix_atc.rst | 69 +++++++++++++---- doc/src/fix_bocs.rst | 33 ++++++++ doc/src/fix_client_md.rst | 36 +++++---- doc/src/fix_cmap.rst | 37 +++++---- doc/src/fix_colvars.rst | 29 +++---- doc/src/fix_efield.rst | 48 ++++++------ doc/src/fix_external.rst | 33 ++++---- doc/src/fix_ffl.rst | 35 +++++---- doc/src/fix_flow_gauss.rst | 75 +++++++++++------- doc/src/fix_gcmc.rst | 20 ++--- doc/src/fix_gle.rst | 35 +++++---- doc/src/fix_gravity.rst | 26 ++++--- doc/src/fix_hyper_global.rst | 23 +++--- doc/src/fix_hyper_local.rst | 23 +++--- doc/src/fix_indent.rst | 31 ++++---- doc/src/fix_langevin.rst | 18 +++-- doc/src/fix_langevin_eff.rst | 18 +++-- doc/src/fix_latte.rst | 28 ++++--- doc/src/fix_modify.rst | 81 +++++++++++-------- doc/src/fix_msst.rst | 35 +++++---- doc/src/fix_nh.rst | 21 ++--- doc/src/fix_nph_asphere.rst | 10 ++- doc/src/fix_nph_body.rst | 10 ++- doc/src/fix_nph_sphere.rst | 10 ++- doc/src/fix_nphug.rst | 52 +++++++------ doc/src/fix_npt_asphere.rst | 8 +- doc/src/fix_npt_body.rst | 11 +-- doc/src/fix_npt_cauchy.rst | 38 +++++---- doc/src/fix_npt_sphere.rst | 31 ++++---- doc/src/fix_nvt_asphere.rst | 16 ++-- doc/src/fix_nvt_body.rst | 16 ++-- doc/src/fix_nvt_sllod.rst | 16 ++-- doc/src/fix_nvt_sllod_eff.rst | 16 ++-- doc/src/fix_nvt_sphere.rst | 16 ++-- doc/src/fix_orient.rst | 27 ++++--- doc/src/fix_orient_eco.rst | 125 ++++++++++++++++-------------- doc/src/fix_plumed.rst | 44 ++++++----- doc/src/fix_precession_spin.rst | 90 +++++++++++---------- doc/src/fix_qbmsst.rst | 48 +++++++----- doc/src/fix_restrain.rst | 16 ++-- doc/src/fix_rhok.rst | 25 +++++- doc/src/fix_rigid.rst | 45 ++++++----- doc/src/fix_spring.rst | 11 ++- doc/src/fix_spring_chunk.rst | 8 +- doc/src/fix_spring_self.rst | 19 +++-- doc/src/fix_temp_berendsen.rst | 13 ++-- doc/src/fix_temp_csvr.rst | 46 ++++++----- doc/src/fix_temp_rescale.rst | 43 +++++----- doc/src/fix_temp_rescale_eff.rst | 16 ++-- doc/src/fix_tgnh_drude.rst | 65 +++++++++------- doc/src/fix_ti_spring.rst | 60 +++++++------- doc/src/fix_wall.rst | 28 ++++--- doc/src/fix_wall_ees.rst | 94 +++++++++++++++++----- doc/src/fix_wall_region.rst | 34 ++++---- doc/src/fix_widom.rst | 10 +-- doc/src/thermo_modify.rst | 2 +- doc/src/thermo_style.rst | 101 +++++++++++++++--------- src/SHOCK/fix_msst.cpp | 1 - src/SHOCK/fix_nphug.cpp | 3 - src/USER-EFF/fix_langevin_eff.cpp | 1 - src/USER-MISC/fix_flow_gauss.cpp | 10 ++- src/USER-MISC/fix_pimd.cpp | 1 - src/USER-QTB/fix_qbmsst.cpp | 11 ++- src/thermo.cpp | 8 +- 67 files changed, 1241 insertions(+), 845 deletions(-) diff --git a/doc/src/compute_displace_atom.rst b/doc/src/compute_displace_atom.rst index 9079538fd8..688e73d914 100644 --- a/doc/src/compute_displace_atom.rst +++ b/doc/src/compute_displace_atom.rst @@ -46,11 +46,12 @@ the compute command was issued. The value of the displacement will be .. note:: Initial coordinates are stored in "unwrapped" form, by using the - image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. - See the Atoms section of the :doc:`read_data ` command for a - discussion of image flags and how they are set for each atom. You can - reset the image flags (e.g. to 0) before invoking this compute by - using the :doc:`set image ` command. + image flags associated with each atom. See the :doc:`dump custom + ` command for a discussion of "unwrapped" coordinates. See + the Atoms section of the :doc:`read_data ` command for a + discussion of image flags and how they are set for each atom. You + can reset the image flags (e.g. to 0) before invoking this compute + by using the :doc:`set image ` command. .. note:: diff --git a/doc/src/fix_addforce.rst b/doc/src/fix_addforce.rst index f2f7a69f6c..4aca227246 100644 --- a/doc/src/fix_addforce.rst +++ b/doc/src/fix_addforce.rst @@ -118,20 +118,24 @@ converge properly. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 to the -system's potential energy as part of :doc:`thermodynamic output `. This 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. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the global potential "energy" inferred by the added +force 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. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the added forces on atoms to the -system's virial as part of :doc:`thermodynamic output `. -The default is *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 +the global pressure of the system as part of :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 ` diff --git a/doc/src/fix_addtorque.rst b/doc/src/fix_addtorque.rst index b716f94dc8..fbb957e547 100644 --- a/doc/src/fix_addtorque.rst +++ b/doc/src/fix_addtorque.rst @@ -55,13 +55,15 @@ 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 forces to the -system's potential energy as part of :doc:`thermodynamic output `. This 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 forces. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential "energy" inferred by the added torques +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 +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 forces. The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` @@ -78,16 +80,28 @@ No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. The forces due to this fix are imposed during an energy minimization, -invoked by the :doc:`minimize ` command. You should not -specify force components with a variable that has time-dependence for -use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. +invoked by the :doc:`minimize ` command. + +.. note:: + + If you want the fictitious potential energy associated with the + added forces to be included in the total potential energy of the + system (the quantity being minimized), you MUST enable the + :doc:`fix_modify ` *energy* option for this fix. + +.. note:: + + You should not specify force components with a variable that has + time-dependence for use with a minimizer, since the minimizer + increments the timestep as the iteration count during the + minimization. Restrictions """""""""""" This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_atc.rst b/doc/src/fix_atc.rst index 8e9ab0ceb2..25f85f6f6c 100644 --- a/doc/src/fix_atc.rst +++ b/doc/src/fix_atc.rst @@ -122,10 +122,22 @@ 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 ` options relevant to this -fix are listed below. No global scalar or vector 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 +`. + +The :doc:`fix_modify ` *energy* option is not supported by +this fix, but this fix does add the kinetic energy imparted to atoms +by the momentum coupling mode of the AtC package to the global +potential energy of the system as part of :doc:`thermodynamic output +`. + +Additional :doc:`fix_modify ` options relevant to this +fix are listed below. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the energy +discussed in the previous paragraph. The scalar value is "extensive". + +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 `. @@ -145,10 +157,10 @@ one, e.g. nve, nvt, etc. In addition, currently: Related commands """""""""""""""" -After specifying this fix in your input script, several other -:doc:`fix_modify ` commands are used to setup the problem, -e.g. define the finite element mesh and prescribe initial and boundary -conditions. +After specifying this fix in your input script, several +:doc:`fix_modify AtC ` commands are used to setup the +problem, e.g. define the finite element mesh and prescribe initial and +boundary conditions. Each of these options has its own doc page. *fix_modify* commands for setup: @@ -240,7 +252,8 @@ miscellaneous *fix_modify* commands: * :doc:`fix_modify AtC remove_species ` * :doc:`fix_modify AtC remove_molecule ` -Note: a set of example input files with the attendant material files are included in the ``examples/USER/atc`` folders. +Note: a set of example input files with the attendant material files +are included in the ``examples/USER/atc`` folders. Default """"""" @@ -252,30 +265,52 @@ For detailed exposition of the theory and algorithms please see: .. _Wagner: -**(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351. +**(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An + atomistic-to-continuum coupling method for heat transfer in solids." + Special Issue of Computer Methods and Applied Mechanics (2008) + 197:3351. .. _Zimmeman2004: -**(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319. +**(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; + Klein, PA; Bammann, DJ, "Calculation of stress in atomistic + simulation." Special Issue of Modelling and Simulation in Materials + Science and Engineering (2004), 12:S319. .. _Zimmerman2010: -**(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364. +**(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A + material frame approach for evaluating continuum variables in + atomistic simulations." Journal of Computational Physics (2010), + 229:2364. .. _Templeton2010: -**(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007. +**(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application + of a field-based method to spatially varying thermal transport + problems in molecular dynamics." Modelling and Simulation in + Materials Science and Engineering (2010), 18:085007. .. _Jones: -**(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940. +**(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, + JA, "Electron transport enhanced molecular dynamics for metals and + semi-metals." International Journal for Numerical Methods in + Engineering (2010), 83:940. .. _Templeton2011: -**(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736. +**(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; + Wong, BM, "A long-range electric field solver for molecular dynamics + based on atomistic-to-continuum modeling." Journal of Chemical Theory + and Computation (2011), 7:1736. .. _Mandadapu: -**(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. +**(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization + as a field variable from molecular dynamics simulations." Journal of + Chemical Physics (2013), 139:054115. -Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation. +Please refer to the standard finite element (FE) texts, e.g. T.J.R +Hughes " The finite element method ", Dover 2003, for the basics of FE +simulation. diff --git a/doc/src/fix_bocs.rst b/doc/src/fix_bocs.rst index b5a00b2687..f4b3080cc0 100644 --- a/doc/src/fix_bocs.rst +++ b/doc/src/fix_bocs.rst @@ -75,6 +75,39 @@ Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you are using *units real*\ , *V_avg* should be in cubic angstroms, and the coefficients should all be in atmospheres \* cubic angstroms. +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This fix writes the cumulative global energy change to :doc:`binary +restart files `. See the :doc:`read_restart ` +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the fix continues in an uninterrupted +fashion. + +The :doc:`fix_modify ` *temp* option is supported by this +fix. You can use it to assign a temperature :doc:`compute ` +you have defined to this fix which will be used in its thermostatting +procedure, as described above. For consistency, the group used by +this fix and by the compute should be the same. + +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + +This fix can ramp its target temperature over multiple runs, using the +*start* and *stop* keywords of the :doc:`run ` command. See the +:doc:`run ` command for details of how to do this. + +This fix is not invoked during :doc:`energy minimization `. + Restrictions """""""""""" diff --git a/doc/src/fix_client_md.rst b/doc/src/fix_client_md.rst index 0200966a34..5344f29459 100644 --- a/doc/src/fix_client_md.rst +++ b/doc/src/fix_client_md.rst @@ -47,14 +47,15 @@ for running *ab initio* MD with quantum forces. The group associated with this fix is ignored. The protocol and :doc:`units ` for message format and content -that LAMMPS exchanges with the server code is defined on the :doc:`server md ` doc page. +that LAMMPS exchanges with the server code is defined on the +:doc:`server md ` doc page. Note that when using LAMMPS as an MD client, your LAMMPS input script should not normally contain force field commands, like a :doc:`pair_style `, :doc:`bond_style `, or -:doc:`kspace_style ` command. However it is possible for -a server code to only compute a portion of the full force-field, while -LAMMPS computes the remaining part. Your LAMMPS script can also +:doc:`kspace_style ` command. However it is possible +for a server code to only compute a portion of the full force-field, +while LAMMPS computes the remaining part. Your LAMMPS script can also specify boundary conditions or force constraints in the usual way, which will be added to the per-atom forces returned by the server code. @@ -69,16 +70,20 @@ LAMMPS and another code in tandem to perform a coupled simulation. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 server application to -the system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy set by the server application 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 `. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the server application's contribution to the system's -virial as part of :doc:`thermodynamic output `. The -default is *virial yes* +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution computed by the external program 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 `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential @@ -86,13 +91,16 @@ energy discussed above. The scalar value calculated by this fix is "extensive". 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 MESSAGE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package +` doc page for more info. A script that uses this command must also use the :doc:`message ` command to setup and shut down the messaging diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index 14e83f49e6..83e4b6d9b8 100644 --- a/doc/src/fix_cmap.rst +++ b/doc/src/fix_cmap.rst @@ -29,11 +29,12 @@ Description This command enables CMAP cross-terms to be added to simulations which use the CHARMM force field. These are relevant for any CHARMM model of a peptide or protein sequences that is 3 or more amino-acid -residues long; see :ref:`(Buck) ` and :ref:`(Brooks) ` for details, -including the analytic energy expressions for CMAP interactions. The -CMAP cross-terms add additional potential energy contributions to pairs -of overlapping phi-psi dihedrals of amino-acids, which are important -to properly represent their conformational behavior. +residues long; see :ref:`(Buck) ` and :ref:`(Brooks) ` +for details, including the analytic energy expressions for CMAP +interactions. The CMAP cross-terms add additional potential energy +contributions to pairs of overlapping phi-psi dihedrals of +amino-acids, which are important to properly represent their +conformational behavior. The examples/cmap directory has a sample input script and data file for a small peptide, that illustrates use of the fix cmap command. @@ -93,19 +94,25 @@ the note below about how to include the CMAP energy when performing an Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the list of CMAP cross-terms to :doc:`binary restart files `. See the :doc:`read_restart ` command +This fix writes the list of CMAP cross-terms to :doc:`binary restart +files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the potential "energy" of the CMAP interactions system's -potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy of the CMAP interactions to both +the global potential energy and peratom potential energies of the +sysstem as part of :doc:`thermodynamic output ` or +output by the :doc:`compute pe/atom ` command. The +default setting for this fix is :doc:`fix_modify energy yes +`. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the interaction between atoms to -the system's virial as part of :doc:`thermodynamic output `. -The default is *virial yes* +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution due to the CMAP interactions between +atoms to the global prsesure of the system as part of +:doc:`thermodynamic output `. The default setting for +this fix is :doc:`fix_modify virial yes `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential @@ -121,8 +128,8 @@ invoked by the :doc:`minimize ` command. .. note:: If you want the potential energy associated with the CMAP terms - forces to be included in the total potential energy of the system (the - quantity being minimized), you MUST enable the + 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. Restrictions diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index fbc39f3f2f..7a238d3242 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -35,12 +35,12 @@ Examples Description """"""""""" -This fix interfaces LAMMPS to the collective variables "Colvars" -library, which allows to calculate potentials of mean force -(PMFs) for any set of colvars, using different sampling methods: -currently implemented are the Adaptive Biasing Force (ABF) method, -metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling -(US) via a flexible harmonic restraint bias. +This fix interfaces LAMMPS to the collective variables (Colvars) +library, which allows to calculate potentials of mean force (PMFs) for +any set of colvars, using different sampling methods: currently +implemented are the Adaptive Biasing Force (ABF) method, metadynamics, +Steered Molecular Dynamics (SMD) and Umbrella Sampling (US) via a +flexible harmonic restraint bias. This documentation describes only the fix colvars command itself and LAMMPS specific parts of the code. The full documentation of the @@ -98,9 +98,11 @@ This fix writes the current status of the colvars module into mode status file that is written by the colvars module itself and the kind of information in both files is identical. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change from the biasing force added by the fix -to the system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy change from the biasing force added by +Colvars 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 `. The *fix_modify configfile * option allows to add settings from an additional config file to the colvars module. This option can @@ -113,15 +115,16 @@ in a pair of double quotes ("), or can span multiple lines when bracketed by a pair of triple double quotes (""", like python embedded documentation). This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". +:doc:`output commands `. The scalar is the Covars +energy mentioned above. The scalar value calculated by this fix is +"extensive". Restrictions """""""""""" This fix is part of the USER-COLVARS package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. There can only be one colvars fix active at a time. Since the interface communicates only the minimum amount of information and colvars module diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index 227e048c8c..fdfc8b427b 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -100,9 +100,9 @@ minimize the orientation of dipoles in an applied electric field. The *energy* keyword specifies the name of an atom-style :doc:`variable ` which is used to compute the energy of each -atom as function of its position. Like variables used for *ex*\ , *ey*\ , -*ez*\ , the energy variable is specified as v_name, where name is the -variable name. +atom as function of its position. Like variables used for *ex*\ , +*ey*\ , *ez*\ , the energy variable is specified as v_name, where name +is the variable name. Note that when the *energy* keyword is used during an energy minimization, you must insure that the formula defined for the @@ -117,31 +117,35 @@ minimization will not converge properly. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 system's potential energy as part of -:doc:`thermodynamic output `. This 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 the -system's virial as part of :doc:`thermodynamic output `. -The default is *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 +the system's virial as part of :doc:`thermodynamic output +`. The default is *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 `. -The scalar is the potential energy discussed above. The vector is the -total force added to the group of atoms. The scalar and vector values -calculated by this fix are "extensive". +which can be accessed by various :doc:`output commands +`. The scalar is the potential energy discussed above. +The vector is the total force added to the group of atoms. 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. diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index fb71888025..cdb87c68a9 100644 --- a/doc/src/fix_external.rst +++ b/doc/src/fix_external.rst @@ -84,7 +84,8 @@ code `Quest `_. If mode is *pf/array* then the fix simply stores force values in an array. The fix adds these forces to each atom in the group, once -every *Napply* steps, similar to the way the :doc:`fix addforce ` command works. +every *Napply* steps, similar to the way the :doc:`fix addforce +` command works. The name of the public force array provided by the FixExternal class is @@ -150,19 +151,25 @@ of properties that the caller code may want to communicate to LAMMPS Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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" set by the external driver to the -system's potential energy as part of :doc:`thermodynamic output `. This 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. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy set by the external driver to +both the global potential energy and peratom potential energies of the +system as part of :doc:`thermodynamic output ` or output +by the :doc:`compute pe/atom ` command. The default +setting for this fix is :doc:`fix_modify energy yes `. +Note that this energy may be a fictitious quantity but it 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. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the interactions computed by the -external program to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution computed by the external program 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 `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential @@ -178,7 +185,7 @@ invoked by the :doc:`minimize ` command. If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the - system (the quantity being minimized), you MUST enable the + system (the quantity being minimized), you MUST not disable the :doc:`fix_modify ` *energy* option for this fix. Restrictions diff --git a/doc/src/fix_ffl.rst b/doc/src/fix_ffl.rst index 3888c439c5..0bfdaf87c9 100644 --- a/doc/src/fix_ffl.rst +++ b/doc/src/fix_ffl.rst @@ -76,28 +76,31 @@ Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" The instantaneous values of the extended variables are written to -:doc:`binary restart files `. Because the state of the random -number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on -the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior. -Note however that you should use a different seed each time you -restart, otherwise the same sequence of random numbers will be used -each time, which might lead to stochastic synchronization and +:doc:`binary restart files `. Because the state of the +random number generator is not saved in restart files, this means you +cannot do "exact" restarts with this fix, where the simulation +continues on the same as if no restart had taken place. However, in a +statistical sense, a restarted simulation should produce the same +behavior. Note however that you should use a different seed each time +you restart, otherwise the same sequence of random numbers will be +used each time, which might lead to stochastic synchronization and subtle artifacts in the sampling. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of :doc:`thermodynamic output `. - -This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". +This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index b40fefff0e..2affbd68f4 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -55,17 +55,22 @@ momentum. GD applies an external fluctuating gravitational field that acts as a driving force to keep the system away from equilibrium. To maintain steady state, a profile-unbiased thermostat must be implemented to -dissipate the heat that is added by the driving force. :doc:`Compute temp/profile ` can be used to implement a +dissipate the heat that is added by the driving force. :doc:`Compute +temp/profile ` can be used to implement a profile-unbiased thermostat. A common use of this fix is to compute a pressure drop across a pipe, pore, or membrane. The pressure profile can be computed in LAMMPS with -:doc:`compute stress/atom ` and :doc:`fix ave/chunk `, or with the hardy method in :doc:`fix atc `. Note that the simple :doc:`compute stress/atom ` method is only accurate away -from inhomogeneities in the fluid, such as fixed wall atoms. Further, -the computed pressure profile must be corrected for the acceleration +:doc:`compute stress/atom ` and :doc:`fix +ave/chunk `, or with the hardy method in :doc:`fix atc +`. Note that the simple :doc:`compute stress/atom +` method is only accurate away from +inhomogeneities in the fluid, such as fixed wall atoms. Further, the +computed pressure profile must be corrected for the acceleration applied by GD before computing a pressure drop or comparing it to -other methods, such as the pump method :ref:`(Zhu) `. The pressure -correction is discussed and described in :ref:`(Strong) `. +other methods, such as the pump method :ref:`(Zhu) `. The +pressure correction is discussed and described in :ref:`(Strong) +`. For a complete example including the considerations discussed above, see the examples/USER/flow_gauss directory. @@ -102,14 +107,15 @@ computed by the fix will return zero. of wall atoms fixed, such as :doc:`fix spring/self `. If this fix is used in a simulation with the :doc:`rRESPA ` -integrator, the applied acceleration must be computed and applied at the same -rRESPA level as the interactions between the flowing fluid and the obstacle. -The rRESPA level at which the acceleration is applied can be changed using -the :doc:`fix_modify ` *respa* option discussed below. If the -flowing fluid and the obstacle interact through multiple interactions that are -computed at different rRESPA levels, then there must be a separate flow/gauss -fix for each level. For example, if the flowing fluid and obstacle interact -through pairwise and long-range Coulomb interactions, which are computed at +integrator, the applied acceleration must be computed and applied at +the same rRESPA level as the interactions between the flowing fluid +and the obstacle. The rRESPA level at which the acceleration is +applied can be changed using the :doc:`fix_modify ` +*respa* option discussed below. If the flowing fluid and the obstacle +interact through multiple interactions that are computed at different +rRESPA levels, then there must be a separate flow/gauss fix for each +level. For example, if the flowing fluid and obstacle interact through +pairwise and long-range Coulomb interactions, which are computed at rRESPA levels 3 and 4, respectively, then there must be two separate flow/gauss fixes, one that specifies *fix_modify respa 3* and one with *fix_modify respa 4*. @@ -119,33 +125,42 @@ flow/gauss fixes, one that specifies *fix_modify respa 3* and one with Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +No information about this fix is written to :doc:`binary restart files +`. -No information about this fix is written to :doc:`binary restart files `. - -The :doc:`fix_modify ` *energy* option is supported by this -fix to subtract the work done from the -system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy added by the fix 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 `. The :doc:`fix_modify ` *respa* option is supported by this -fix. This allows the user to set at which level of the :doc:`rRESPA ` -integrator the fix computes and adds the external acceleration. Default is the -outermost level. +fix. This allows the user to set at which level of the :doc:`rRESPA +` integrator the fix computes and adds the external +acceleration. 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 `. -The scalar is the negative of the work done on the system, see above -discussion. The vector is the total force that this fix applied to -the group of atoms on the current timestep. The scalar and vector -values calculated by this fix are "extensive". +which can be accessed by various :doc:`output commands +`. The scalar is the negative of the work done on the +system, see the discussion above. It is only calculated if the +*energy* keyword is enabled or :doc:`fix_modify energy yes +` is set. + +The vector is the total force that this fix applied to the group of +atoms on the current timestep. 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. +This fix is not invoked during :doc:`energy minimization `. + Restrictions """""""""""" - none + +This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index 8ea84303bc..894e4ec4b1 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -398,12 +398,13 @@ adds all inserted atoms of the specified type to the Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the fix to :doc:`binary restart files `. This includes information about the random -number generator seed, the next timestep for MC exchanges, the number -of MC step attempts and successes etc. See -the :doc:`read_restart ` command for info on how to -re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. +This fix writes the state of the fix to :doc:`binary restart files +`. This includes information about the random number +generator seed, the next timestep for MC exchanges, the number of MC +step attempts and successes etc. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. .. note:: @@ -411,8 +412,8 @@ the operation of the fix continues in an uninterrupted fashion. after reading the restart with :doc:`reset_timestep `. The fix will try to detect it and stop with an error. -None of the :doc:`fix_modify ` options are relevant to this -fix. +None of the :doc:`fix_modify ` options are relevant to +this fix. This fix computes a global vector of length 8, which can be accessed by various :doc:`output commands `. The vector values are @@ -430,7 +431,8 @@ the following global cumulative quantities: The 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. This fix is not invoked during :doc:`energy minimization `. +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/fix_gle.rst b/doc/src/fix_gle.rst index 1f14c7245d..a341e0fa08 100644 --- a/doc/src/fix_gle.rst +++ b/doc/src/fix_gle.rst @@ -103,28 +103,31 @@ Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" The instantaneous values of the extended variables are written to -:doc:`binary restart files `. Because the state of the random -number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on -the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior. -Note however that you should use a different seed each time you -restart, otherwise the same sequence of random numbers will be used -each time, which might lead to stochastic synchronization and +:doc:`binary restart files `. Because the state of the +random number generator is not saved in restart files, this means you +cannot do "exact" restarts with this fix, where the simulation +continues on the same as if no restart had taken place. However, in a +statistical sense, a restarted simulation should produce the same +behavior. Note however that you should use a different seed each time +you restart, otherwise the same sequence of random numbers will be +used each time, which might lead to stochastic synchronization and subtle artifacts in the sampling. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of :doc:`thermodynamic output `. - -This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". +This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/fix_gravity.rst b/doc/src/fix_gravity.rst index a163eb4ab2..bd585b1312 100644 --- a/doc/src/fix_gravity.rst +++ b/doc/src/fix_gravity.rst @@ -103,23 +103,27 @@ 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 gravitational potential energy of the system to the -system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the gravitational potential energy of the system 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 `. 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 is adding its forces. Default is the outermost level. +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 which can be accessed by various -:doc:`output commands `. This scalar is the gravitational -potential energy of the particles in the defined field, namely mass \* -(g dot x) for each particles, where x and mass are the particles -position and mass, and g is the gravitational field. The scalar value -calculated by this fix is "extensive". +:doc:`output commands `. This scalar is the +gravitational potential energy of the particles in the defined field, +namely mass \* (g dot x) for each particles, where x and mass are the +particles position and mass, and g is the gravitational field. The +scalar value calculated by this fix is "extensive". 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 """""""""""" diff --git a/doc/src/fix_hyper_global.rst b/doc/src/fix_hyper_global.rst index 52f542f647..0b46616c5e 100644 --- a/doc/src/fix_hyper_global.rst +++ b/doc/src/fix_hyper_global.rst @@ -200,16 +200,20 @@ algorithm. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 energy of the bias potential to the system's -potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy of the bias potential 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 `. -This fix computes a global scalar and global vector of length 12, which -can be accessed by various :doc:`output commands `. The -scalar is the magnitude of the bias potential (energy units) applied on -the current timestep. The vector stores the following quantities: +This fix computes a global scalar and global vector of length 12, +which can be accessed by various :doc:`output commands +`. The scalar is the magnitude of the bias potential +(energy units) applied on the current timestep. The vector stores the +following quantities: * 1 = boost factor on this step (unitless) * 2 = max strain :math:`E_{ij}` of any bond on this step (absolute value, unitless) @@ -253,7 +257,8 @@ The scalar and vector values calculated by this fix are all "intensive". 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 """""""""""" diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index da197cad20..90238e0b4a 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -370,15 +370,17 @@ 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 energy of the bias potential to the system's potential -energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy of the bias potential 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 `. This fix computes a global scalar and global vector of length 28, -which can be accessed by various :doc:`output commands `. -The scalar is the magnitude of the bias potential (energy units) -applied on the current timestep, summed over all biased bonds. The -vector stores the following quantities: +which can be accessed by various :doc:`output commands +`. The scalar is the magnitude of the bias potential +(energy units) applied on the current timestep, summed over all biased +bonds. The vector stores the following quantities: * 1 = average boost for all bonds on this step (unitless) * 2 = # of biased bonds on this step @@ -510,8 +512,8 @@ Value 27 computes the average boost for biased bonds only on this step. Value 28 is the count of bonds with an absolute value of strain >= q on this step. -The scalar and vector values calculated by this fix are all -"intensive". +The scalar value is an "extensive" quantity since it grows with the +system size; the vector values are all "intensive". This fix also computes a local vector of length the number of bonds currently in the system. The value for each bond is its :math:`C_{ij}` @@ -524,7 +526,8 @@ close to 1.0, which indicates a good choice of :math:`V^{max}`. The local values calculated by this fix are unitless. 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 """""""""""" diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index 2a77e27268..e9dab5141f 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -179,20 +179,25 @@ contains *xlat*\ , *ylat*\ , *zlat* keywords of the Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 energy of interaction between atoms and the indenter to -the system's potential energy as part of :doc:`thermodynamic output `. The energy of each particle interacting -with the indenter is K/3 (r - R)\^3. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy of interaction between atoms and the +indenter 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 `. The energy of +each particle interacting with the indenter is K/3 (r - R)\^3. 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 is adding its forces. Default is the outermost level. +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 3-vector of -forces (on the indenter), which can be accessed by various :doc:`output commands `. The scalar and vector values calculated -by this fix are "extensive". +forces (on the indenter), which can be accessed by various +:doc:`output commands `. The scalar and vector values +calculated by this fix are "extensive". The forces due to this fix are imposed during an energy minimization, invoked by the :doc:`minimize ` command. Note that if you @@ -204,10 +209,10 @@ check if you have done this. .. note:: - If you want the atom/indenter interaction energy to be included - in the total potential energy of the system (the quantity being - minimized), you must enable the :doc:`fix_modify ` *energy* - option for this fix. + If you want the atom/indenter interaction energy to be included in + the total potential energy of the system (the quantity being + minimized), you must enable the :doc:`fix_modify ` + *energy* option for this fix. Restrictions """""""""""" diff --git a/doc/src/fix_langevin.rst b/doc/src/fix_langevin.rst index e31434247f..b8524069ec 100644 --- a/doc/src/fix_langevin.rst +++ b/doc/src/fix_langevin.rst @@ -287,16 +287,18 @@ you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of :doc:`thermodynamic output `. Note that use of this option requires -setting the *tally* keyword to *yes*\ . +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*\ , but only if the *tally* keyword to set to +*yes*\ . See the :doc:`thermo_style ` doc page for +details. This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". Note that calculation of this quantity requires -setting the *tally* keyword to *yes*\ . +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". +Note that calculation of this quantity also requires setting the +*tally* keyword to *yes*\ . This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the diff --git a/doc/src/fix_langevin_eff.rst b/doc/src/fix_langevin_eff.rst index 29df472d83..c6fd1b0b40 100644 --- a/doc/src/fix_langevin_eff.rst +++ b/doc/src/fix_langevin_eff.rst @@ -81,16 +81,18 @@ you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of :doc:`thermodynamic output `. Note that use of this option requires -setting the *tally* keyword to *yes*\ . +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*\ , but only if the *tally* keyword to set to +*yes*\ . See the :doc:`thermo_style ` doc page for +details. This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". Note that calculation of this quantity requires -setting the *tally* keyword to *yes*\ . +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". +Note that calculation of this quantity also requires setting the +*tally* keyword to *yes*\ . This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst index 0d6488af26..563656be5f 100644 --- a/doc/src/fix_latte.rst +++ b/doc/src/fix_latte.rst @@ -107,16 +107,20 @@ larger system sizes and longer time scales Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 LATTE to the system's -potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy computed by LATTE 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 `. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the LATTE DFTB contribution to the system's virial as part -of :doc:`thermodynamic output `. The default is *virial -yes* +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution computed by LATTE 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 `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential @@ -127,20 +131,22 @@ No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. The DFTB forces computed by LATTE via this fix are imposed during an -energy minimization, invoked by the :doc:`minimize ` command. +energy minimization, invoked by the :doc:`minimize ` +command. .. note:: If you want the potential energy associated with the DFTB forces to be included in the total potential energy of the system (the - quantity being minimized), you MUST enable the + quantity being minimized), you MUST not disable the :doc:`fix_modify ` *energy* option for this fix. Restrictions """""""""""" This fix is part of the LATTE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package +` doc page for more info. You must use metal units, as set by the :doc:`units ` command to use this fix. diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index 604b63550c..d382d3ebe8 100644 --- a/doc/src/fix_modify.rst +++ b/doc/src/fix_modify.rst @@ -59,43 +59,58 @@ define their own compute by default, as described in their documentation. Thus this option allows the user to override the default method for computing P. -The *energy* keyword can be used with fixes that support it. -*energy yes* adds a contribution to the potential energy of the -system. The fix's global and per-atom -energy is included in the calculation performed by the :doc:`compute pe ` or :doc:`compute pe/atom ` -commands. See the :doc:`thermo_style ` command for info -on how potential energy is output. For fixes that tally a global -energy, it can be printed by using the keyword f_ID in the -thermo_style custom command, where ID is the fix-ID of the appropriate -fix. +The *energy* keyword can be used with fixes that support it, which is +explained at the bottom of their doc page. *Energy yes* will add a +contribution to the potential energy of the system. More +specifically, the fix's global or per-atom energy is included in the +calculation performed by the :doc:`compute pe ` or +:doc:`compute pe/atom ` commands. The former is what +is used the :doc:`thermo_style ` command for output of +any quantity that includes the global potential energy of the system. +Note that the :doc:`compute pe ` and :doc:`compute pe/atom +` commands also have an option to include or exclude +the contribution from fixes. For fixes that tally a global energy, it +can also be printed with thermodynamic output by using the keyword +f_ID in the thermo_style custom command, where ID is the fix-ID of the +appropriate fix. .. note:: - You must also specify the *energy yes* setting for a fix if you - are using it when performing an :doc:`energy minimization ` - and if you want the energy and forces it produces to be part of the - optimization criteria. - -The *virial* keyword can be used with fixes that support it. -*virial yes* adds a contribution to the virial of the -system. The fix's global and per-atom -virial is included in the calculation performed by the :doc:`compute pressure ` or -:doc:`compute stress/atom ` -commands. See the :doc:`thermo_style ` command for info -on how pressure is output. + If you are performing an :doc:`energy minimization ` with + one of these fixes and want the energy and forces it produces to be + part of the optimization criteria, you must specify the *energy + yes* setting. .. note:: - You must specify the *virial yes* setting for a fix if you - are doing :doc:`box relaxation ` and - if you want virial contribution of the fix to be part of the - relaxation criteria, although this seems unlikely. + For most fixes that suppport the *energy* keyword, the default + setting is *no*. For a few it is *yes*, when a user would expect + that to be the case. The doc page of each fix gives the default. + +The *virial* keyword can be used with fixes that support it, which is +explained at the bottom of their doc page. *Virial yes* will add a +contribution to the virial of the system. More specifically, the +fix's global or per-atom virial is included in the calculation +performed by the :doc:`compute pressure ` or +:doc:`compute stress/atom ` commands. The former +is what is used the :doc:`thermo_style ` command for +output of any quantity that includes the global pressure of the +system. Note that the :doc:`compute pressure ` and +:doc:`compute stress/atom ` commands also have an +option to include or exclude the contribution from fixes. .. note:: - This option is only supported by fixes that explicitly say - so. For some of these (e.g. the :doc:`fix shake ` command) - the default setting is *virial yes*\ , for others it is *virial no*\ . + If you are performing an :doc:`energy minimization ` with + :doc:`box relaxation ` and one of these fixes and + want the virial contribution of the fix to be part of the + optimization criteria, you must specify the *virial yes* setting. + +.. note:: + + For most fixes that suppport the *virial* keyword, the default + setting is *no*. For a few it is *yes*, when a user would expect + that to be the case. The doc page of each fix gives the default. For fixes that set or modify forces, it may be possible to select at which :doc:`r-RESPA ` level the fix operates via the *respa* @@ -112,13 +127,15 @@ The *dynamic/dof* keyword determines whether the number of atoms N in the fix group and their associated degrees of freedom are re-computed each time a temperature is computed. Only fix styles that calculate their own internal temperature use this option. Currently this is -only the :doc:`fix rigid/nvt/small ` and :doc:`fix rigid/npt/small ` commands for the purpose of +only the :doc:`fix rigid/nvt/small ` and :doc:`fix +rigid/npt/small ` commands for the purpose of thermostatting rigid body translation and rotation. By default, N and their DOF are assumed to be constant. If you are adding atoms or -molecules to the system (see the :doc:`fix pour `, :doc:`fix deposit `, and :doc:`fix gcmc ` commands) or +molecules to the system (see the :doc:`fix pour `, :doc:`fix +deposit `, and :doc:`fix gcmc ` commands) or expect atoms or molecules to be lost (e.g. due to exiting the -simulation box or via :doc:`fix evaporate `), then -this option should be used to insure the temperature is correctly +simulation box or via :doc:`fix evaporate `), then this +option should be used to insure the temperature is correctly normalized. .. note:: diff --git a/doc/src/fix_msst.rst b/doc/src/fix_msst.rst index 14158227d0..e3996776a1 100644 --- a/doc/src/fix_msst.rst +++ b/doc/src/fix_msst.rst @@ -131,20 +131,29 @@ command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + The progress of the MSST can be monitored by printing the global scalar and global vector quantities computed by the fix. -The scalar is the cumulative energy change due to the fix. This is -also the energy added to the potential energy by the -:doc:`fix_modify ` *energy* command. With this command, the -thermo keyword *etotal* prints the conserved quantity of the MSST -dynamic equations. This can be used to test if the MD timestep is -sufficiently small for accurate integration of the dynamic -equations. See also :doc:`thermo_style ` command. +As mentioned above, the scalar is the cumulative energy change due to +the fix. By monitoring the thermodynamic *econserve* output, this can +be used to test if the MD timestep is sufficiently small for accurate +integration of the dynamic equations. -The global vector contains four values in this order: +The global vector contains four values in the following order. The +vector values output by this fix are "intensive". -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*] +[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, +*lagrangian_position*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). 2. *drayleigh* is the departure from the Rayleigh line (pressure units). @@ -157,17 +166,11 @@ headers, the following LAMMPS commands are suggested: .. code-block:: LAMMPS fix msst all msst z - fix_modify msst energy yes variable dhug equal f_msst[1] variable dray equal f_msst[2] variable lgr_vel equal f_msst[3] variable lgr_pos equal f_msst[4] - thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst - -These fixes compute a global scalar and a global vector of 4 -quantities, which can be accessed by various :doc:`output commands -`. The scalar values calculated by this fix are -"extensive"; the vector values are "intensive". + thermo_style custom step temp ke pe lz pzz econserve v_dhug v_dray v_lgr_vel v_lgr_pos f_msst Restrictions """""""""""" diff --git a/doc/src/fix_nh.rst b/doc/src/fix_nh.rst index 988a147abe..590211eda7 100644 --- a/doc/src/fix_nh.rst +++ b/doc/src/fix_nh.rst @@ -594,17 +594,20 @@ compute temperature on a subset of atoms. specified by the *press* keyword will be unaffected by the *temp* setting. -The :doc:`fix_modify ` *energy* option is supported by these -fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. +The cumulative energy change in the system imposed by these fixes, via +either thermostatting and/or barostatting, is included in the +:doc:`thermodynamic output ` keywords *ecouple* and +*econserve*. See the :doc:`thermo_style ` doc page for +details. -These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various :doc:`output commands `. -The scalar value calculated by these fixes is "extensive"; the vector -values are "intensive". +These fixes compute a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". -The scalar is the cumulative energy change due to the fix. +These fixes compute also compute a global vector of quantities, which +can be accessed by various :doc:`output commands `. The +vector values are "intensive". The vector stores internal Nose/Hoover thermostat and barostat variables. The number and meaning of the vector values depends on diff --git a/doc/src/fix_nph_asphere.rst b/doc/src/fix_nph_asphere.rst index da0510492e..011630a534 100644 --- a/doc/src/fix_nph_asphere.rst +++ b/doc/src/fix_nph_asphere.rst @@ -87,7 +87,8 @@ It also means that changing attributes of *thermo_temp* or Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read_restart ` +This fix writes the state of the Nose/Hoover barostat to :doc:`binary +restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -101,9 +102,10 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nph ` command. diff --git a/doc/src/fix_nph_body.rst b/doc/src/fix_nph_body.rst index fd517b5243..4c91d28588 100644 --- a/doc/src/fix_nph_body.rst +++ b/doc/src/fix_nph_body.rst @@ -84,7 +84,8 @@ It also means that changing attributes of *thermo_temp* or Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read_restart ` +This fix writes the state of the Nose/Hoover barostat to :doc:`binary +restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -98,9 +99,10 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nph ` command. diff --git a/doc/src/fix_nph_sphere.rst b/doc/src/fix_nph_sphere.rst index 4b76f7252f..6062faa50e 100644 --- a/doc/src/fix_nph_sphere.rst +++ b/doc/src/fix_nph_sphere.rst @@ -100,7 +100,8 @@ It also means that changing attributes of *thermo_temp* or Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read_restart ` +This fix writes the state of the Nose/Hoover barostat to :doc:`binary +restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -114,9 +115,10 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nph ` command. diff --git a/doc/src/fix_nphug.rst b/doc/src/fix_nphug.rst index d55f435d43..776b3e4849 100644 --- a/doc/src/fix_nphug.rst +++ b/doc/src/fix_nphug.rst @@ -168,43 +168,47 @@ specified, then the instantaneous value in the system at the start of the simulation is used. The :doc:`fix_modify ` *temp* and *press* options are -supported by these fixes. You can use them to assign a -:doc:`compute ` you have defined to this fix which will be used -in its thermostatting or barostatting procedure, as described above. -If you do this, note that the kinetic energy derived from the compute +supported by this fix. You can use them to assign a :doc:`compute +` you have defined to this fix which will be used in its +thermostatting or barostatting procedure, as described above. If you +do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by these -fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. Either way, this energy is \*not\* -included in the definition of internal energy E when calculating the value -of Delta in the above equation. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. Note that this energy is \*not\* included in +the definition of internal energy E when calculating the value of +Delta in the above equation. -These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various :doc:`output commands `. -The scalar value calculated by these fixes is "extensive"; the vector -values are "intensive". +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". -The scalar is the cumulative energy change due to the fix. +This fix also computes a global vector of quantities, which can be +accessed by various :doc:`output commands `. The scalar +The vector values are "intensive". -The vector stores three quantities unique to this fix (:math:`\Delta`, Us, and up), -followed by all the internal Nose/Hoover thermostat and barostat -variables defined for :doc:`fix npt `. Delta is the deviation -of the temperature from the target temperature, given by the above equation. -Us and up are the shock and particle velocity corresponding to a steady -shock calculated from the RH conditions. They have units of distance/time. +The vector stores three quantities unique to this fix (:math:`\Delta`, +Us, and up), followed by all the internal Nose/Hoover thermostat and +barostat variables defined for :doc:`fix npt `. Delta is the +deviation of the temperature from the target temperature, given by the +above equation. Us and up are the shock and particle velocity +corresponding to a steady shock calculated from the RH +conditions. They have units of distance/time. Restrictions """""""""""" This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -All the usual restrictions for :doc:`fix npt ` apply, -plus the additional ones mentioned above. +All the usual restrictions for :doc:`fix npt ` apply, plus the +additional ones mentioned above. Related commands """""""""""""""" diff --git a/doc/src/fix_npt_asphere.rst b/doc/src/fix_npt_asphere.rst index de2289a068..f65ecd8d19 100644 --- a/doc/src/fix_npt_asphere.rst +++ b/doc/src/fix_npt_asphere.rst @@ -124,10 +124,10 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix npt ` command. diff --git a/doc/src/fix_npt_body.rst b/doc/src/fix_npt_body.rst index 412d522a45..af0a0fb252 100644 --- a/doc/src/fix_npt_body.rst +++ b/doc/src/fix_npt_body.rst @@ -45,7 +45,8 @@ can also have a bias velocity removed from them before thermostatting takes place; see the description below. Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the :doc:`fix npt ` command. See, for example, discussion of the *temp*\ , +specified by keywords and values documented with the :doc:`fix npt +` command. See, for example, discussion of the *temp*\ , *iso*\ , *aniso*\ , and *dilate* keywords. The particles in the fix group are the only ones whose velocities and @@ -121,10 +122,10 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix npt ` command. diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index 034a2c9c8d..8ef74b25c9 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -487,27 +487,31 @@ compute temperature on a subset of atoms. .. note:: If both the *temp* and *press* keywords are used in a single - thermo_modify command (or in two separate commands), then the order in - which the keywords are specified is important. Note that a :doc:`pressure compute ` defines its own temperature compute as - an argument when it is specified. The *temp* keyword will override - this (for the pressure compute being used by fix npt), but only if the - *temp* keyword comes after the *press* keyword. If the *temp* keyword - comes before the *press* keyword, then the new pressure compute - specified by the *press* keyword will be unaffected by the *temp* - setting. + thermo_modify command (or in two separate commands), then the order + in which the keywords are specified is important. Note that a + :doc:`pressure compute ` defines its own + temperature compute as an argument when it is specified. The + *temp* keyword will override this (for the pressure compute being + used by fix npt), but only if the *temp* keyword comes after the + *press* keyword. If the *temp* keyword comes before the *press* + keyword, then the new pressure compute specified by the *press* + keyword will be unaffected by the *temp* setting. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix, due to +thermostatting and/or barostatting, is included in the +:doc:`thermodynamic output ` keywords *ecouple* and +*econserve*. See the :doc:`thermo_style ` doc page for +details. -This fix computes a global scalar and a global vector of quantities, -which can be accessed by various :doc:`output commands `. -The scalar value calculated by this fix is "extensive"; the vector +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + +This fix also computes a global vector of quantities, which can be +accessed by various :doc:`output commands `. Rhe vector values are "intensive". -The scalar is the cumulative energy change due to the fix. - The vector stores internal Nose/Hoover thermostat and barostat variables. The number and meaning of the vector values depends on which fix is used and the settings for keywords *tchain* and *pchain*\ , diff --git a/doc/src/fix_npt_sphere.rst b/doc/src/fix_npt_sphere.rst index 7363375ff3..dd78cebbf1 100644 --- a/doc/src/fix_npt_sphere.rst +++ b/doc/src/fix_npt_sphere.rst @@ -93,13 +93,14 @@ IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style ` command) with ID = *thermo_temp* -and *thermo_press*. This means you can change the attributes of this -fix's temperature or pressure via the -:doc:`compute_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo_temp* or -*thermo_press* will have no effect on this fix. +the :doc:`thermo_style ` command) with ID = +*thermo_temp* and *thermo_press*. This means you can change the +attributes of this fix's temperature or pressure via the +:doc:`compute_modify ` command or print this +temperature or pressure during thermodynamic output via the +:doc:`thermo_style custom ` command using the +appropriate compute-ID. It also means that changing attributes of +*thermo_temp* or *thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands ` that calculate a temperature @@ -129,18 +130,18 @@ a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* and *press* options are -supported by this fix. You can use them to assign a -:doc:`compute ` you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be +supported by this fix. You can use them to assign a :doc:`compute +` you have defined to this fix which will be used in its +thermostatting or barostatting procedure. If you do this, note that +the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix npt ` command. diff --git a/doc/src/fix_nvt_asphere.rst b/doc/src/fix_nvt_asphere.rst index bb4139d95f..98e8a5b495 100644 --- a/doc/src/fix_nvt_asphere.rst +++ b/doc/src/fix_nvt_asphere.rst @@ -92,19 +92,21 @@ thermal degrees of freedom, and the bias is added back in. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. +This fix writes the state of the Nose/Hoover thermostat to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nvt ` command. diff --git a/doc/src/fix_nvt_body.rst b/doc/src/fix_nvt_body.rst index b608c93f27..02b7d0c66c 100644 --- a/doc/src/fix_nvt_body.rst +++ b/doc/src/fix_nvt_body.rst @@ -89,19 +89,21 @@ thermal degrees of freedom, and the bias is added back in. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. +This fix writes the state of the Nose/Hoover thermostat to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nvt ` command. diff --git a/doc/src/fix_nvt_sllod.rst b/doc/src/fix_nvt_sllod.rst index ff9a4f0d12..9ff22bca09 100644 --- a/doc/src/fix_nvt_sllod.rst +++ b/doc/src/fix_nvt_sllod.rst @@ -122,19 +122,21 @@ thermal degrees of freedom, and the bias is added back in. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. +This fix writes the state of the Nose/Hoover thermostat to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nvt ` command. diff --git a/doc/src/fix_nvt_sllod_eff.rst b/doc/src/fix_nvt_sllod_eff.rst index 09fc1ecff6..e07e990d4b 100644 --- a/doc/src/fix_nvt_sllod_eff.rst +++ b/doc/src/fix_nvt_sllod_eff.rst @@ -41,19 +41,21 @@ velocity. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. +This fix writes the state of the Nose/Hoover thermostat to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nvt/eff ` command. diff --git a/doc/src/fix_nvt_sphere.rst b/doc/src/fix_nvt_sphere.rst index 8226328cea..31c8d91889 100644 --- a/doc/src/fix_nvt_sphere.rst +++ b/doc/src/fix_nvt_sphere.rst @@ -106,19 +106,21 @@ thermal degrees of freedom, and the bias is added back in. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. +This fix writes the state of the Nose/Hoover thermostat to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes the same global scalar and global vector of quantities as does the :doc:`fix nvt ` command. diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index 31aa6074d1..12f22403cd 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -144,16 +144,20 @@ writing the orientation files is given in :ref:`(Wicaksono2) ` Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 of atom interactions with the grain -boundary driving force to the system's potential energy as part of -:doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy of atom interactions with the +grain bounadry driving force 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 +`. -The :doc:`fix_modify ` *respa* option is supported by these -fixes. This allows to set at which level of the :doc:`r-RESPA ` -integrator a fix is adding its forces. Default is the outermost level. +The :doc:`fix_modify ` *respa* option is supported by +these fixes. This allows to set at which level of the :doc:`r-RESPA +` integrator a fix is adding its forces. Default is the +outermost level. This fix calculates a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential @@ -166,13 +170,16 @@ order parameter Xi and normalized order parameter (0 to 1) for each atom. The per-atom values can be accessed on any timestep. 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 MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package +` doc page for more info. This fix should only be used with fcc or bcc lattices. diff --git a/doc/src/fix_orient_eco.rst b/doc/src/fix_orient_eco.rst index 58ff38268f..71d5a6de86 100644 --- a/doc/src/fix_orient_eco.rst +++ b/doc/src/fix_orient_eco.rst @@ -26,22 +26,24 @@ Examples Description """"""""""" -The fix applies a synthetic driving force to a grain boundary which can -be used for the investigation of grain boundary motion. The affiliation -of atoms to either of the two grains forming the grain boundary is -determined from an orientation-dependent order parameter as described -in :ref:`(Ulomek) `. The potential energy of atoms is either increased by an amount -of 0.5*\ *u0* or -0.5*\ *u0* according to the orientation of the surrounding -crystal. This creates a potential energy gradient which pushes atoms near -the grain boundary to orient according to the energetically favorable -grain orientation. This fix is designed for applications in bicrystal system -with one grain boundary and open ends, or two opposite grain boundaries in -a periodic system. In either case, the entire system can experience a -displacement during the simulation which needs to be accounted for in the -evaluation of the grain boundary velocity. While the basic method is -described in :ref:`(Ulomek) `, the implementation follows the efficient -implementation from :ref:`(Schratt & Mohles) `. The synthetic potential energy added to an -atom j is given by the following formulas +The fix applies a synthetic driving force to a grain boundary which +can be used for the investigation of grain boundary motion. The +affiliation of atoms to either of the two grains forming the grain +boundary is determined from an orientation-dependent order parameter +as described in :ref:`(Ulomek) `. The potential energy of +atoms is either increased by an amount of 0.5*\ *u0* or -0.5*\ *u0* +according to the orientation of the surrounding crystal. This creates +a potential energy gradient which pushes atoms near the grain boundary +to orient according to the energetically favorable grain +orientation. This fix is designed for applications in bicrystal system +with one grain boundary and open ends, or two opposite grain +boundaries in a periodic system. In either case, the entire system can +experience a displacement during the simulation which needs to be +accounted for in the evaluation of the grain boundary velocity. While +the basic method is described in :ref:`(Ulomek) `, the +implementation follows the efficient implementation from +:ref:`(Schratt & Mohles) `. The synthetic potential energy +added to an atom j is given by the following formulas .. math:: @@ -60,60 +62,69 @@ atom j is given by the following formulas which are fully explained in :ref:`(Ulomek) ` and :ref:`(Schratt & Mohles) `. -The force on each atom is the negative gradient of the synthetic potential energy. It -depends on the surrounding of this atom. An atom far from the grain boundary does not -experience a synthetic force as its surrounding is that of an oriented single crystal -and thermal fluctuations are masked by the parameter *eta*\ . Near the grain boundary -however, the gradient is nonzero and synthetic force terms are computed. -The orientationsFile specifies the perfect oriented crystal basis vectors for the -two adjoining crystals. The first three lines (line=row vector) for the energetically penalized and the -last three lines for the energetically favored grain assuming *u0* is positive. For -negative *u0*, this is reversed. With the *cutoff* parameter, the size of the region around -each atom which is used in the order parameter computation is defined. The cutoff must be -smaller than the interaction range of the MD potential. It should at -least include the nearest neighbor shell. For high temperatures or low angle -grain boundaries, it might be beneficial to increase the cutoff in order to get a more -precise identification of the atoms surrounding. However, computation time will -increase as more atoms are considered in the order parameter and force computation. -It is also worth noting that the cutoff radius must not exceed the communication -distance for ghost atoms in LAMMPS. With orientationsFile, the -6 oriented crystal basis vectors is specified. Each line of the input file -contains the three components of a primitive lattice vector oriented according to -the grain orientation in the simulation box. The first (last) three lines correspond -to the primitive lattice vectors of the first (second) grain. An example for -a :math:`\Sigma\langle001\rangle` mis-orientation is given at the end. - -If no synthetic energy difference between the grains is created, :math:`u0=0`, the -force computation is omitted. In this case, still, the order parameter of the -driving force is computed and can be used to track the grain boundary motion throughout the -simulation. - +The force on each atom is the negative gradient of the synthetic +potential energy. It depends on the surrounding of this atom. An atom +far from the grain boundary does not experience a synthetic force as +its surrounding is that of an oriented single crystal and thermal +fluctuations are masked by the parameter *eta*\ . Near the grain +boundary however, the gradient is nonzero and synthetic force terms +are computed. The orientationsFile specifies the perfect oriented +crystal basis vectors for the two adjoining crystals. The first three +lines (line=row vector) for the energetically penalized and the last +three lines for the energetically favored grain assuming *u0* is +positive. For negative *u0*, this is reversed. With the *cutoff* +parameter, the size of the region around each atom which is used in +the order parameter computation is defined. The cutoff must be smaller +than the interaction range of the MD potential. It should at least +include the nearest neighbor shell. For high temperatures or low angle +grain boundaries, it might be beneficial to increase the cutoff in +order to get a more precise identification of the atoms +surrounding. However, computation time will increase as more atoms are +considered in the order parameter and force computation. It is also +worth noting that the cutoff radius must not exceed the communication +distance for ghost atoms in LAMMPS. With orientationsFile, the 6 +oriented crystal basis vectors is specified. Each line of the input +file contains the three components of a primitive lattice vector +oriented according to the grain orientation in the simulation box. The +first (last) three lines correspond to the primitive lattice vectors +of the first (second) grain. An example for a +:math:`\Sigma\langle001\rangle` mis-orientation is given at the end. +If no synthetic energy difference between the grains is created, +:math:`u0=0`, the force computation is omitted. In this case, still, +the order parameter of the driving force is computed and can be used +to track the grain boundary motion throughout the simulation. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc: `binary restart files `. +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 of atom interactions with the grain boundary -driving force to the system's potential energy as part of thermodynamic output. -The total sum of added synthetic potential energy is computed and can be accessed -by various output options. The order parameter as well as the thermally masked -output parameter are stored in per-atom arrays and can also be accessed by various -:doc:`output commands `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy of atom interactions with the +grain bounadry driving force 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 +`. -No parameter of this fix can be used with the start/stop keywords of the run command. This fix is -not invoked during energy minimization. +This fix calculates a per-atom array with 2 columns, which can be +accessed by indices 1-1 by any command that uses per-atom values from +a fix as input. See the :doc:`Howto output ` doc page +for an overview of LAMMPS output options. +The first column is the order parameter for each atom; the second is +the thermal masking value for each atom. Both are described above. +No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if LAMMPS was -built with that package. See the :doc:`Build package ` doc page for more info. - +This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index e2eadfe6bd..67118b6bfa 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -66,7 +66,8 @@ plumed fix in the LAMMPS input. The *plumedfile* keyword allows the user to specify the name of the PLUMED input file. Instructions as to what should be included in a -plumed input file can be found in the `documentation for PLUMED `_ +plumed input file can be found in the `documentation for PLUMED +`_ The *outfile* keyword allows the user to specify the name of a file in which to output the PLUMED log. This log file normally just repeats the @@ -78,31 +79,38 @@ be specified by the user in the PLUMED input file. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -When performing a restart of a calculation that involves PLUMED you must -include a RESTART command in the PLUMED input file as detailed in the -`PLUMED documentation `_. When the restart command is found in -the PLUMED input PLUMED will append to the files that were generated in -the run that was performed previously. No part of the PLUMED restart -data is included in the LAMMPS restart files. Furthermore, any history -dependent bias potentials that were accumulated in previous calculations -will be read in when the RESTART command is included in the PLUMED -input. +When performing a restart of a calculation that involves PLUMED you +must include a RESTART command in the PLUMED input file as detailed in +the `PLUMED documentation `_. When the restart command +is found in the PLUMED input PLUMED will append to the files that were +generated in the run that was performed previously. No part of the +PLUMED restart data is included in the LAMMPS restart files. +Furthermore, any history dependent bias potentials that were +accumulated in previous calculations will be read in when the RESTART +command is included in the PLUMED input. -The :doc:`fix_modify ` *energy* option is not supported by -this fix. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy change from the biasing force added by +PLUMED 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 `. -Nothing is computed by this fix that can be accessed by any of the -:doc:`output commands ` within LAMMPS. All the quantities -of interest can be output by commands that are native to PLUMED, -however. +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the PLUMED +energy mentioned above. The scalar value calculated by this fix is +"extensive". + +Note that other quantities of interest can be output by commands that +are native to PLUMED. Restrictions """""""""""" This fix is part of the USER-PLUMED package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -There can only be one plumed fix active at a time. +There can only be one fix plumed command active at a time. Related commands """""""""""""""" diff --git a/doc/src/fix_precession_spin.rst b/doc/src/fix_precession_spin.rst index 0cb8cc1148..17231d5686 100644 --- a/doc/src/fix_precession_spin.rst +++ b/doc/src/fix_precession_spin.rst @@ -42,11 +42,12 @@ Examples Description """"""""""" -This fix applies a precession torque to each magnetic spin in the group. +This fix applies a precession torque to each magnetic spin in the +group. -Style *zeeman* is used for the simulation of the interaction -between the magnetic spins in the defined group and an external -magnetic field: +Style *zeeman* is used for the simulation of the interaction between +the magnetic spins in the defined group and an external magnetic +field: .. math:: @@ -62,17 +63,17 @@ with: The field value in Tesla is multiplied by the gyromagnetic ratio, :math:`g \cdot \mu_B/\hbar`, converting it into a precession frequency in -rad.THz (in metal units and with :math:`\mu_B = 5.788\cdot 10^{-5}` eV/T). +rad.THz (in metal units and with :math:`\mu_B = 5.788\cdot 10^{-5}` +eV/T). -As a comparison, the figure below displays the simulation of a -single spin (of norm :math:`\mu_i = 1.0`) submitted to an external -magnetic field of :math:`\vert B_{ext}\vert = 10.0\; \mathrm{Tesla}` (and oriented along the z -axis). -The upper plot shows the average magnetization along the -external magnetic field axis and the lower plot the Zeeman -energy, both as a function of temperature. -The reference result is provided by the plot of the Langevin -function for the same parameters. +As a comparison, the figure below displays the simulation of a single +spin (of norm :math:`\mu_i = 1.0`) submitted to an external magnetic +field of :math:`\vert B_{ext}\vert = 10.0\; \mathrm{Tesla}` (and +oriented along the z axis). The upper plot shows the average +magnetization along the external magnetic field axis and the lower +plot the Zeeman energy, both as a function of temperature. The +reference result is provided by the plot of the Langevin function for +the same parameters. .. image:: JPG/zeeman_langevin.jpg :align: center @@ -88,10 +89,12 @@ for the magnetic spins in the defined group: .. math:: - H_{aniso} = -\sum_{{ i}=1}^{N} K_{an}(\mathbf{r}_{i})\, \left( \vec{s}_{i} \cdot \vec{n}_{i} \right)^2 + H_{aniso} = -\sum_{{ i}=1}^{N} K_{an}(\mathbf{r}_{i})\, \left( + \vec{s}_{i} \cdot \vec{n}_{i} \right)^2 -with :math:`n` defining the direction of the anisotropy, and :math:`K` (in eV) its intensity. -If :math:`K > 0`, an easy axis is defined, and if :math:`K < 0`, an easy plane is defined. +with :math:`n` defining the direction of the anisotropy, and :math:`K` +(in eV) its intensity. If :math:`K > 0`, an easy axis is defined, and +if :math:`K < 0`, an easy plane is defined. Style *cubic* is used to simulate a cubic anisotropy, with three possible easy axis for the magnetic spins in the defined group: @@ -110,17 +113,17 @@ possible easy axis for the magnetic spins in the defined group: \left(\vec{s}_{i} \cdot \vec{n_2} \right)^2 \left(\vec{s}_{i} \cdot \vec{n_3} \right)^2 -with :math:`K_1` and :math:`K_{2c}` (in eV) the intensity coefficients and -:math:`\vec{n}_1`, :math:`\vec{n}_2` and :math:`\vec{n}_3` defining the three anisotropic directions -defined by the command (from *n1x* to *n3z*). -For :math:`\vec{n}_1 = (1 0 0)`, :math:`\vec{n}_2 = (0 1 0)`, and :math:`\vec{n}_3 = (0 0 1)`, :math:`K_1 < 0` defines an +with :math:`K_1` and :math:`K_{2c}` (in eV) the intensity coefficients +and :math:`\vec{n}_1`, :math:`\vec{n}_2` and :math:`\vec{n}_3` +defining the three anisotropic directions defined by the command (from +*n1x* to *n3z*). For :math:`\vec{n}_1 = (1 0 0)`, :math:`\vec{n}_2 = +(0 1 0)`, and :math:`\vec{n}_3 = (0 0 1)`, :math:`K_1 < 0` defines an iron type anisotropy (easy axis along the :math:`(0 0 1)`-type cube -edges), and :math:`K_1 > 0` defines a nickel type anisotropy (easy axis -along the :math:`(1 1 1)`-type cube diagonals). -:math:`K_2^c > 0` also defines easy axis along the :math:`(1 1 1)`-type cube -diagonals. -See chapter 2 of :ref:`(Skomski) ` for more details on cubic -anisotropies. +edges), and :math:`K_1 > 0` defines a nickel type anisotropy (easy +axis along the :math:`(1 1 1)`-type cube diagonals). :math:`K_2^c > +0` also defines easy axis along the :math:`(1 1 1)`-type cube +diagonals. See chapter 2 of :ref:`(Skomski) ` for more +details on cubic anisotropies. In all cases, the choice of :math:`(x y z)` only imposes the vector directions for the forces. Only the direction of the vector is @@ -134,32 +137,35 @@ Those styles can be combined within one single command line. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -By default, the energy associated to this fix is not added to the potential -energy of the system. -The :doc:`fix_modify ` *energy* option is supported by this fix -to add this magnetic potential energy to the potential energy of the system, +No information about this fix is written to :doc:`binary restart files +`. -.. code-block:: LAMMPS - - fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 - fix_modify 1 energy yes +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy assocatiated with the spin precession +torque 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 `. This fix computes a global scalar which can be accessed by various -:doc:`output commands `. +:doc:`output commands `. The scalar is the potential +energy (in energy units) discussed in the previous paragraph. The +scalar value is an "extensive" quantity. -No information about this fix is written to :doc:`binary restart files `. +No information about this fix is written to :doc:`binary restart files +`. Restrictions """""""""""" The *precession/spin* style is part of the SPIN package. This style is only enabled if LAMMPS was built with this package, and if the -atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package +` doc page for more info. -The *precession/spin* style can only be declared once. If more -than one precession type (for example combining an anisotropy and a Zeeman interactions) -has to be declared, they have to be chained in the same command -line (as shown in the examples above). +The *precession/spin* style can only be declared once. If more than +one precession type (for example combining an anisotropy and a Zeeman +interactions) has to be declared, they have to be chained in the same +command line (as shown in the examples above). Related commands """""""""""""""" diff --git a/doc/src/fix_qbmsst.rst b/doc/src/fix_qbmsst.rst index 8444312681..ef820a68d6 100644 --- a/doc/src/fix_qbmsst.rst +++ b/doc/src/fix_qbmsst.rst @@ -152,13 +152,30 @@ Because the state of the random number generator is not written to "exactly" in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , *f_max*, -*N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system is -compressed during the first run. +should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , +*f_max*, *N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system +is compressed during the first run. + +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". The progress of the QBMSST can be monitored by printing the global -scalar and global vector quantities computed by the fix. The global -vector contains five values in this order: +scalar and global vector quantities computed by the fix. + +As mentioned above, the scalar is the cumulative energy change due to +the fix. By monitoring the thermodynamic *econserve* output, this can +be used to test if the MD timestep is sufficiently small for accurate +integration of the dynamic equations. + +The global vector contains five values in the following order. The +vector values output by this fix are "intensive". [\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*, *quantum_temperature*] @@ -170,29 +187,21 @@ vector contains five values in this order: 5. *quantum_temperature* is the temperature of the quantum thermal bath :math:`T^{qm}`. To print these quantities to the log file with descriptive column -headers, the following LAMMPS commands are suggested. Here the -:doc:`fix_modify ` energy command is also enabled to allow -the thermo keyword *etotal* to print the quantity :math:`E^{tot}`. See -also the :doc:`thermo_style ` command. +headers, the following LAMMPS commands are suggested. .. parsed-literal:: fix fix_id all msst z - fix_modify fix_id energy yes variable dhug equal f_fix_id[1] variable dray equal f_fix_id[2] variable lgr_vel equal f_fix_id[3] variable lgr_pos equal f_fix_id[4] variable T_qm equal f_fix_id[5] - thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id + thermo_style custom step temp ke pe lz pzz econserve v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id -The global scalar under the entry f_fix_id is the quantity of thermo -energy as an extra part of :math:`E^{tot}`. This global scalar and the -vector of 5 quantities can be accessed by various :doc:`output commands `. -It is worth noting that the temp keyword -under the :doc:`thermo_style ` command print the -instantaneous classical temperature :math:`T^{cl}` as described -in the command :doc:`fix qtb `. +It is worth noting that the temp keyword for the :doc:`thermo_style +` command prints the instantaneous classical temperature +:math:`T^{cl}` as described by the :doc:`fix qtb ` command. ---------- @@ -200,7 +209,8 @@ Restrictions """""""""""" This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID diff --git a/doc/src/fix_restrain.rst b/doc/src/fix_restrain.rst index 1f127bce2f..84e525cdf2 100644 --- a/doc/src/fix_restrain.rst +++ b/doc/src/fix_restrain.rst @@ -219,15 +219,19 @@ current dihedral angle :math:`\phi` is equal to :math:`\phi_0`. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 associated with this fix to the -system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy associated with this fix 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 `. 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 is adding its forces. Default is the outermost level. +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. .. note:: diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index 38bde220ef..cffba5bafa 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -45,11 +45,34 @@ temperatures :ref:`(Pedersen) `. An example of using the interface pinning method is located in the *examples/USER/misc/rhok* directory. +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 calculated by the fix 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 `. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the potential +energy discussed in the preceding paragraph. The scalar stored by +this fix is "extensive". + +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 is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index efadc5dd13..526d2d53e3 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -752,25 +752,17 @@ rigid/nvt. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about the 4 NVE rigid styles is written to :doc:`binary restart files `. The exception is if the *infile* or -*mol* keyword is used, in which case an auxiliary file is written out -with rigid body information each time a restart file is written, as +No information about the 4 NVE rigid styles is written to :doc:`binary +restart files `. The exception is if the *infile* or *mol* +keyword is used, in which case an auxiliary file is written out with +rigid body information each time a restart file is written, as explained above for the *infile* keyword. For the 2 NVT rigid styles, -the state of the Nose/Hoover thermostat is written to :doc:`binary restart files `. Ditto for the 4 NPT and NPH rigid styles, and -the state of the Nose/Hoover barostat. See the -:doc:`read_restart ` command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The :doc:`fix_modify ` *energy* option is supported by the 6 -NVT, NPT, NPH rigid styles to add the energy change induced by the -thermostatting to the system's potential energy as part of -:doc:`thermodynamic output `. - -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to keeping the objects rigid to the -system's virial as part of :doc:`thermodynamic output `. -The default is *virial yes* +the state of the Nose/Hoover thermostat is written to :doc:`binary +restart files `. Ditto for the 4 NPT and NPH rigid styles, +and the state of the Nose/Hoover barostat. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* and *press* options are supported by the 4 NPT and NPH rigid styles to change the computes @@ -783,6 +775,12 @@ all rigid styles to set whether per-body forces and torques are computed early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage or the timestep, respectively. +The cumulative energy change in the system imposed by the 6 NVT, NPT, +NPH rigid fixes, via either thermostatting and/or barostatting, is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. + The 2 NVE rigid fixes compute a global scalar which can be accessed by various :doc:`output commands `. The scalar value calculated by these fixes is "intensive". The scalar is the current @@ -798,13 +796,14 @@ are removed from this calculation, but only for the *rigid* and The 6 NVT, NPT, NPH rigid fixes compute a global scalar which can be accessed by various :doc:`output commands `. The scalar -value calculated by these fixes is "extensive". The scalar is the -cumulative energy change due to the thermostatting and barostatting -the fix performs. +is the same cumulative energy change due to these fixes described +above. The scalar value calculated by this fix is "extensive". All of the *rigid* styles (not the *rigid/small* styles) compute a -global array of values which can be accessed by various :doc:`output commands `. Similar information about the bodies -defined by the *rigid/small* styles can be accessed via the :doc:`compute rigid/local ` command. +global array of values which can be accessed by various :doc:`output +commands `. Similar information about the bodies +defined by the *rigid/small* styles can be accessed via the +:doc:`compute rigid/local ` command. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 diff --git a/doc/src/fix_spring.rst b/doc/src/fix_spring.rst index 06b9279c4d..007f2cd278 100644 --- a/doc/src/fix_spring.rst +++ b/doc/src/fix_spring.rst @@ -100,11 +100,14 @@ last example holds the ion a distance 5 away from the pore axis Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 energy stored in the spring to the system's potential -energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy stored in the spring 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 `. The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` diff --git a/doc/src/fix_spring_chunk.rst b/doc/src/fix_spring_chunk.rst index a2d9945a0b..3d3069c53e 100644 --- a/doc/src/fix_spring_chunk.rst +++ b/doc/src/fix_spring_chunk.rst @@ -62,9 +62,11 @@ will define the same number of chunks. The restart data is only applied when the number of chunks matches. Otherwise the center of mass coordinates are recomputed. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy stored in all the springs to the system's potential -energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy stored in all the springs 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 `. The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` diff --git a/doc/src/fix_spring_self.rst b/doc/src/fix_spring_self.rst index 8c5442943f..6cf0a9e0e7 100644 --- a/doc/src/fix_spring_self.rst +++ b/doc/src/fix_spring_self.rst @@ -44,15 +44,18 @@ plane, respectively. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the original coordinates of tethered atoms to :doc:`binary restart files `, so that the spring effect will be the -same in a restarted simulation. See the -:doc:`read_restart ` command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. +This fix writes the original coordinates of tethered atoms to +:doc:`binary restart files `, so that the spring effect will +be the same in a restarted simulation. See the :doc:`read_restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy stored in the per-atom springs to the system's -potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy stored in the per-atom springs 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 `. The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` diff --git a/doc/src/fix_temp_berendsen.rst b/doc/src/fix_temp_berendsen.rst index ae9f8a933a..59f4de64a9 100644 --- a/doc/src/fix_temp_berendsen.rst +++ b/doc/src/fix_temp_berendsen.rst @@ -132,14 +132,15 @@ you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the diff --git a/doc/src/fix_temp_csvr.rst b/doc/src/fix_temp_csvr.rst index 440a264ed5..ae276f9fc5 100644 --- a/doc/src/fix_temp_csvr.rst +++ b/doc/src/fix_temp_csvr.rst @@ -142,32 +142,36 @@ ensemble. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -These fixes write the cumulative global energy change and the -random number generator states to :doc:`binary restart files `. -See the :doc:`read_restart ` command for info on how to -re-specify a fix in an input script that reads a restart file, -so that the selected fix continues in an uninterrupted fashion. The -random number generator state can only be restored when the number -of processors remains unchanged from what is recorded in the restart file. - -No information about these fixes are written to :doc:`binary restart files `. +These fixes write the cumulative global energy change and the random +number generator states to :doc:`binary restart files `. See +the :doc:`read_restart ` command for info on how to +re-specify a fix in an input script that reads a restart file, so that +the selected fix continues in an uninterrupted fashion. The random +number generator state can only be restored when the number of +processors remains unchanged from what is recorded in the restart +file. The :doc:`fix_modify ` *temp* option is supported by these -fixes. You can use it to assign a temperature :doc:`compute ` -you have defined to these fixes which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -these fixes and by the compute should be the same. +fixes. You can use it to assign a temperature :doc:`compute +` you have defined to these fixes which will be used in its +thermostatting procedure, as described above. For consistency, the +group used by these fixes and by the compute should be the same. -These fixes can ramp its target temperature over multiple runs, using -the *start* and *stop* keywords of the :doc:`run ` command. See the -:doc:`run ` command for details of how to do this. - -These fixes are not invoked during :doc:`energy minimization `. +The cumulative energy change in the system imposed by these fixes is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. These fixes compute a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to the fix. The scalar value calculated by this fix -is "extensive". +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + +These fixes can ramp their target temperature over multiple runs, +using the *start* and *stop* keywords of the :doc:`run ` command. +See the :doc:`run ` command for details of how to do this. + +These fixes are not invoked during :doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/fix_temp_rescale.rst b/doc/src/fix_temp_rescale.rst index b00d8e446a..125f74306e 100644 --- a/doc/src/fix_temp_rescale.rst +++ b/doc/src/fix_temp_rescale.rst @@ -100,13 +100,13 @@ ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style ` command) with ID = *thermo_temp*. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -:doc:`compute_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo_temp* will have no -effect on this fix. +the :doc:`thermo_style ` command) with ID = +*thermo_temp*. This means you can change the attributes of this fix's +temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify +` command or print this temperature during +thermodynamic output via the :doc:`thermo_style custom ` +command using the appropriate compute-ID. It also means that changing +attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands ` that calculate a temperature @@ -114,13 +114,14 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix_modify ` command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. +default, but only if the :doc:`fix_modify ` command is +used to assign a temperature compute to this fix that includes such a +bias term. See the doc pages for individual :doc:`compute commands +` to determine which ones include a bias. In this case, the +thermostat works in the following manner: the current temperature is +calculated taking the bias into account, bias is removed from each +atom, thermostatting is performed on the remaining thermal degrees of +freedom, and the bias is added back in. ---------- @@ -139,15 +140,15 @@ you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of :doc:`thermodynamic output -`. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the diff --git a/doc/src/fix_temp_rescale_eff.rst b/doc/src/fix_temp_rescale_eff.rst index 4ad175b62f..01017c0267 100644 --- a/doc/src/fix_temp_rescale_eff.rst +++ b/doc/src/fix_temp_rescale_eff.rst @@ -38,7 +38,8 @@ particles. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +No information about this fix is written to :doc:`binary restart files +`. The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` @@ -46,14 +47,15 @@ you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix_modify ` *energy* option is supported by this -fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of :doc:`thermodynamic output `. +The cumulative energy change in the system imposed by this fix is +included in the :doc:`thermodynamic output ` keywords +*ecouple* and *econserve*. See the :doc:`thermo_style ` +doc page for details. This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the diff --git a/doc/src/fix_tgnh_drude.rst b/doc/src/fix_tgnh_drude.rst index 92781cd9e8..6d11539dd2 100644 --- a/doc/src/fix_tgnh_drude.rst +++ b/doc/src/fix_tgnh_drude.rst @@ -218,10 +218,10 @@ a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. The :doc:`fix_modify ` *temp* and *press* options are -supported by these fixes. You can use them to assign a -:doc:`compute ` you have defined to this fix which will be used -in its thermostatting or barostatting procedure, as described above. -If you do this, note that the kinetic energy derived from the compute +supported by these fixes. You can use them to assign a :doc:`compute +` you have defined to this fix which will be used in its +thermostatting or barostatting procedure, as described above. If you +do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. @@ -229,42 +229,49 @@ compute temperature on a subset of atoms. .. note:: If both the *temp* and *press* keywords are used in a single - thermo_modify command (or in two separate commands), then the order in - which the keywords are specified is important. Note that a :doc:`pressure compute ` defines its own temperature compute as - an argument when it is specified. The *temp* keyword will override - this (for the pressure compute being used by fix npt), but only if the - *temp* keyword comes after the *press* keyword. If the *temp* keyword - comes before the *press* keyword, then the new pressure compute - specified by the *press* keyword will be unaffected by the *temp* - setting. + thermo_modify command (or in two separate commands), then the order + in which the keywords are specified is important. Note that a + :doc:`pressure compute ` defines its own + temperature compute as an argument when it is specified. The + *temp* keyword will override this (for the pressure compute being + used by fix npt), but only if the *temp* keyword comes after the + *press* keyword. If the *temp* keyword comes before the *press* + keyword, then the new pressure compute specified by the *press* + keyword will be unaffected by the *temp* setting. -The :doc:`fix_modify ` *energy* option is supported by these -fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -:doc:`thermodynamic output `. +The cumulative energy change in the system imposed by these fixes, due +to thermostatting and/or barostating, are included in the +:doc:`thermodynamic output ` keywords *ecouple* and +*econserve*. See the :doc:`thermo_style ` doc page for +details. -These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various :doc:`output commands `. -The scalar value calculated by these fixes is "extensive"; the vector -values are "intensive". -The scalar is the cumulative energy change due to the fix. -The vector stores the three temperatures :math:`T_\mathrm{M}`, :math:`T_\mathrm{R}` and :math:`T_\mathrm{D}`. +These fixes compute a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the same +cumulative energy change due to this fix described in the previous +paragraph. The scalar value calculated by this fix is "extensive". + +These fixes also compute a global vector of quantities, which can be +accessed by various :doc:`output commands `. The vector +values are "intensive". The vector stores the three temperatures +:math:`T_\mathrm{M}`, :math:`T_\mathrm{R}` and :math:`T_\mathrm{D}`. These fixes can ramp their external temperature and pressure over -multiple runs, using the *start* and *stop* keywords of the -:doc:`run ` command. See the :doc:`run ` command for details of -how to do this. +multiple runs, using the *start* and *stop* keywords of the :doc:`run +` command. See the :doc:`run ` command for details of how +to do this. -These fixes are not invoked during :doc:`energy minimization `. +These fixes are not invoked during :doc:`energy minimization +`. ---------- Restrictions """""""""""" -These fixes are only available when LAMMPS was built with the USER-DRUDE package. -These fixes cannot be used with dynamic groups as defined by the :doc:`group ` command. -These fixes cannot be used in 2D simulations. +These fixes are only available when LAMMPS was built with the +USER-DRUDE package. These fixes cannot be used with dynamic groups as +defined by the :doc:`group ` command. These fixes cannot be +used in 2D simulations. *X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index 08bd6ff2a8..d569f707af 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -89,13 +89,14 @@ time: \lambda(\tau) = \tau -where :math:`\tau` is the scaled time variable *t/t_s*. The option *2* performs -the lambda switching at a rate defined by the following switching -function +where :math:`\tau` is the scaled time variable *t/t_s*. The option *2* +performs the lambda switching at a rate defined by the following +switching function .. math:: - \lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 - 420 \tau + 126 \right) + \lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 - + 420 \tau + 126 \right) This function has zero slope as lambda approaches its extreme values (0 and 1), according to :ref:`de Koning ` this results in @@ -106,36 +107,43 @@ increase in computational resources cost. .. note:: - As described in :ref:`Freitas `, it is important to keep the - center-of-mass fixed during the thermodynamic integration. A nonzero - total velocity will result in divergences during the integration due - to the fact that the atoms are 'attached' to their equilibrium - positions by the Einstein crystal. Check the option *zero* of :doc:`fix langevin ` and :doc:`velocity `. The use of - the Nose-Hoover thermostat (:doc:`fix nvt `) is *NOT* - recommended due to its well documented issues with the canonical - sampling of harmonic degrees of freedom (notice that the *chain* - option will *NOT* solve this problem). The Langevin thermostat (:doc:`fix langevin `) correctly thermostats the system and we - advise its usage with ti/spring command. + As described in :ref:`Freitas `, it is important to keep + the center-of-mass fixed during the thermodynamic integration. A + nonzero total velocity will result in divergences during the + integration due to the fact that the atoms are 'attached' to their + equilibrium positions by the Einstein crystal. Check the option + *zero* of :doc:`fix langevin ` and :doc:`velocity + `. The use of the Nose-Hoover thermostat (:doc:`fix nvt + `) is *NOT* recommended due to its well documented issues + with the canonical sampling of harmonic degrees of freedom (notice + that the *chain* option will *NOT* solve this problem). The + Langevin thermostat (:doc:`fix langevin `) correctly + thermostats the system and we advise its usage with ti/spring + command. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the original coordinates of tethered atoms to :doc:`binary restart files `, so that the spring effect will be the -same in a restarted simulation. See the :doc:`read restart ` command for info on how to re-specify a fix -in an input script that reads a restart file, so that the operation of -the fix continues in an uninterrupted fashion. +This fix writes the original coordinates of tethered atoms to +:doc:`binary restart files `, so that the spring effect will +be the same in a restarted simulation. See the :doc:`read restart +` command for info on how to re-specify a fix in an +input script that reads a restart file, so that the operation of the +fix continues in an uninterrupted fashion. -The :doc:`fix modify ` *energy* option is supported by this -fix to add the energy stored in the per-atom springs to the system's -potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy stored in the per-atom springs 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 `. This fix computes a global scalar and a global vector quantities which can be accessed by various :doc:`output commands `. The -scalar is an energy which is the sum of the spring energy for each -atom, where the per-atom energy is 0.5 \* k \* r\^2. The vector has 2 -positions, the first one is the coupling parameter lambda and the -second one is the time derivative of lambda. The scalar and vector -values calculated by this fix are "extensive". +scalar is the sum of the spring energy for each atom, where the +per-atom energy is 0.5 \* k \* r\^2. The vector has 2 positions, the +first one is the coupling parameter lambda and the second one is the +time derivative of lambda. 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. diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index 39ff879138..0bd7f241dd 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -331,23 +331,29 @@ perturbation on the particles: Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +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 energy of interaction between atoms and each wall to -the system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy of interaction between atoms and all the +specified walls 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 `. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the interaction between -atoms and each wall to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution due to the interaction between atoms +and each wall to the system's virial as part of :doc:`thermodynamic +output `. The default is *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 is adding its forces. Default is the outermost level. +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 +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 diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index 2bab8c6056..c3e8a9affb 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -56,20 +56,27 @@ Description """"""""""" Fix *wall/ees* bounds the simulation domain on one or more of its -faces with a flat wall that interacts with the ellipsoidal atoms in the -group by generating a force on the atom in a direction perpendicular to -the wall and a torque parallel with the wall. The energy of -wall-particle interactions E is given by: +faces with a flat wall that interacts with the ellipsoidal atoms in +the group by generating a force on the atom in a direction +perpendicular to the wall and a torque parallel with the wall. The +energy of wall-particle interactions E is given by: .. math:: - E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c + E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 + \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 + \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r + \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ + \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 + \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n + < r < r_c -Introduced by Babadi and Ejtehadi in :ref:`(Babadi) `. Here, -*r* is the distance from the particle to the wall at position *coord*\ , -and Rc is the *cutoff* distance at which the particle and wall no -longer interact. Also, :math:`\sigma_n` is the distance between center of -ellipsoid and the nearest point of its surface to the wall as shown below. +Introduced by Babadi and Ejtehadi in :ref:`(Babadi) +`. Here, *r* is the distance from the particle to the +wall at position *coord*\ , and Rc is the *cutoff* distance at which +the particle and wall no longer interact. Also, :math:`\sigma_n` is +the distance between center of ellipsoid and the nearest point of its +surface to the wall as shown below. .. image:: JPG/fix_wall_ees_image.jpg :align: center @@ -85,13 +92,15 @@ pre-factor is .. math:: - 8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon \quad \sigma_a \quad \sigma_b \quad \sigma_c + 8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon + \quad \sigma_a \quad \sigma_b \quad \sigma_c -where :math:`\epsilon` is the LJ energy parameter for the constituent LJ -particles and :math:`\sigma_a`, :math:`\sigma_b`, and :math:`\sigma_c` -are the radii of the ellipsoidal particles. :math:`\rho_{wall}` and -:math:`\rho_{ellipsoid}` are the number density of the constituent -particles, in the wall and ellipsoid respectively, in units of 1/volume. +where :math:`\epsilon` is the LJ energy parameter for the constituent +LJ particles and :math:`\sigma_a`, :math:`\sigma_b`, and +:math:`\sigma_c` are the radii of the ellipsoidal +particles. :math:`\rho_{wall}` and :math:`\rho_{ellipsoid}` are the +number density of the constituent particles, in the wall and ellipsoid +respectively, in units of 1/volume. .. note:: @@ -106,16 +115,61 @@ Fix *wall/region/ees* treats the surface of the geometric region defined by the *region-ID* as a bounding wall which interacts with nearby ellipsoidal particles according to the EES potential introduced above. -Other details of this command are the same as for the :doc:`fix wall/region ` command. One may also find an example +Other details of this command are the same as for the :doc:`fix +wall/region ` command. One may also find an example of using this fix in the examples/USER/misc/ees/ directory. +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about these fixes are written to :doc:`binary restart +files `. + +The :doc:`fix_modify ` *energy* option is supported by +these fixes to add the energy of interaction between atoms and all the +specified walls or region wall to the global potential energy of the +system as part of :doc:`thermodynamic output `. The +default settings for thes fixes are :doc:`fix_modify energy no +`. + +The :doc:`fix_modify ` *virial* option is supported by +these rixes to add the contribution due to the interaction between +atoms and each wall to the system's virial as part of +:doc:`thermodynamic output `. The default is *virial no* + +The :doc:`fix_modify ` *respa* option is supported by +these fixes. This allows to set at which level of the :doc:`r-RESPA +` integrator the fix is adding its forces. Default is the +outermost level. + +These fixes computes a global scalar and a global vector of forces, +which can be accessed by various :doc:`output commands +`. See the :doc:`fix wall ` command for a +description of the scalar and vector. + +No parameter of these fixes can be used with the *start/stop* keywords of +the :doc:`run ` command. + +The forces due to these fixes are imposed during an energy +minimization, invoked by the :doc:`minimize ` command. + +.. note:: + + If you want the atom/wall interaction energy to be included in + the total potential energy of the system (the quantity being + minimized), you MUST enable the :doc:`fix_modify ` *energy* + option for this fix. + Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +These fixes are part of the USER-MISC package. They are only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -This fix requires that atoms be ellipsoids as defined by the +These fixes requires that atoms be ellipsoids as defined by the :doc:`atom_style ellipsoid ` command. Related commands diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index 2359e27255..12bbaea454 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -194,24 +194,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 energy of interaction between atoms and the wall to the -system's potential energy as part of :doc:`thermodynamic output `. +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the energy of interaction between atoms and the region +wall 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 `. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the interaction between -atoms and each wall to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution due to the interaction between atoms +and each wall to the system's virial as part of :doc:`thermodynamic +output `. The default is *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 is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global 3-length vector -of forces, which can be accessed by various :doc:`output commands `. The scalar energy is the sum of energy -interactions for all particles interacting with the wall represented -by the region surface. The 3 vector quantities are the x,y,z -components of the total force acting on the wall due to the particles. -The scalar and vector values calculated by this fix are "extensive". +of forces, which can be accessed by various :doc:`output commands +`. The scalar energy is the sum of energy interactions +for all particles interacting with the wall represented by the region +surface. The 3 vector quantities are the x,y,z components of the +total force acting on the wall due to the particles. 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. @@ -221,10 +225,10 @@ invoked by the :doc:`minimize ` command. .. note:: - If you want the atom/wall interaction energy to be included in - the total potential energy of the system (the quantity being - minimized), you MUST enable the :doc:`fix_modify ` *energy* - option for this fix. + If you want the atom/wall interaction energy to be included in the + total potential energy of the system (the quantity being + minimized), you MUST enable the :doc:`fix_modify ` + *energy* option for this fix. Restrictions """""""""""" diff --git a/doc/src/fix_widom.rst b/doc/src/fix_widom.rst index 853bc6201c..8ec5a1308d 100644 --- a/doc/src/fix_widom.rst +++ b/doc/src/fix_widom.rst @@ -155,11 +155,11 @@ Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" This fix writes the state of the fix to :doc:`binary restart files -`. This includes information about the random number generator -seed, the next timestep for Widom insertions etc. See the -:doc:`read_restart ` command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. +`. This includes information about the random number +generator seed, the next timestep for Widom insertions etc. See the +:doc:`read_restart ` command for info on how to +re-specify a fix in an input script that reads a restart file, so that +the operation of the fix continues in an uninterrupted fashion. .. note:: diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index fc8f66b90b..f525aef79a 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -11,10 +11,10 @@ Syntax thermo_modify keyword value ... * one or more keyword/value pairs may be listed +* keyword = *lost* or *lost/bond* or *norm* or *flush* or *line* or *format* or *temp* or *press* .. parsed-literal:: - keyword = *lost* or *lost/bond* or *norm* or *flush* or *line* or *format* or *temp* or *press*\ :l *lost* value = *error* or *warn* or *ignore* *lost/bond* value = *error* or *warn* or *ignore* *norm* value = *yes* or *no* diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index dbb634a2b0..c43bf9ed0d 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -20,9 +20,10 @@ Syntax *custom* args = list of keywords possible keywords = step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, part, timeremain, - atoms, temp, press, pe, ke, etotal, enthalpy, + atoms, temp, press, pe, ke, etotal, evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, + enthalpy, ecouple, econserve, vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz, xlat, ylat, zlat, bonds, angles, dihedrals, impropers, @@ -49,7 +50,6 @@ Syntax pe = total potential energy ke = kinetic energy etotal = total energy (pe + ke) - enthalpy = enthalpy (etotal + press\*vol) evdwl = van der Waals pairwise energy (includes etail) ecoul = Coulombic pairwise energy epair = pairwise energy (evdwl + ecoul + elong) @@ -60,6 +60,9 @@ Syntax emol = molecular energy (ebond + eangle + edihed + eimp) elong = long-range kspace energy etail = van der Waals energy long-range tail correction + enthalpy = enthalpy (etotal + press\*vol) + ecouple = cumulative energy change due to thermo/baro statting fixes + econserve = pe + ke + ecouple = etotal + ecouple vol = volume density = mass density of system lx,ly,lz = box lengths in x,y,z @@ -197,27 +200,33 @@ change the attributes of this potential energy via the The kinetic energy of the system *ke* is inferred from the temperature of the system with :math:`\frac{1}{2} k_B T` of energy for each degree -of freedom. Thus, using different :doc:`compute commands ` for -calculating temperature, via the :doc:`thermo_modify temp +of freedom. Thus, using different :doc:`compute commands ` +for calculating temperature, via the :doc:`thermo_modify temp ` command, may yield different kinetic energies, since -different computes that calculate temperature can subtract out different -non-thermal components of velocity and/or include different degrees of -freedom (translational, rotational, etc). +different computes that calculate temperature can subtract out +different non-thermal components of velocity and/or include different +degrees of freedom (translational, rotational, etc). The potential energy of the system *pe* will include contributions -from fixes if the :doc:`fix_modify thermo ` option is set -for a fix that calculates such a contribution. For example, the :doc:`fix wall/lj93 ` fix calculates the energy of atoms +from fixes if the :doc:`fix_modify energy yes ` option is +set for a fix that calculates such a contribution. For example, the +:doc:`fix wall/lj93 ` fix calculates the energy of atoms interacting with the wall. See the doc pages for "individual fixes" -to see which ones contribute. +to see which ones contribute and whether their default +:doc:`fix_modify energy ` setting is *yes* or *no*\ . A long-range tail correction *etail* for the van der Waals pairwise -energy will be non-zero only if the :doc:`pair_modify tail ` option is turned on. The *etail* contribution -is included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the +energy will be non-zero only if the :doc:`pair_modify tail +` option is turned on. The *etail* contribution is +included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the corresponding tail correction to the pressure is included in *press* and *pxx*\ , *pyy*\ , etc. ---------- +Here is more information on other keywords whose meaning may not be +clear: + The *step*\ , *elapsed*\ , and *elaplong* keywords refer to timestep count. *Step* is the current timestep, or iteration count when a :doc:`minimization ` is being performed. *Elapsed* is the @@ -228,13 +237,14 @@ keywords for the :doc:`run ` for info on how to invoke a series of runs that keep track of an initial starting time. If these keywords are not used, then *elapsed* and *elaplong* are the same value. -The *dt* keyword is the current timestep size in time -:doc:`units `. The *time* keyword is the current elapsed -simulation time, also in time :doc:`units `, which is simply -(step\*dt) if the timestep size has not changed and the timestep has -not been reset. If the timestep has changed (e.g. via :doc:`fix dt/reset `) or the timestep has been reset (e.g. via -the "reset_timestep" command), then the simulation time is effectively -a cumulative value up to the current point. +The *dt* keyword is the current timestep size in time :doc:`units +`. The *time* keyword is the current elapsed simulation time, +also in time :doc:`units `, which is simply (step\*dt) if the +timestep size has not changed and the timestep has not been reset. If +the timestep has changed (e.g. via :doc:`fix dt/reset `) +or the timestep has been reset (e.g. via the "reset_timestep" +command), then the simulation time is effectively a cumulative value +up to the current point. The *cpu* keyword is elapsed CPU seconds since the beginning of this run. The *tpcpu* and *spcpu* keywords are measures of how fast your @@ -266,16 +276,29 @@ a filename for output specific to this partition. See discussion of the :doc:`-partition command-line switch ` for details on running in multi-partition mode. -The *timeremain* keyword returns the remaining seconds when a -timeout has been configured via the :doc:`timer timeout ` command. -If the timeout timer is inactive, the value of this keyword is 0.0 and -if the timer is expired, it is negative. This allows for example to exit +The *timeremain* keyword is the seconds remaining when a timeout has +been configured via the :doc:`timer timeout ` command. If the +timeout timer is inactive, the value of this keyword is 0.0 and if the +timer is expired, it is negative. This allows for example to exit loops cleanly, if the timeout is expired with: .. code-block:: LAMMPS if "$(timeremain) < 0.0" then "quit 0" +The *ecouple* keyword is cumulative energy change in the system due to +any thermostatting or barostatting fixes that are being used. A +positive value means that energy has been subtracted from the system +(added to the coupling reservoir). See the *econserve* keyword for an +explanation of why this sign choice makes sense. + +The *econserve* keyword is the sum of the potential and kinetic energy +of the system as well as the energy that has been transferred by +thermostatting or barostatting to their coupling reservoirs. I.e. it +is *pe* + *ke* + *econserve*\ . Ideally, for a simulation in the NVE, +NPH, or NPT ensembles, the *econserve* quantity should remain constant +over time. + The *fmax* and *fnorm* keywords are useful for monitoring the progress of an :doc:`energy minimization `. The *fmax* keyword calculates the maximum force in any dimension on any atom in the @@ -295,12 +318,13 @@ to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place. -The keywords *cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , *cellbeta*\ , -*cellgamma*\ , correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See the :doc:`Howto triclinic ` doc page for a geometric description -of triclinic periodic cells, including a precise definition of these -quantities in terms of the internal LAMMPS cell dimensions *lx*\ , *ly*\ , -*lz*\ , *yz*\ , *xz*\ , *xy*\ . +The keywords *cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , +*cellbeta*\ , *cellgamma*\ , correspond to the usual crystallographic +quantities that define the periodic unit cell of a crystal. See the +:doc:`Howto triclinic ` doc page for a geometric +description of triclinic periodic cells, including a precise +definition of these quantities in terms of the internal LAMMPS cell +dimensions *lx*\ , *ly*\ , *lz*\ , *yz*\ , *xz*\ , *xy*\ . ---------- @@ -330,8 +354,8 @@ creates a global vector with 6 values. ---------- -The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global -values calculated by a compute to be output. As discussed on the +The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global values +calculated by a compute to be output. As discussed on the :doc:`compute ` doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values for an individual atom @@ -353,12 +377,13 @@ kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in -the compute group) when output, depending on the :doc:`thermo_modify norm ` option being used. +the compute group) when output, depending on the :doc:`thermo_modify +norm ` option being used. -The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global -values calculated by a fix to be output. As discussed on the -:doc:`fix ` doc page, fixes can calculate global, per-atom, or -local values. Only global values can be referenced by this command. +The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global values +calculated by a fix to be output. As discussed on the :doc:`fix +` doc page, fixes can calculate global, per-atom, or local +values. Only global values can be referenced by this command. However, per-atom fix values can be referenced for an individual atom in a :doc:`variable ` and the variable referenced by thermo_style custom, as discussed below. See the discussion above for @@ -377,8 +402,8 @@ energy that are summed over all atoms in the fix group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) -when output, depending on the :doc:`thermo_modify norm ` -option being used. +when output, depending on the :doc:`thermo_modify norm +` option being used. The *v_name* keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp index 3947811a52..d0dee1af90 100644 --- a/src/SHOCK/fix_msst.cpp +++ b/src/SHOCK/fix_msst.cpp @@ -1003,7 +1003,6 @@ double FixMSST::compute_etotal() { double epot,ekin,etot; epot = pe->compute_scalar(); - if (thermo_energy) epot -= compute_scalar(); ekin = temperature->compute_scalar(); ekin *= 0.5 * temperature->dof * force->boltz; etot = epot+ekin; diff --git a/src/SHOCK/fix_nphug.cpp b/src/SHOCK/fix_nphug.cpp index be4b71446e..c54bc0fa44 100644 --- a/src/SHOCK/fix_nphug.cpp +++ b/src/SHOCK/fix_nphug.cpp @@ -170,13 +170,11 @@ FixNPHug::FixNPHug(LAMMPS *lmp, int narg, char **arg) : FixNPHug::~FixNPHug() { - // temp and press computes handled by base class // delete pe compute if (peflag) modify->delete_compute(id_pe); delete [] id_pe; - } /* ---------------------------------------------------------------------- */ @@ -248,7 +246,6 @@ double FixNPHug::compute_etotal() { double epot,ekin,etot; epot = pe->compute_scalar(); - if (thermo_energy) epot -= compute_scalar(); ekin = temperature->compute_scalar(); ekin *= 0.5 * tdof * force->boltz; etot = epot+ekin; diff --git a/src/USER-EFF/fix_langevin_eff.cpp b/src/USER-EFF/fix_langevin_eff.cpp index 1a49a203d9..9c4ec9024d 100644 --- a/src/USER-EFF/fix_langevin_eff.cpp +++ b/src/USER-EFF/fix_langevin_eff.cpp @@ -15,7 +15,6 @@ Contributing author: Andres Jaramillo-Botero ------------------------------------------------------------------------- */ - #include #include "fix_langevin_eff.h" diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp index f785545fa5..f5cbeaeed5 100644 --- a/src/USER-MISC/fix_flow_gauss.cpp +++ b/src/USER-MISC/fix_flow_gauss.cpp @@ -82,6 +82,7 @@ FixFlowGauss::FixFlowGauss(LAMMPS *lmp, int narg, char **arg) : } // by default, do not compute work done + workflag=0; // process optional keyword @@ -135,11 +136,12 @@ void FixFlowGauss::init() ------------------------------------------------------------------------- */ void FixFlowGauss::setup(int vflag) { - //need to compute work done if set fix_modify energy yes - if (thermo_energy) - workflag=1; + // need to compute work done if fix_modify energy yes is set + + if (thermo_energy) workflag = 1; - //get total mass of group + // get total mass of group + mTot=group->mass(igroup); if (mTot <= 0.0) error->all(FLERR,"Invalid group mass in fix flow/gauss"); diff --git a/src/USER-MISC/fix_pimd.cpp b/src/USER-MISC/fix_pimd.cpp index 5571f1cf35..1e4e03bfbf 100644 --- a/src/USER-MISC/fix_pimd.cpp +++ b/src/USER-MISC/fix_pimd.cpp @@ -121,7 +121,6 @@ FixPIMD::FixPIMD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) peratom_freq = 1; global_freq = 1; - thermo_energy = 1; vector_flag = 1; size_vector = 2; extvector = 1; diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index db162bd0c2..283a4a5b41 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -41,8 +41,8 @@ using namespace MathConst; /* ---------------------------------------------------------------------- read parameters ------------------------------------------------------------------------- */ -FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) + +FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 5) error->all(FLERR,"Illegal fix qbmsst command"); @@ -1048,7 +1048,6 @@ double FixQBMSST::compute_etotal() { double epot,ekin,etot; epot = pe->compute_scalar(); - if (thermo_energy) epot -= compute_scalar(); ekin = temperature->compute_scalar(); ekin *= 0.5 * temperature->dof * force->boltz; etot = epot+ekin; @@ -1060,12 +1059,12 @@ double FixQBMSST::compute_etotal() ------------------------------------------------------------------------- */ double FixQBMSST::compute_egrand() { - double epot,ekin,etot; + double epot,ekin,ecouple,etot; epot = pe->compute_scalar(); - if (!thermo_energy) epot += compute_scalar(); ekin = temperature->compute_scalar(); ekin *= 0.5 * temperature->dof * force->boltz; - etot = epot+ekin; + ecouple = compute_scalar(); + etot = epot + ekin + econserve; return etot; } diff --git a/src/thermo.cpp b/src/thermo.cpp index 9e4658fcdb..2a5b945a24 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1773,12 +1773,10 @@ void Thermo::compute_ecouple() void Thermo::compute_econserve() { - compute_pe(); - double dvalue_pe = dvalue; - compute_ke(); - double dvalue_ke = dvalue; + compute_etotal(); + double dvalue_etotal = dvalue; compute_ecouple(); - dvalue += dvalue_pe + dvalue_ke; + dvalue += dvalue_etotal; } /* ---------------------------------------------------------------------- */ From fc0936c7781ef3ae419a03fc381480db43e50d27 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 26 Jan 2021 09:26:31 -0700 Subject: [PATCH 056/132] doc pages for virial contributions of fixes --- doc/src/fix_addforce.rst | 28 +++++++++-------- doc/src/fix_client_md.rst | 9 +++--- doc/src/fix_cmap.rst | 10 ++++--- doc/src/fix_efield.rst | 7 +++-- doc/src/fix_external.rst | 8 +++-- doc/src/fix_latte.rst | 7 +++++ doc/src/fix_lb_rigid_pc_sphere.rst | 19 +++++++++--- doc/src/fix_plumed.rst | 7 +++++ doc/src/fix_poems.rst | 42 ++++++++++++++++---------- doc/src/fix_shake.rst | 27 ++++++++++------- doc/src/fix_smd.rst | 48 +++++++++++++++++------------- doc/src/fix_wall.rst | 8 +++-- doc/src/fix_wall_ees.rst | 5 ---- doc/src/fix_wall_region.rst | 8 +++-- 14 files changed, 149 insertions(+), 84 deletions(-) diff --git a/doc/src/fix_addforce.rst b/doc/src/fix_addforce.rst index 4aca227246..0137066ff7 100644 --- a/doc/src/fix_addforce.rst +++ b/doc/src/fix_addforce.rst @@ -122,8 +122,8 @@ 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 global potential "energy" inferred by the added -force to the global potential energy of the system as part of +this fix to add the potential energy inferred by the added force 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 @@ -133,21 +133,23 @@ potential energy when atoms move in the direction of the added force. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the added forces on atoms to -the global pressure of the system as part of :doc:`thermodynamic -output `. The default setting for this fix is -:doc:`fix_modify virial no `. +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 is adding its forces. Default is the outermost -level. +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 and a global 3-vector of forces, -which can be accessed by various :doc:`output commands `. -The scalar is the potential energy discussed above. The vector is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The scalar and vector values calculated -by this fix are "extensive". +which can be accessed by various :doc:`output commands +`. The scalar is the potential energy discussed above. +The vector is the total force on the group of atoms before the forces +on individual atoms are changed by the fix. 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. diff --git a/doc/src/fix_client_md.rst b/doc/src/fix_client_md.rst index 5344f29459..3bcc6bdaa5 100644 --- a/doc/src/fix_client_md.rst +++ b/doc/src/fix_client_md.rst @@ -80,10 +80,11 @@ the global potential energy of the system as part of this fix is :doc:`fix_modify energy yes `. The :doc:`fix_modify ` *virial* option is supported by -this fix to add the contribution computed by the external program 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 `. +this fix to add the contribution computed by the server application to +the global pressure of the system via the :doc:`compute pressure +` command. This can be accessed by +:doc:`thermodynamic output `. The default setting for +this fix is :doc:`fix_modify virial yes `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index 83e4b6d9b8..94f8a903e9 100644 --- a/doc/src/fix_cmap.rst +++ b/doc/src/fix_cmap.rst @@ -109,10 +109,12 @@ default setting for this fix is :doc:`fix_modify energy yes `. The :doc:`fix_modify ` *virial* option is supported by -this fix to add the contribution due to the CMAP interactions between -atoms to the global prsesure of the system as part of -:doc:`thermodynamic output `. The default setting for -this fix is :doc:`fix_modify virial yes `. +this fix to add the contribution due to the CMAP interactions 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 yes `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index fdfc8b427b..2feaa61db7 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -133,8 +133,11 @@ 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 -the system's virial as part of :doc:`thermodynamic output -`. The default is *virial no* +both the global pressure and per-atom stress of the system via the +:doc:`compute pressure ` :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 diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index cdb87c68a9..481df30628 100644 --- a/doc/src/fix_external.rst +++ b/doc/src/fix_external.rst @@ -167,9 +167,11 @@ potential energy when atoms move in the direction of the added force. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution computed by the external program 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 `. +both the global pressure and per-atom stress of the system via the +:doc:`compute pressure ` :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 yes `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst index 563656be5f..58a8ddbe20 100644 --- a/doc/src/fix_latte.rst +++ b/doc/src/fix_latte.rst @@ -116,6 +116,13 @@ potential energy of the system as part of :doc:`thermodynamic output `. The default setting for this fix is :doc:`fix_modify energy yes `. +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution compute by LATTE to the global +pressure of the system via the :doc:`compute pressure +` command. This can be accessed by +:doc:`thermodynamic output `. The default setting for +this fix is :doc:`fix_modify virial yes `. + The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution computed by LATTE to the global pressure of the system as part of :doc:`thermodynamic output diff --git a/doc/src/fix_lb_rigid_pc_sphere.rst b/doc/src/fix_lb_rigid_pc_sphere.rst index 66b5f5f8d5..b6a19c98d5 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.rst +++ b/doc/src/fix_lb_rigid_pc_sphere.rst @@ -50,7 +50,8 @@ This fix is based on the :doc:`fix rigid ` command, and was created to be used in place of that fix, to integrate the equations of motion of spherical rigid bodies when a lattice-Boltzmann fluid is present with a user-specified value of the force-coupling constant. -The fix uses the integration algorithm described in :ref:`Mackay et al. ` to update the positions, velocities, and orientations of +The fix uses the integration algorithm described in :ref:`Mackay et +al. ` to update the positions, velocities, and orientations of a set of spherical rigid bodies experiencing velocity dependent hydrodynamic forces. The spherical bodies are assumed to rotate as solid, uniform density spheres, with moments of inertia calculated @@ -88,9 +89,18 @@ Restart, fix_modify, output, run start/stop, minimize info No information about the *rigid* and *rigid/nve* fixes are written to :doc:`binary restart files `. +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 yes `. + Similar to the :doc:`fix rigid ` command: The rigid fix -computes a global scalar which can be accessed by various :doc:`output commands `. The scalar value calculated by these -fixes is "intensive". The scalar is the current temperature of the +computes a global scalar which can be accessed by various :doc:`output +commands `. The scalar value calculated by these fixes +is "intensive". The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v\^2, where m = total @@ -130,7 +140,8 @@ Restrictions """""""""""" This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package +` doc page for more info. Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid ` command, and must come after this diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index 67118b6bfa..bd2c05adfe 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -95,6 +95,13 @@ PLUMED 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 `. +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution from the biasing force to the global +pressure of the system via the :doc:`compute pressure +` command. This can be accessed by +:doc:`thermodynamic output `. The default setting for +this fix is :doc:`fix_modify virial yes `. + This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the PLUMED energy mentioned above. The scalar value calculated by this fix is diff --git a/doc/src/fix_poems.rst b/doc/src/fix_poems.rst index 0f173fcc4e..b782b7809e 100644 --- a/doc/src/fix_poems.rst +++ b/doc/src/fix_poems.rst @@ -39,14 +39,15 @@ useful for treating a large biomolecule as a collection of connected, coarse-grained particles. The coupling, associated motion constraints, and time integration is -performed by the software package `Parallelizable Open source Efficient Multibody Software (POEMS)` which computes the -constrained rigid-body motion of articulated (jointed) multibody -systems :ref:`(Anderson) `. POEMS was written and is distributed -by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, -and other members of his group at Rensselaer Polytechnic Institute -(RPI). Rudranarayan developed the LAMMPS/POEMS interface. For -copyright information on POEMS and other details, please refer to the -documents in the poems directory distributed with LAMMPS. +performed by the software package `Parallelizable Open source +Efficient Multibody Software (POEMS)` which computes the constrained +rigid-body motion of articulated (jointed) multibody systems +:ref:`(Anderson) `. POEMS was written and is distributed by +Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and +other members of his group at Rensselaer Polytechnic Institute (RPI). +Rudranarayan developed the LAMMPS/POEMS interface. For copyright +information on POEMS and other details, please refer to the documents +in the poems directory distributed with LAMMPS. This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same @@ -107,7 +108,16 @@ off, and there is only a single fix poems defined. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +No information about this fix is written to :doc:`binary restart files +`. + +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution due to the added forces and torques +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 yes `. The :doc:`fix_modify ` *bodyforces* option is supported by this fix style to set whether per-body forces and torques are computed @@ -115,16 +125,18 @@ early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage, respectively. 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 `. +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 is part of the :ref:`POEMS ` package. It is only enabled if LAMMPS -was built with that package, which also requires the POEMS library be -built and linked with LAMMPS. See the :doc:`Build package ` doc page for more info. +This fix is part of the :ref:`POEMS ` package. It is only +enabled if LAMMPS was built with that package, which also requires the +POEMS library be built and linked with LAMMPS. See the :doc:`Build +package ` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index 116edd8c7e..8e8f3e0988 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -191,22 +191,29 @@ LAMMPS closely follows (:ref:`Andersen (1983) `). Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to keeping the constraints to the -system's virial as part of :doc:`thermodynamic output `. -The default is *virial yes* +No information about these fixes is written to :doc:`binary restart +files `. -No information about these fixes is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options -are relevant to these fixes. No global or per-atom quantities are -stored by these fixes for access by various :doc:`output commands `. No parameter of these fixes can be used -with the *start/stop* keywords of the :doc:`run ` command. These -fixes are not invoked during :doc:`energy minimization `. +The :doc:`fix_modify ` *virial* option is supported by +these fixes 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 yes `. + +No global or per-atom quantities are stored by these fixes for access +by various :doc:`output commands `. No parameter of +these fixes can be used with the *start/stop* keywords of the +:doc:`run ` command. These fixes are not invoked during +:doc:`energy minimization `. Restrictions """""""""""" These fixes are part of the RIGID package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. For computational efficiency, there can only be one shake or rattle fix defined in a simulation. diff --git a/doc/src/fix_smd.rst b/doc/src/fix_smd.rst index 8cbae29adf..8bf7c25478 100644 --- a/doc/src/fix_smd.rst +++ b/doc/src/fix_smd.rst @@ -48,10 +48,12 @@ Description """"""""""" This fix implements several options of steered MD (SMD) as reviewed in -:ref:`(Izrailev) `, which allows to induce conformational changes -in systems and to compute the potential of mean force (PMF) along the -assumed reaction coordinate :ref:`(Park) ` based on Jarzynski's -equality :ref:`(Jarzynski) `. This fix borrows a lot from :doc:`fix spring ` and :doc:`fix setforce `. +:ref:`(Izrailev) `, which allows to induce conformational +changes in systems and to compute the potential of mean force (PMF) +along the assumed reaction coordinate :ref:`(Park) ` based on +Jarzynski's equality :ref:`(Jarzynski) `. This fix borrows +a lot from :doc:`fix spring ` and :doc:`fix setforce +`. You can apply a moving spring force to a group of atoms (\ *tether* style) or between two groups of atoms (\ *couple* style). The spring @@ -108,30 +110,36 @@ See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the added forces on atoms to the -system's virial as part of :doc:`thermodynamic output `. -The default is *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 is adding its forces. Default is the outermost level. +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 is adding its forces. Default is the +outermost level. This fix computes a vector list of 7 quantities, which can be accessed -by various :doc:`output commands `. The quantities in the -vector are in this order: the x-, y-, and z-component of the pulling -force, the total force in direction of the pull, the equilibrium -distance of the spring, the distance between the two reference points, -and finally the accumulated PMF (the sum of pulling forces times -displacement). +by various :doc:`output commands `. The quantities in +the vector are in this order: the x-, y-, and z-component of the +pulling force, the total force in direction of the pull, the +equilibrium distance of the spring, the distance between the two +reference points, and finally the accumulated PMF (the sum of pulling +forces times displacement). The force is the total force on the group of atoms by the spring. In the case of the *couple* style, it is the force on the fix group -(group-ID) or the negative of the force on the second group (group-ID2). -The vector values calculated by this fix are "extensive". +(group-ID) or the negative of the force on the second group +(group-ID2). The 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. This fix is not invoked during :doc:`energy minimization `. +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index 0bd7f241dd..cda9d4f8fa 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -342,8 +342,12 @@ for this fix is :doc:`fix_modify energy no `. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms -and each wall to the system's virial as part of :doc:`thermodynamic -output `. The default is *virial no* +and all the specified walls to both the global pressure and per-atom +stress of the system via the :doc:`compute pressure +` :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 diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index c3e8a9affb..fde9fe7234 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -134,11 +134,6 @@ system as part of :doc:`thermodynamic output `. The default settings for thes fixes are :doc:`fix_modify energy no `. -The :doc:`fix_modify ` *virial* option is supported by -these rixes to add the contribution due to the interaction between -atoms and each wall to the system's virial as part of -:doc:`thermodynamic output `. The default is *virial no* - The :doc:`fix_modify ` *respa* option is supported by these fixes. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index 12bbaea454..1d06062fdd 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -202,8 +202,12 @@ this fix is :doc:`fix_modify energy no `. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms -and each wall to the system's virial as part of :doc:`thermodynamic -output `. The default is *virial no* +and the region wall to both the global pressure and per-atom stress of +the system via the :doc:`compute pressure ` +: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 ` From eb9e28e6652ed2276cf5711e5abb011373ecc0ff Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 26 Jan 2021 09:30:28 -0700 Subject: [PATCH 057/132] fix some typos --- doc/src/fix_efield.rst | 8 ++++---- doc/src/fix_external.rst | 8 ++++---- doc/src/fix_wall.rst | 8 ++++---- doc/src/fix_wall_region.rst | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index 2feaa61db7..86dcda9bc5 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -134,10 +134,10 @@ 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 ` :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 `. +: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 diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index 481df30628..938b798ddf 100644 --- a/doc/src/fix_external.rst +++ b/doc/src/fix_external.rst @@ -168,10 +168,10 @@ potential energy when atoms move in the direction of the added force. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution computed by the external program to both the global pressure and per-atom stress of the system via the -:doc:`compute pressure ` :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 yes `. +: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 yes `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the potential diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index cda9d4f8fa..2a2aba777d 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -344,10 +344,10 @@ The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms and all the specified walls to both the global pressure and per-atom stress of the system via the :doc:`compute pressure -` :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 `. +` 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 diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index 1d06062fdd..3803d4b74b 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -203,7 +203,7 @@ this fix is :doc:`fix_modify energy no `. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms and the region wall to both the global pressure and per-atom stress of -the system via the :doc:`compute pressure ` +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 From 78b46e819b693e0b4d67233e29f6c13b0718b322 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 26 Jan 2021 10:54:02 -0700 Subject: [PATCH 058/132] added Developer doc info for this refactoring --- doc/src/Developer_notes.rst | 132 ++++++++++++++++++++++++++++++++++-- doc/src/fix_langevin.rst | 32 +++++---- 2 files changed, 144 insertions(+), 20 deletions(-) diff --git a/doc/src/Developer_notes.rst b/doc/src/Developer_notes.rst index 87ef97ea7b..81161fa348 100644 --- a/doc/src/Developer_notes.rst +++ b/doc/src/Developer_notes.rst @@ -1,11 +1,133 @@ -Notes for Developers and Code Maintainers +Notes for developers and code maintainers ----------------------------------------- -This section documents how a few large sections of code with LAMMPS -work at a conceptual level. Comments on code in source files +This section documents how some of the code functionality within +LAMMPS works at a conceptual level. Comments on code in source files typically document what a variable stores, what a small section of -code does, or what a function does or its input/outputs. The topics -on this page are intended to document code at a higher level. +code does, or what a function does and its input/outputs. The topics +on this page are intended to document code functionality at a higher level. + +Fix contributions to instantaneous energy, virial, and cumulative energy +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Fixes can calculate contributions to the instantaneous energy and/or +virial of the system, both in a global and peratom sense. Fixes that +perform thermostatting or barostatting can calculate the cumulative +energy they add to or subtract from the system, which is accessed by +the *ecouple* and *econserve* thermodynamic keywords. This subsection +explains how both work and what flags to set in a new fix to enable +this functionality. + +Let's start with thermostatting and barostatting fixes. Examples are +the :doc:`fix langevin ` and :doc:`fix npt ` +commands. Here is what the fix needs to do: + +* Set the variable *ecouple_flag* = 1 in the constructor. Also set + *scalar_flag* = 1, *extscalar* = 1, and *global_freq* to a timestep + increment which matches how often the fix is invoked. +* Implement a compute_scalar() method that returns the cumulative + energy added or subtracted by the fix, e.g. by rescaling the + velocity of atoms. The sign convention is that subtracted energy is + positive, added energy is negative. This must be the total energy + added to the entire system, i.e. an "extensive" quantity, not a + per-atom energy. Cumulative means the summed energy since the fix + was instantiated, even across multiple runs. This is because the + energy is used by the *econserve* thermodynamic keyword to check + that the fix is conserving the total energy of the system, + i.e. potential energy + kinetic energy + coupling energy = a + constant. + +And here is how the code operates: + +* The Modify class makes a list of all fixes that set *ecouple_flag* = 1. +* The :doc:`thermo_style custom ` command defines + *ecouple* and *econserve* keywords. +* These keywords sum the energy contributions from all the + *ecouple_flag* = 1 fixes by invoking the energy_couple() method in + the Modify class, which calls the compute_scalar() method of each + fix in the list. + +------------------ + +Next, here is how a fix contributes to the instantaneous energy and +virial of the system. First, it sets any or all of these flags to a +value of 1 in their constructor: + +* *energy_global_flag* to contribute to global energy, example: :doc:`fix indent ` +* *energy_peratom_flag* to contribute to peratom energy, :doc:`fix cmap ` +* *virial_global_flag* to contribute to global virial, example: :doc:`fix wall ` +* *virial_peratom_flag* to contribute to peratom virial, example: :doc:`fix wall ` + +The fix must also do the following: + +* For global energy, implement a compute_scalar() method that returns + the energy added or subtracted on this timestep. Here the sign + convention is that added energy is positive, subtracted energy is + negative. +* For peratom energy, invoke the ev_init(eflag,vflag) function each + time the fix is invoked, which initializes per-atom energy storage. + The value of eflag may need to be stored from an earlier call to the + fix during the same timestep. See how the :doc:`fix cmap + ` command does this in src/MOLECULE/fix_cmap.cpp. When an + energy for one or more atoms is calculated, invoke the ev_tally() + function to tally the contribution to each atom. Both the ev_init() + and ev_tally() methods are in the parent Fix class. +* For global and/or peratom virial, invoke the v_init(vflag) function + each time the fix is invoked, which initializes virial storage. + When forces on one or more atoms are calculated, invoke the + v_tally() function to tally the contribution. Both the v_init() and + v_tally() methods are in the parent Fix class. Note that there are + several variants of v_tally(); choose the one appropriate to your + fix. + +.. note:: + + The ev_init() and ev_tally() methods also account for global and + peratom virial contributions. Thus you do not need to invoke the + v_init() and v_tally() methods, if the fix also calculates peratom + energies. + +The fix must also specify whether (by default) to include or exclude +these contributions to the global/peratom energy/virial of the system. +For the fix to include the contributions, set either of both of these +variables in the contructor: + +* *thermo_energy* = 1, for global and peratom energy +* *thermo_virial* = 1, for global and peratom virial + +Note that these variables are zeroed in fix.cpp. Thus if you don't +set the variables, the contributions will be excluded (by default) + +However, the user has ultimate control over whether to include or +exclude the contributions of the fix via the :doc:`fix modify +` command: + +* fix modify *energy yes* to include global and peratom energy contributions +* fix modify *virial yes* to include global and peratom virial contributions + +If the fix contributes to any of the global/peratom energy/virial +values for the system, it should be explained on the fix doc page, +along with the default values for the *energy yes/no* and *virial +yes/no* settings of the :doc:`fix modify ` command. + +Finally, these 4 contributions are included in the output of 4 +computes: + +* global energy in :doc:`compute pe ` +* peratom energy in :doc:`compute pe/atom ` +* global virial in :doc:`compute pressure ` +* peratom virial in :doc:`compute stress/atom ` + +These computes invoke a method of the Modify class to include +contributions from fixes that have the corresponding flags set, +e.g. *energy_peratom_flag* and *thermo_energy* for :doc:`compute +pe/atom `. + +Note that each compute has an optional keyword to either include or +exclude all contributions from fixes. Also note that :doc:`compute pe +` and :doc:`compute pressure ` are what +is used (by default) by :doc:`thermodynamic output ` to +calculate values for its *pe* and *press* keywords. KSpace PPPM FFT grids ^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/src/fix_langevin.rst b/doc/src/fix_langevin.rst index b8524069ec..918573fc6b 100644 --- a/doc/src/fix_langevin.rst +++ b/doc/src/fix_langevin.rst @@ -230,7 +230,7 @@ conservation. .. note:: - this accumulated energy does NOT include kinetic energy removed + This accumulated energy does NOT include kinetic energy removed by the *zero* flag. LAMMPS will print a warning when both options are active. @@ -244,7 +244,8 @@ to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial momentum will not drift over time. -The keyword *gjf* can be used to run the :ref:`Gronbech-Jensen/Farago ` time-discretization of the Langevin model. As +The keyword *gjf* can be used to run the :ref:`Gronbech-Jensen/Farago +` time-discretization of the Langevin model. As described in the papers cited below, the purpose of this method is to enable longer timesteps to be used (up to the numerical stability limit of the integrator), while still producing the correct Boltzmann @@ -252,19 +253,20 @@ distribution of atom positions. The current implementation provides the user with the option to output the velocity in one of two forms: *vfull* or *vhalf*\ , which replaces -the outdated option *yes*\ . The *gjf* option *vfull* outputs the on-site -velocity given in :ref:`Gronbech-Jensen/Farago `; this velocity -is shown to be systematically lower than the target temperature by a small -amount, which grows quadratically with the timestep. -The *gjf* option *vhalf* outputs the 2GJ half-step velocity given in -:ref:`Gronbech Jensen/Gronbech-Jensen <2Gronbech-Jensen>`; for linear systems, -this velocity is shown to not have any statistical errors for any stable time step. -An overview of statistically correct Boltzmann and Maxwell-Boltzmann -sampling of true on-site and true half-step velocities is given in -:ref:`Gronbech-Jensen <1Gronbech-Jensen>`. -Regardless of the choice of output velocity, the sampling of the configurational -distribution of atom positions is the same, and linearly consistent with the -target temperature. +the outdated option *yes*\ . The *gjf* option *vfull* outputs the +on-site velocity given in :ref:`Gronbech-Jensen/Farago +`; this velocity is shown to be systematically lower +than the target temperature by a small amount, which grows +quadratically with the timestep. The *gjf* option *vhalf* outputs the +2GJ half-step velocity given in :ref:`Gronbech Jensen/Gronbech-Jensen +<2Gronbech-Jensen>`; for linear systems, this velocity is shown to not +have any statistical errors for any stable time step. An overview of +statistically correct Boltzmann and Maxwell-Boltzmann sampling of true +on-site and true half-step velocities is given in +:ref:`Gronbech-Jensen <1Gronbech-Jensen>`. Regardless of the choice +of output velocity, the sampling of the configurational distribution +of atom positions is the same, and linearly consistent with the target +temperature. ---------- From 80bac271849d6da611d56bacacf13be7bdf7ac25 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 26 Jan 2021 11:02:27 -0700 Subject: [PATCH 059/132] extra files that were not checked in --- doc/src/fix_flow_gauss.rst | 3 ++- doc/src/fix_rigid.rst | 8 ++++++++ src/USER-MISC/fix_wall_ees.cpp | 2 -- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index 2affbd68f4..c7907432dc 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -165,7 +165,8 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`fix addforce `, :doc:`compute temp/profile `, :doc:`velocity ` +:doc:`fix addforce `, :doc:`compute temp/profile + `, :doc:`velocity ` Default """"""" diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index 526d2d53e3..43750d59a1 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -799,6 +799,14 @@ accessed by various :doc:`output commands `. The scalar is the same cumulative energy change due to these fixes described above. The scalar value calculated by this fix is "extensive". +The :doc:`fix_modify ` *virial* option is supported by +these fixes 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 yes `. + All of the *rigid* styles (not the *rigid/small* styles) compute a global array of values which can be accessed by various :doc:`output commands `. Similar information about the bodies diff --git a/src/USER-MISC/fix_wall_ees.cpp b/src/USER-MISC/fix_wall_ees.cpp index e8e307224f..8adac48263 100644 --- a/src/USER-MISC/fix_wall_ees.cpp +++ b/src/USER-MISC/fix_wall_ees.cpp @@ -84,14 +84,12 @@ void FixWallEES::wall_particle(int m, int which, double coord) double **f = atom->f; double **tor = atom->torque; - avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); AtomVecEllipsoid::Bonus *bonus = avec->bonus; int *ellipsoid = atom->ellipsoid; int *mask = atom->mask; int nlocal = atom->nlocal; - int dim = which / 2; int side = which % 2; if (side == 0) side = -1; From 2b290d5e42d76d3993b5dea81496dcb02252d266 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Jan 2021 18:31:23 -0500 Subject: [PATCH 060/132] recover from compilation failures --- src/KOKKOS/fix_wall_lj93_kokkos.cpp | 2 +- src/KOKKOS/modify_kokkos.cpp | 6 +++--- src/KOKKOS/modify_kokkos.h | 2 +- src/USER-QTB/fix_qbmsst.cpp | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.cpp b/src/KOKKOS/fix_wall_lj93_kokkos.cpp index 29baa3a813..9b8b146ba3 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.cpp +++ b/src/KOKKOS/fix_wall_lj93_kokkos.cpp @@ -31,7 +31,7 @@ FixWallLJ93Kokkos::FixWallLJ93Kokkos(LAMMPS *lmp, int narg, char **a execution_space = ExecutionSpaceFromDevice::space; datamask_read = EMPTY_MASK; datamask_modify = EMPTY_MASK; - virial_flag = 0; + virial_global_flag = virial_peratom_flag = 0; } /* ---------------------------------------------------------------------- diff --git a/src/KOKKOS/modify_kokkos.cpp b/src/KOKKOS/modify_kokkos.cpp index 89153def23..c3d94f8dc5 100644 --- a/src/KOKKOS/modify_kokkos.cpp +++ b/src/KOKKOS/modify_kokkos.cpp @@ -355,7 +355,7 @@ void ModifyKokkos::end_of_step() ecouple = cumulative energy added to reservoir by thermostatting ------------------------------------------------------------------------- */ -double Modify::energy_couple() +double ModifyKokkos::energy_couple() { double energy = 0.0; for (int i = 0; i < n_energy_couple; i++) { @@ -375,7 +375,7 @@ double Modify::energy_couple() called by compute pe ------------------------------------------------------------------------- */ -double Modify::energy_global() +double ModifyKokkos::energy_global() { double energy = 0.0; for (int i = 0; i < n_energy_global; i++) { @@ -394,7 +394,7 @@ double Modify::energy_global() called by compute pe/atom ------------------------------------------------------------------------- */ -void Modify::energy_atom(int nlocal, double *energy) +void ModifyKokkos::energy_atom(int nlocal, double *energy) { int i,j; double *eatom; diff --git a/src/KOKKOS/modify_kokkos.h b/src/KOKKOS/modify_kokkos.h index be52e4bfff..9ae1cfb5e2 100644 --- a/src/KOKKOS/modify_kokkos.h +++ b/src/KOKKOS/modify_kokkos.h @@ -39,7 +39,7 @@ class ModifyKokkos : public Modify { void end_of_step(); double energy_couple(); double energy_global(); - void energy_atom(); + void energy_atom(int, double *); void post_run(); void setup_pre_force_respa(int, int); diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index 283a4a5b41..7e442aceba 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -1064,7 +1064,7 @@ double FixQBMSST::compute_egrand() ekin = temperature->compute_scalar(); ekin *= 0.5 * temperature->dof * force->boltz; ecouple = compute_scalar(); - etot = epot + ekin + econserve; + etot = epot + ekin + ecouple; return etot; } From bca3164fc42353e5ba00f2a80ee10be037e4ddca Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Jan 2021 18:39:02 -0500 Subject: [PATCH 061/132] fix whitespace issues --- doc/src/Developer_notes.rst | 2 +- doc/src/fix_modify.rst | 2 +- doc/src/thermo_style.rst | 2 +- src/KSPACE/pppm_dipole.cpp | 100 ++++++++++++------------ src/KSPACE/pppm_disp.cpp | 50 ++++++------ src/RIGID/fix_rigid_nh.cpp | 2 +- src/USER-BOCS/compute_pressure_bocs.cpp | 8 +- src/USER-BOCS/fix_bocs.cpp | 2 +- src/USER-COLVARS/fix_colvars.cpp | 2 +- src/USER-DRUDE/fix_tgnh_drude.cpp | 2 +- src/USER-MISC/fix_flow_gauss.cpp | 6 +- src/USER-MISC/fix_ti_spring.cpp | 2 +- src/USER-MISC/fix_wall_region_ees.cpp | 4 +- src/USER-PLUMED/fix_plumed.cpp | 2 +- src/USER-QTB/fix_qbmsst.cpp | 6 +- src/USER-QTB/fix_qtb.cpp | 2 +- src/fix.cpp | 4 +- src/fix.h | 2 +- src/fix_nh.cpp | 2 +- src/fix_wall.cpp | 2 +- 20 files changed, 102 insertions(+), 102 deletions(-) diff --git a/doc/src/Developer_notes.rst b/doc/src/Developer_notes.rst index 81161fa348..d4fee7b9a0 100644 --- a/doc/src/Developer_notes.rst +++ b/doc/src/Developer_notes.rst @@ -57,7 +57,7 @@ value of 1 in their constructor: * *energy_peratom_flag* to contribute to peratom energy, :doc:`fix cmap ` * *virial_global_flag* to contribute to global virial, example: :doc:`fix wall ` * *virial_peratom_flag* to contribute to peratom virial, example: :doc:`fix wall ` - + The fix must also do the following: * For global energy, implement a compute_scalar() method that returns diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index d382d3ebe8..3f97b158e2 100644 --- a/doc/src/fix_modify.rst +++ b/doc/src/fix_modify.rst @@ -86,7 +86,7 @@ appropriate fix. For most fixes that suppport the *energy* keyword, the default setting is *no*. For a few it is *yes*, when a user would expect that to be the case. The doc page of each fix gives the default. - + The *virial* keyword can be used with fixes that support it, which is explained at the bottom of their doc page. *Virial yes* will add a contribution to the virial of the system. More specifically, the diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index c43bf9ed0d..ac53e575e5 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -298,7 +298,7 @@ thermostatting or barostatting to their coupling reservoirs. I.e. it is *pe* + *ke* + *econserve*\ . Ideally, for a simulation in the NVE, NPH, or NPT ensembles, the *econserve* quantity should remain constant over time. - + The *fmax* and *fnorm* keywords are useful for monitoring the progress of an :doc:`energy minimization `. The *fmax* keyword calculates the maximum force in any dimension on any atom in the diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 7a472be818..54810158aa 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -463,7 +463,7 @@ void PPPMDipole::compute(int eflag, int vflag) if (evflag_atom) gc_dipole->forward_comm_kspace(this,18,sizeof(FFT_SCALAR),FORWARD_MU_PERATOM, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // calculate the force on my particles @@ -1333,7 +1333,7 @@ void PPPMDipole::poisson_ik_dipole() wimg = (work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); energy += s2 * greensfn[ii] * (wreal*wreal + wimg*wimg); - ii++; + ii++; n += 2; } } @@ -1430,9 +1430,9 @@ void PPPMDipole::poisson_ik_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = -fkx[i]*fkx[i]*(work1[n+1]*fkx[i] + - work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); work4[n+1] = fkx[i]*fkx[i]*(work1[n]*fkx[i] + - work2[n]*fky[j] + work3[n]*fkz[k]); + work2[n]*fky[j] + work3[n]*fkz[k]); n += 2; } @@ -1453,9 +1453,9 @@ void PPPMDipole::poisson_ik_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = -fky[j]*fky[j]*(work1[n+1]*fkx[i] + - work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); work4[n+1] = fky[j]*fky[j]*(work1[n]*fkx[i] + - work2[n]*fky[j] + work3[n]*fkz[k]); + work2[n]*fky[j] + work3[n]*fkz[k]); n += 2; } @@ -1476,9 +1476,9 @@ void PPPMDipole::poisson_ik_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = -fkz[k]*fkz[k]*(work1[n+1]*fkx[i] + - work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); work4[n+1] = fkz[k]*fkz[k]*(work1[n]*fkx[i] + - work2[n]*fky[j] + work3[n]*fkz[k]); + work2[n]*fky[j] + work3[n]*fkz[k]); n += 2; } @@ -1499,9 +1499,9 @@ void PPPMDipole::poisson_ik_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = -fkx[i]*fky[j]*(work1[n+1]*fkx[i] + - work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); work4[n+1] = fkx[i]*fky[j]*(work1[n]*fkx[i] + - work2[n]*fky[j] + work3[n]*fkz[k]); + work2[n]*fky[j] + work3[n]*fkz[k]); n += 2; } @@ -1522,9 +1522,9 @@ void PPPMDipole::poisson_ik_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = -fkx[i]*fkz[k]*(work1[n+1]*fkx[i] + - work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); work4[n+1] = fkx[i]*fkz[k]*(work1[n]*fkx[i] + - work2[n]*fky[j] + work3[n]*fkz[k]); + work2[n]*fky[j] + work3[n]*fkz[k]); n += 2; } @@ -1545,9 +1545,9 @@ void PPPMDipole::poisson_ik_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = -fky[j]*fkz[k]*(work1[n+1]*fkx[i] + - work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); work4[n+1] = fky[j]*fkz[k]*(work1[n]*fkx[i] + - work2[n]*fky[j] + work3[n]*fkz[k]); + work2[n]*fky[j] + work3[n]*fkz[k]); n += 2; } @@ -1582,9 +1582,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkx[i]*(vg[ii][0]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkx[i]*work1[n]); + work3[n]*fkz[k]) + 2.0*fkx[i]*work1[n]); work4[n+1] = fkx[i]*(vg[ii][0]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkx[i]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkx[i]*work1[n+1]); n += 2; ii++; } @@ -1607,9 +1607,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fky[j]*(vg[ii][0]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkx[i]*work1[n]); + work3[n]*fkz[k]) + 2.0*fkx[i]*work1[n]); work4[n+1] = fky[j]*(vg[ii][0]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkx[i]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkx[i]*work1[n+1]); n += 2; ii++; } @@ -1632,9 +1632,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkz[k]*(vg[ii][0]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkx[i]*work1[n]); + work3[n]*fkz[k]) + 2.0*fkx[i]*work1[n]); work4[n+1] = fkz[k]*(vg[ii][0]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkx[i]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkx[i]*work1[n+1]); n += 2; ii++; } @@ -1657,9 +1657,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkx[i]*(vg[ii][1]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fky[j]*work2[n]); + work3[n]*fkz[k]) + 2.0*fky[j]*work2[n]); work4[n+1] = fkx[i]*(vg[ii][1]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fky[j]*work2[n+1]); + work3[n+1]*fkz[k]) + 2.0*fky[j]*work2[n+1]); n += 2; ii++; } @@ -1682,9 +1682,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fky[j]*(vg[ii][1]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fky[j]*work2[n]); + work3[n]*fkz[k]) + 2.0*fky[j]*work2[n]); work4[n+1] = fky[j]*(vg[ii][1]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fky[j]*work2[n+1]); + work3[n+1]*fkz[k]) + 2.0*fky[j]*work2[n+1]); n += 2; ii++; } @@ -1707,9 +1707,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkz[k]*(vg[ii][1]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fky[j]*work2[n]); + work3[n]*fkz[k]) + 2.0*fky[j]*work2[n]); work4[n+1] = fkz[k]*(vg[ii][1]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fky[j]*work2[n+1]); + work3[n+1]*fkz[k]) + 2.0*fky[j]*work2[n+1]); n += 2; ii++; } @@ -1732,9 +1732,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkx[i]*(vg[ii][2]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work3[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work3[n]); work4[n+1] = fkx[i]*(vg[ii][2]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work3[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work3[n+1]); n += 2; ii++; } @@ -1757,9 +1757,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fky[j]*(vg[ii][2]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work3[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work3[n]); work4[n+1] = fky[j]*(vg[ii][2]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work3[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work3[n+1]); n += 2; ii++; } @@ -1782,9 +1782,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkz[k]*(vg[ii][2]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work3[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work3[n]); work4[n+1] = fkz[k]*(vg[ii][2]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work3[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work3[n+1]); n += 2; ii++; } @@ -1807,9 +1807,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkx[i]*(vg[ii][3]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fky[j]*work1[n]); + work3[n]*fkz[k]) + 2.0*fky[j]*work1[n]); work4[n+1] = fkx[i]*(vg[ii][3]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fky[j]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fky[j]*work1[n+1]); n += 2; ii++; } @@ -1832,9 +1832,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fky[j]*(vg[ii][3]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fky[j]*work1[n]); + work3[n]*fkz[k]) + 2.0*fky[j]*work1[n]); work4[n+1] = fky[j]*(vg[ii][3]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fky[j]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fky[j]*work1[n+1]); n += 2; ii++; } @@ -1857,9 +1857,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkz[k]*(vg[ii][3]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fky[j]*work1[n]); + work3[n]*fkz[k]) + 2.0*fky[j]*work1[n]); work4[n+1] = fkz[k]*(vg[ii][3]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fky[j]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fky[j]*work1[n+1]); n += 2; ii++; } @@ -1882,9 +1882,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkx[i]*(vg[ii][4]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work1[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work1[n]); work4[n+1] = fkx[i]*(vg[ii][4]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work1[n+1]); n += 2; ii++; } @@ -1907,9 +1907,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fky[j]*(vg[ii][4]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work1[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work1[n]); work4[n+1] = fky[j]*(vg[ii][4]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work1[n+1]); n += 2; ii++; } @@ -1932,9 +1932,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkz[k]*(vg[ii][4]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work1[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work1[n]); work4[n+1] = fkz[k]*(vg[ii][4]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work1[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work1[n+1]); n += 2; ii++; } @@ -1957,9 +1957,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkx[i]*(vg[ii][5]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work2[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work2[n]); work4[n+1] = fkx[i]*(vg[ii][5]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work2[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work2[n+1]); n += 2; ii++; } @@ -1982,9 +1982,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fky[j]*(vg[ii][5]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work2[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work2[n]); work4[n+1] = fky[j]*(vg[ii][5]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work2[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work2[n+1]); n += 2; ii++; } @@ -2007,9 +2007,9 @@ void PPPMDipole::poisson_peratom_dipole() for (j = nylo_fft; j <= nyhi_fft; j++) for (i = nxlo_fft; i <= nxhi_fft; i++) { work4[n] = fkz[k]*(vg[ii][5]*(work1[n]*fkx[i] + work2[n]*fky[j] + - work3[n]*fkz[k]) + 2.0*fkz[k]*work2[n]); + work3[n]*fkz[k]) + 2.0*fkz[k]*work2[n]); work4[n+1] = fkz[k]*(vg[ii][5]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + - work3[n+1]*fkz[k]) + 2.0*fkz[k]*work2[n+1]); + work3[n+1]*fkz[k]) + 2.0*fkz[k]*work2[n+1]); n += 2; ii++; } diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index a9af0aff40..d982d57853 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -689,9 +689,9 @@ void PPPMDisp::setup() vg[n][3] = 0.0; vg[n][4] = 0.0; vg[n][5] = 0.0; - vg2[n][0] = 0.0; - vg2[n][1] = 0.0; - vg2[n][2] = 0.0; + vg2[n][0] = 0.0; + vg2[n][1] = 0.0; + vg2[n][2] = 0.0; } else { vterm = -2.0 * (1.0/sqk + 0.25*gew2inv); vg[n][0] = 1.0 + vterm*fkx[i]*fkx[i]; @@ -1048,7 +1048,7 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_a(); gc6->reverse_comm_kspace(this,7,sizeof(FFT_SCALAR),REVERSE_RHO_ARITH, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -1143,7 +1143,7 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_none(); gc6->reverse_comm_kspace(this,nsplit_alloc,sizeof(FFT_SCALAR),REVERSE_RHO_NONE, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -1158,14 +1158,14 @@ void PPPMDisp::compute(int eflag, int vflag) } gc6->forward_comm_kspace(this,1*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_NONE, + FORWARD_AD_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ad(); if (vflag_atom) gc6->forward_comm_kspace(this,6*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_NONE, + FORWARD_AD_PERATOM_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -1180,14 +1180,14 @@ void PPPMDisp::compute(int eflag, int vflag) } gc6->forward_comm_kspace(this,3*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_NONE, + FORWARD_IK_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ik(); if (evflag_atom) gc6->forward_comm_kspace(this,7*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_NONE, + FORWARD_IK_PERATOM_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -1321,7 +1321,7 @@ void PPPMDisp::init_coeffs() converged = qr_alg(A,Q,n); if (function[3] && !converged) { error->all(FLERR, - "Matrix factorization to split dispersion coefficients failed"); + "Matrix factorization to split dispersion coefficients failed"); } // determine number of used eigenvalues @@ -1409,8 +1409,8 @@ void PPPMDisp::init_coeffs() utils::logmesg(lmp,fmt::format(" Using {} structure factors\n", nsplit)); if (nsplit > 9) - error->warning(FLERR,"Simulations might be very slow " - "because of large number of structure factors"); + error->warning(FLERR,"Simulations might be very slow " + "because of large number of structure factors"); } memory->destroy(A); @@ -4564,11 +4564,11 @@ void PPPMDisp::make_rho_none() my = m+ny; x0 = y0*rho1d_6[1][m]; for (l = nlower_6; l <= nupper_6; l++) { - mx = l+nx; + mx = l+nx; w = x0*rho1d_6[0][l]; for (k = 0; k < nsplit; k++) { density_brick_none[k][mz][my][mx] += w*B[nsplit*type + k]; - } + } } } } @@ -4813,13 +4813,13 @@ void PPPMDisp::poisson_ad(FFT_SCALAR* wk1, FFT_SCALAR* wk2, ------------------------------------------------------------------------- */ void PPPMDisp::poisson_peratom(FFT_SCALAR* wk1, FFT_SCALAR* wk2, LAMMPS_NS::FFT3d* ft2, - double** vcoeff, double** vcoeff2, int nft, - int nxlo_i, int nylo_i, int nzlo_i, - int nxhi_i, int nyhi_i, int nzhi_i, - FFT_SCALAR*** v0_pa, FFT_SCALAR*** v1_pa, - FFT_SCALAR*** v2_pa, - FFT_SCALAR*** v3_pa, FFT_SCALAR*** v4_pa, - FFT_SCALAR*** v5_pa) + double** vcoeff, double** vcoeff2, int nft, + int nxlo_i, int nylo_i, int nzlo_i, + int nxhi_i, int nyhi_i, int nzhi_i, + FFT_SCALAR*** v0_pa, FFT_SCALAR*** v1_pa, + FFT_SCALAR*** v2_pa, + FFT_SCALAR*** v3_pa, FFT_SCALAR*** v4_pa, + FFT_SCALAR*** v5_pa) { // v0 & v1 term @@ -5227,8 +5227,8 @@ poisson_none_ik(int n1, int n2,FFT_SCALAR* dfft_1, FFT_SCALAR* dfft_2, if (vflag_atom) poisson_none_peratom(n1,n2, - v0_pa[n1],v1_pa[n1],v2_pa[n1],v3_pa[n1],v4_pa[n1],v5_pa[n1], - v0_pa[n2],v1_pa[n2],v2_pa[n2],v3_pa[n2],v4_pa[n2],v5_pa[n2]); + v0_pa[n1],v1_pa[n1],v2_pa[n1],v3_pa[n1],v4_pa[n1],v5_pa[n1], + v0_pa[n2],v1_pa[n2],v2_pa[n2],v3_pa[n2],v4_pa[n2],v5_pa[n2]); } /* ---------------------------------------------------------------------- @@ -5429,8 +5429,8 @@ poisson_none_ad(int n1, int n2, FFT_SCALAR* dfft_1, FFT_SCALAR* dfft_2, if (vflag_atom) poisson_none_peratom(n1,n2, - v0_pa[n1],v1_pa[n1],v2_pa[n1],v3_pa[n1],v4_pa[n1],v5_pa[n1], - v0_pa[n2],v1_pa[n2],v2_pa[n2],v3_pa[n2],v4_pa[n2],v5_pa[n2]); + v0_pa[n1],v1_pa[n1],v2_pa[n1],v3_pa[n1],v4_pa[n1],v5_pa[n1], + v0_pa[n2],v1_pa[n2],v2_pa[n2],v3_pa[n2],v4_pa[n2],v5_pa[n2]); } /* ---------------------------------------------------------------------- diff --git a/src/RIGID/fix_rigid_nh.cpp b/src/RIGID/fix_rigid_nh.cpp index 7fefdaebfe..a29c8d9863 100644 --- a/src/RIGID/fix_rigid_nh.cpp +++ b/src/RIGID/fix_rigid_nh.cpp @@ -50,7 +50,7 @@ FixRigidNH::FixRigidNH(LAMMPS *lmp, int narg, char **arg) : id_press(nullptr), temperature(nullptr), pressure(nullptr) { if (tstat_flag || pstat_flag) ecouple_flag = 1; - + // error checks: could be moved up to FixRigid if ((p_flag[0] == 1 && p_period[0] <= 0.0) || diff --git a/src/USER-BOCS/compute_pressure_bocs.cpp b/src/USER-BOCS/compute_pressure_bocs.cpp index 004a11d048..a84442e658 100644 --- a/src/USER-BOCS/compute_pressure_bocs.cpp +++ b/src/USER-BOCS/compute_pressure_bocs.cpp @@ -231,7 +231,7 @@ double ComputePressureBocs::find_index(double * grid, double value) ------------------------------------------------------------------------- */ double ComputePressureBocs::get_cg_p_corr(double ** grid, int basis_type, - double vCG) + double vCG) { int i = find_index(grid[0],vCG); double correction, deltax = vCG - grid[0][i]; @@ -259,8 +259,8 @@ double ComputePressureBocs::get_cg_p_corr(double ** grid, int basis_type, ------------------------------------------------------------------------- */ void ComputePressureBocs::send_cg_info(int basis_type, int sent_N_basis, - double *sent_phi_coeff, int sent_N_mol, - double sent_vavg) + double *sent_phi_coeff, int sent_N_mol, + double sent_vavg) { if (basis_type == BASIS_ANALYTIC) { p_basis_type = BASIS_ANALYTIC; } else @@ -285,7 +285,7 @@ void ComputePressureBocs::send_cg_info(int basis_type, int sent_N_basis, ------------------------------------------------------------------------- */ void ComputePressureBocs::send_cg_info(int basis_type, - double ** in_splines, int gridsize) + double ** in_splines, int gridsize) { if (basis_type == BASIS_LINEAR_SPLINE) { p_basis_type = BASIS_LINEAR_SPLINE; } else if (basis_type == BASIS_CUBIC_SPLINE) { p_basis_type = BASIS_CUBIC_SPLINE; } diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index 3df1cc2bd3..28a0d6c01a 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -88,7 +88,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 0; ecouple_flag = 1; - + // default values pcouple = NONE; diff --git a/src/USER-COLVARS/fix_colvars.cpp b/src/USER-COLVARS/fix_colvars.cpp index 4bcd68dae9..1a8338ccf6 100644 --- a/src/USER-COLVARS/fix_colvars.cpp +++ b/src/USER-COLVARS/fix_colvars.cpp @@ -299,7 +299,7 @@ FixColvars::FixColvars(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; restart_global = 1; energy_global_flag = 1; - + me = comm->me; root2root = MPI_COMM_NULL; diff --git a/src/USER-DRUDE/fix_tgnh_drude.cpp b/src/USER-DRUDE/fix_tgnh_drude.cpp index ee47d8a0d9..8185b9bcbb 100644 --- a/src/USER-DRUDE/fix_tgnh_drude.cpp +++ b/src/USER-DRUDE/fix_tgnh_drude.cpp @@ -67,7 +67,7 @@ FixTGNHDrude::FixTGNHDrude(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 0; ecouple_flag = 1; - + // default values pcouple = NONE; diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp index f5cbeaeed5..3c913f8039 100644 --- a/src/USER-MISC/fix_flow_gauss.cpp +++ b/src/USER-MISC/fix_flow_gauss.cpp @@ -82,7 +82,7 @@ FixFlowGauss::FixFlowGauss(LAMMPS *lmp, int narg, char **arg) : } // by default, do not compute work done - + workflag=0; // process optional keyword @@ -137,11 +137,11 @@ void FixFlowGauss::init() void FixFlowGauss::setup(int vflag) { // need to compute work done if fix_modify energy yes is set - + if (thermo_energy) workflag = 1; // get total mass of group - + mTot=group->mass(igroup); if (mTot <= 0.0) error->all(FLERR,"Invalid group mass in fix flow/gauss"); diff --git a/src/USER-MISC/fix_ti_spring.cpp b/src/USER-MISC/fix_ti_spring.cpp index 9e6c1ce296..cb343fc9d6 100644 --- a/src/USER-MISC/fix_ti_spring.cpp +++ b/src/USER-MISC/fix_ti_spring.cpp @@ -65,7 +65,7 @@ FixTISpring::FixTISpring(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 1; energy_global_flag = 1; - + // disallow resetting the time step, while this fix is defined time_depend = 1; diff --git a/src/USER-MISC/fix_wall_region_ees.cpp b/src/USER-MISC/fix_wall_region_ees.cpp index 7fe3ab24a3..44067b0742 100644 --- a/src/USER-MISC/fix_wall_region_ees.cpp +++ b/src/USER-MISC/fix_wall_region_ees.cpp @@ -38,7 +38,7 @@ FixWallRegionEES::FixWallRegionEES(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg != 7) error->all(FLERR,"Illegal fix wall/region/ees command"); - + scalar_flag = 1; vector_flag = 1; size_vector = 3; @@ -46,7 +46,7 @@ FixWallRegionEES::FixWallRegionEES(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; extvector = 1; energy_global_flag = 1; - + // parse args iregion = domain->find_region(arg[3]); diff --git a/src/USER-PLUMED/fix_plumed.cpp b/src/USER-PLUMED/fix_plumed.cpp index cd6292d64e..5e85cc56de 100644 --- a/src/USER-PLUMED/fix_plumed.cpp +++ b/src/USER-PLUMED/fix_plumed.cpp @@ -213,7 +213,7 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; energy_global_flag = virial_global_flag = 1; thermo_energy = thermo_virial = 1; - + // This is the real initialization: p->cmd("init"); diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index 7e442aceba..fea549c07e 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -63,7 +63,7 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) error->all(FLERR,"Illegal fix qbmsst command"); // default parameters - + global_freq = 1; extscalar = 1; extvector = 0; @@ -74,7 +74,7 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) vector_flag = 1; size_vector = 5; ecouple_flag = 1; - + qmass = 1.0e1; mu = 0.0; p0 = 0.0; @@ -95,7 +95,7 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) qtb_set = 0; // reading parameters - + int iarg = 5; while (iarg < narg) { if (strcmp(arg[iarg],"q") == 0) { diff --git a/src/USER-QTB/fix_qtb.cpp b/src/USER-QTB/fix_qtb.cpp index 761a0ed537..a344a5eaec 100644 --- a/src/USER-QTB/fix_qtb.cpp +++ b/src/USER-QTB/fix_qtb.cpp @@ -46,7 +46,7 @@ FixQTB::FixQTB(LAMMPS *lmp, int narg, char **arg) : if (narg < 3) error->all(FLERR,"Illegal fix qtb command"); // default parameters - + t_target = 300.0; t_period = 1.0; fric_coef = 1/t_period; diff --git a/src/fix.cpp b/src/fix.cpp index 074040a4d8..8cf13f6f1d 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -152,7 +152,7 @@ void Fix::modify_params(int narg, char **arg) if (strcmp(arg[iarg+1],"no") == 0) thermo_energy = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { if (energy_global_flag == 0 && energy_peratom_flag == 0) - error->all(FLERR,"Illegal fix_modify command"); + error->all(FLERR,"Illegal fix_modify command"); thermo_energy = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; @@ -161,7 +161,7 @@ void Fix::modify_params(int narg, char **arg) if (strcmp(arg[iarg+1],"no") == 0) thermo_virial = 0; else if (strcmp(arg[iarg+1],"yes") == 0) { if (virial_global_flag == 0 && virial_peratom_flag == 0) - error->all(FLERR,"Illegal fix_modify command"); + error->all(FLERR,"Illegal fix_modify command"); thermo_virial = 1; } else error->all(FLERR,"Illegal fix_modify command"); iarg += 2; diff --git a/src/fix.h b/src/fix.h index c8db215255..7092b56c8f 100644 --- a/src/fix.h +++ b/src/fix.h @@ -245,7 +245,7 @@ class Fix : protected Pointers { void ev_init(int eflag, int vflag) { if ((eflag && thermo_energy) || (vflag && thermo_virial)) ev_setup(eflag, vflag); else evflag = eflag_either = eflag_global = eflag_atom = - vflag_either = vflag_global = vflag_atom = 0; + vflag_either = vflag_global = vflag_atom = 0; } void ev_setup(int, int); void ev_tally(int, int *, double, double, double *); diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index f4de07a5ae..d1a2cb1463 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -786,7 +786,7 @@ void FixNH::setup(int /*vflag*/) t0 = temperature->compute_scalar(); if (t0 < EPSILON) error->all(FLERR,"Current temperature too close to zero, " - "consider using ptemp setting"); + "consider using ptemp setting"); } } t_target = t0; diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index 942dd1f81a..56bc91e5f6 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -315,7 +315,7 @@ void FixWall::post_force(int vflag) v_init(vflag); // energy intialize - + for (int m = 0; m <= nwall; m++) ewall[m] = 0.0; // coord = current position of wall From de5ba601f214eab3f26e87693f666821d82c5a51 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 13:41:58 -0500 Subject: [PATCH 062/132] Update fix_bond_react.rst manual rebase --- doc/src/fix_bond_react.rst | 170 +++++++++++++++++++++++-------------- 1 file changed, 106 insertions(+), 64 deletions(-) diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 34d2282312..f54ba29bd3 100755 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -35,13 +35,13 @@ Syntax * react-ID = user-assigned name for the reaction * react-group-ID = only atoms in this group are considered for the reaction * Nevery = attempt reaction every this many steps -* Rmin = bonding pair atoms must be separated by more than Rmin to initiate reaction (distance units) -* Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) +* Rmin = initiator atoms must be separated by more than Rmin to initiate reaction (distance units) +* Rmax = initiator atoms must be separated by less than Rmax to initiate reaction (distance units) * template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology * template-ID(post-reacted) = ID of a molecule template containing post-reaction topology * map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates * zero or more individual keyword/value pairs may be appended to each react argument -* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *custom_charges* or *modify_create* +* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *custom_charges* or *molecule* or *modify_create* .. parsed-literal:: @@ -55,6 +55,10 @@ Syntax *custom_charges* value = *no* or *fragmentID* no = update all atomic charges (default) fragmentID = ID of molecule fragment whose charges are updated + *molecule* value = *off* or *inter* or *intra* + off = allow both inter- and intramolecular reactions (default) + inter = search for reactions between molecules with different IDs + intra = search for reactions within the same molecule *modify_create* keyword values *fit* value = *all* or *fragmentID* all = use all eligible atoms for create-atoms fit (default) @@ -180,17 +184,19 @@ timesteps. *Nevery* can be specified with an equal-style integer. Three physical conditions must be met for a reaction to occur. First, -a bonding atom pair must be identified within the reaction distance -cutoffs. Second, the topology surrounding the bonding atom pair must -match the topology of the pre-reaction template. Finally, any reaction -constraints listed in the map file (see below) must be satisfied. If -all of these conditions are met, the reaction site is eligible to be -modified to match the post-reaction template. +an initiator atom pair must be identified within the reaction distance +cutoffs. Second, the topology surrounding the initiator atom pair must +match the topology of the pre-reaction template. Only atom types and +bond connectivity are used to identify a valid reaction site (not bond +types, etc.). Finally, any reaction constraints listed in the map file +(see below) must be satisfied. If all of these conditions are met, the +reaction site is eligible to be modified to match the post-reaction +template. -A bonding atom pair will be identified if several conditions are met. -First, a pair of atoms I,J within the specified react-group-ID of type -itype and jtype must be separated by a distance between *Rmin* and -*Rmax*\ . *Rmin* and *Rmax* can be specified with equal-style +An initiator atom pair will be identified if several conditions are +met. First, a pair of atoms I,J within the specified react-group-ID of +type itype and jtype must be separated by a distance between *Rmin* +and *Rmax*\ . *Rmin* and *Rmax* can be specified with equal-style :doc:`variables `. For example, these reaction cutoffs can be a function of the reaction conversion using the following commands: @@ -200,23 +206,30 @@ be a function of the reaction conversion using the following commands: fix myrxn all bond/react react myrxn1 all 1 0 v_rmax mol1 mol2 map_file.txt variable rmax equal 3+f_myrxn[1]/100 # arbitrary function of reaction count -It is possible that multiple bonding atom pairs are identified: if the -bonding atoms in the pre-reacted template are 1-2 neighbors, i.e. -directly bonded, the farthest bonding atom partner is set as its -bonding partner; otherwise, the closest potential partner is chosen. -Then, if both an atom I and atom J have each other as their bonding -partners, these two atoms are identified as the bonding atom pair of -the reaction site. Once this unique bonding atom pair is identified -for each reaction, there could two or more reactions that involve a -given atom on the same timestep. If this is the case, only one such -reaction is permitted to occur. This reaction is chosen randomly from -all potential reactions. This capability allows e.g. for different -reaction pathways to proceed from identical reaction sites with -user-specified probabilities. +The following criteria are used if multiple candidate initiator atom +pairs are identified within the cutoff distance: 1) If the initiator +atoms in the pre-reaction template are not 1-2 neighbors (i.e. not +directly bonded) the closest potential partner is chosen. 2) +Otherwise, if the initiator atoms in the pre-reaction template are 1-2 +neighbors (i.e. directly bonded) the farthest potential partner is +chosen. 3) Then, if both an atom I and atom J have each other as their +initiator partners, these two atoms are identified as the initiator +atom pair of the reaction site. Note that it can be helpful to select +unique atom types for the initiator atoms: if an initiator atom pair +is identified, as described in the previous steps, but does not +correspond to the same pair specified in the pre-reaction template, an +otherwise eligible reaction could be prevented from occurring. Once +this unique initiator atom pair is identified for each reaction, there +could be two or more reactions that involve the same atom on the same +timestep. If this is the case, only one such reaction is permitted to +occur. This reaction is chosen randomly from all potential reactions +involving the overlapping atom. This capability allows e.g. for +different reaction pathways to proceed from identical reaction sites +with user-specified probabilities. The pre-reacted molecule template is specified by a molecule command. This molecule template file contains a sample reaction site and its -surrounding topology. As described below, the bonding atom pairs of +surrounding topology. As described below, the initiator atom pairs of the pre-reacted template are specified by atom ID in the map file. The pre-reacted molecule template should contain as few atoms as possible while still completely describing the topology of all atoms affected @@ -230,18 +243,18 @@ missing topology with respect to the simulation. For example, the pre-reacted template may contain an atom that, in the simulation, is currently connected to the rest of a long polymer chain. These are referred to as edge atoms, and are also specified in the map file. All -pre-reaction template atoms should be linked to a bonding atom, via at -least one path that does not involve edge atoms. When the pre-reaction -template contains edge atoms, not all atoms, bonds, charges, etc. -specified in the reaction templates will be updated. Specifically, -topology that involves only atoms that are 'too near' to template -edges will not be updated. The definition of 'too near the edge' -depends on which interactions are defined in the simulation. If the -simulation has defined dihedrals, atoms within two bonds of edge atoms -are considered 'too near the edge.' If the simulation defines angles, -but not dihedrals, atoms within one bond of edge atoms are considered -'too near the edge.' If just bonds are defined, only edge atoms are -considered 'too near the edge.' +pre-reaction template atoms should be linked to an initiator atom, via +at least one path that does not involve edge atoms. When the +pre-reaction template contains edge atoms, not all atoms, bonds, +charges, etc. specified in the reaction templates will be updated. +Specifically, topology that involves only atoms that are 'too near' to +template edges will not be updated. The definition of 'too near the +edge' depends on which interactions are defined in the simulation. If +the simulation has defined dihedrals, atoms within two bonds of edge +atoms are considered 'too near the edge.' If the simulation defines +angles, but not dihedrals, atoms within one bond of edge atoms are +considered 'too near the edge.' If just bonds are defined, only edge +atoms are considered 'too near the edge.' .. note:: @@ -298,25 +311,25 @@ The optional keywords are 'edgeIDs', 'deleteIDs', 'chiralIDs' and The body of the map file contains two mandatory sections and five optional sections. The first mandatory section begins with the keyword -'BondingIDs' and lists the atom IDs of the bonding atom pair in the -pre-reacted molecule template. The second mandatory section begins -with the keyword 'Equivalences' and lists a one-to-one correspondence -between atom IDs of the pre- and post-reacted templates. The first -column is an atom ID of the pre-reacted molecule template, and the -second column is the corresponding atom ID of the post-reacted -molecule template. The first optional section begins with the keyword -'EdgeIDs' and lists the atom IDs of edge atoms in the pre-reacted -molecule template. The second optional section begins with the keyword -'DeleteIDs' and lists the atom IDs of pre-reaction template atoms to -delete. The third optional section begins with the keyword 'CreateIDs' -and lists the atom IDs of the post-reaction template atoms to create. -The fourth optional section begins with the keyword 'ChiralIDs' lists -the atom IDs of chiral atoms whose handedness should be enforced. The -fifth optional section begins with the keyword 'Constraints' and lists -additional criteria that must be satisfied in order for the reaction -to occur. Currently, there are five types of constraints available, as -discussed below: 'distance', 'angle', 'dihedral', 'arrhenius', and -'rmsd'. +'InitiatorIDs' and lists the two atom IDs of the initiator atom pair +in the pre-reacted molecule template. The second mandatory section +begins with the keyword 'Equivalences' and lists a one-to-one +correspondence between atom IDs of the pre- and post-reacted +templates. The first column is an atom ID of the pre-reacted molecule +template, and the second column is the corresponding atom ID of the +post-reacted molecule template. The first optional section begins with +the keyword 'EdgeIDs' and lists the atom IDs of edge atoms in the +pre-reacted molecule template. The second optional section begins with +the keyword 'DeleteIDs' and lists the atom IDs of pre-reaction +template atoms to delete. The third optional section begins with the +keyword 'CreateIDs' and lists the atom IDs of the post-reaction +template atoms to create. The fourth optional section begins with the +keyword 'ChiralIDs' lists the atom IDs of chiral atoms whose +handedness should be enforced. The fifth optional section begins with +the keyword 'Constraints' and lists additional criteria that must be +satisfied in order for the reaction to occur. Currently, there are +five types of constraints available, as discussed below: 'distance', +'angle', 'dihedral', 'arrhenius', and 'rmsd'. A sample map file is given below: @@ -329,7 +342,7 @@ A sample map file is given below: 7 equivalences 2 edgeIDs - BondingIDs + InitiatorIDs 3 5 @@ -487,6 +500,23 @@ example, the molecule fragment could consist of only the backbone atoms of a polymer chain. This constraint can be used to enforce a specific relative position and orientation between reacting molecules. +By default, all constraints must be satisfied for the reaction to +occur. In other words, constraints are evaluated as a series of +logical values using the logical AND operator "&&". More complex logic +can be achieved by explicitly adding the logical AND operator "&&" or +the logical OR operator "||" after a given constraint command. If a +logical operator is specified after a constraint, it must be placed +after all constraint parameters, on the same line as the constraint +(one per line). Similarly, parentheses can be used to group +constraints. The expression that results from concatenating all +constraints should be a valid logical expression that can be read by +the :doc:`variable ` command after converting each +constraint to a logical value. Because exactly one constraint is +allowed per line, having a valid logical expression implies that left +parentheses "(" should only appear before a constraint, and right +parentheses ")" should only appear after a constraint and before any +logical operator. + Once a reaction site has been successfully identified, data structures within LAMMPS that store bond topology are updated to reflect the post-reacted molecule template. All force fields with fixed bonds, @@ -496,7 +526,7 @@ A few capabilities to note: 1) You may specify as many *react* arguments as desired. For example, you could break down a complicated reaction mechanism into several reaction steps, each defined by its own *react* argument. 2) While typically a bond is formed or removed -between the bonding atom pairs specified in the pre-reacted molecule +between the initiator atoms specified in the pre-reacted molecule template, this is not required. 3) By reversing the order of the pre- and post- reacted molecule templates in another *react* argument, you can allow for the possibility of one or more reverse reactions. @@ -525,12 +555,20 @@ situations, decreasing rather than increasing this parameter will result in an increase in stability. The *custom_charges* keyword can be used to specify which atoms' -atomic charges are updated. When the value is set to 'no,' all atomic +atomic charges are updated. When the value is set to 'no', all atomic charges are updated to those specified by the post-reaction template (default). Otherwise, the value should be the name of a molecule fragment defined in the pre-reaction molecule template. In this case, only the atomic charges of atoms in the molecule fragment are updated. +The *molecule* keyword can be used to force the reaction to be +intermolecular, intramolecular or either. When the value is set to +'off', molecule IDs are not considered when searching for reactions +(default). When the value is set to 'inter', the initiator atoms must +have different molecule IDs in order to be considered for the +reaction. When the value is set to 'intra', only initiator atoms with +the same molecule ID are considered for the reaction. + A few other considerations: Optionally, you can enforce additional behaviors on reacting atoms. @@ -583,7 +621,7 @@ These is 1 quantity for each react argument: 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 `. -When fix bond/react is 'unfixed,' all internally-created groups are +When fix bond/react is 'unfixed', all internally-created groups are deleted. Therefore, fix bond/react can only be unfixed after unfixing all other fixes that use any group created by fix bond/react. @@ -606,10 +644,14 @@ Default """"""" The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, -reset_mol_ids = yes, custom_charges = no, modify_create = no +reset_mol_ids = yes, custom_charges = no, molecule = off, modify_create = no ---------- .. _Gissinger: -**(Gissinger)** Gissinger, Jensen and Wise, Polymer, 128, 211 (2017). +**(Gissinger)** Gissinger, Jensen and Wise, Polymer, 128, 211-217 (2017). + +.. _Gissinger2020: + +**(Gissinger)** Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953-9961 (2020). From e5ead83c8f45ff14bcfee333db954d584e9e5452 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 15:33:45 -0500 Subject: [PATCH 063/132] near->overlap keyword update --- doc/src/fix_bond_react.rst | 14 +++++++------- src/USER-REACTION/fix_bond_react.cpp | 16 ++++++++-------- src/USER-REACTION/fix_bond_react.h | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index f54ba29bd3..b995239d08 100755 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -63,7 +63,7 @@ Syntax *fit* value = *all* or *fragmentID* all = use all eligible atoms for create-atoms fit (default) fragmentID = ID of molecule fragment used for create-atoms fit - *near* value = R + *overlap* value = R R = only insert atom/molecule if further than R from existing particles (distance units) Examples @@ -380,7 +380,7 @@ optimal translation and rotation of the post-reaction template to the reaction site (using a fit with atoms that are neither created nor deleted). The *modify_create* keyword can be used to modify the default behavior when creating atoms. The *modify_create* keyword has -two sub-keywords, *fit* and *near*. One or more of the sub-keywords +two sub-keywords, *fit* and *overlap*. One or more of the sub-keywords may be used after the *modify_create* keyword. The *fit* sub-keyword can be used to specify which post-reaction atoms are used for the optimal translation and rotation of the post-reaction template. The @@ -389,11 +389,11 @@ molecule fragment defined in the post-reaction :doc:`molecule ` template, and only atoms in this fragment are used for the fit. Atoms are created only if no current atom in the simulation is within a distance R of any created atom, including the effect of -periodic boundary conditions if applicable. R is defined by the *near* -sub-keyword. Note that the default value for R is 0.0, which will -allow atoms to strongly overlap if you are inserting where other atoms -are present. The velocity of each created atom is initialized in a -random direction with a magnitude calculated from the instantaneous +periodic boundary conditions if applicable. R is defined by the +*overlap* sub-keyword. Note that the default value for R is 0.0, which +will allow atoms to strongly overlap if you are inserting where other +atoms are present. The velocity of each created atom is initialized in +a random direction with a magnitude calculated from the instantaneous temperature of the reaction site. The handedness of atoms that are chiral centers can be enforced by diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index de1a0a1a41..5b298be18d 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -213,7 +213,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(custom_charges_fragid,nreacts,"bond/react:custom_charges_fragid"); memory->create(create_atoms_flag,nreacts,"bond/react:create_atoms_flag"); memory->create(modify_create_fragid,nreacts,"bond/react:modify_create_fragid"); - memory->create(nearsq,nreacts,"bond/react:nearsq"); + memory->create(overlapsq,nreacts,"bond/react:overlapsq"); memory->create(molecule_keyword,nreacts,"bond/react:molecule_keyword"); memory->create(nconstraints,nreacts,"bond/react:nconstraints"); memory->create(constraintstr,nreacts,MAXLINE,"bond/react:constraintstr"); @@ -239,7 +239,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : custom_charges_fragid[i] = -1; create_atoms_flag[i] = 0; modify_create_fragid[i] = -1; - nearsq[i] = 0; + overlapsq[i] = 0; molecule_keyword[i] = OFF; nconstraints[i] = 0; // set default limit duration to 60 timesteps @@ -419,11 +419,11 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : "'modify_create' keyword does not exist"); } iarg += 2; - } else if (strcmp(arg[iarg],"near") == 0) { + } else if (strcmp(arg[iarg],"overlap") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " "'modify_create' has too few arguments"); - nearsq[rxn] = utils::numeric(FLERR,arg[iarg+1],false,lmp); - nearsq[rxn] *= nearsq[rxn]; + overlapsq[rxn] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + overlapsq[rxn] *= overlapsq[rxn]; iarg += 2; } else break; } @@ -616,7 +616,7 @@ FixBondReact::~FixBondReact() // need to delete rxn_name and constraintstr memory->destroy(create_atoms_flag); memory->destroy(modify_create_fragid); - memory->destroy(nearsq); + memory->destroy(overlapsq); memory->destroy(iatomtype); memory->destroy(jatomtype); @@ -3379,7 +3379,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) // check distance between any existing atom and inserted atom // if less than near, abort - if (nearsq[rxnID] > 0) { + if (overlapsq[rxnID] > 0) { int abortflag = 0; for (int m = 0; m < twomol->natoms; m++) { if (create_atoms[m][rxnID] == 1) { @@ -3389,7 +3389,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) delz = coords[m][2] - x[i][2]; domain->minimum_image(delx,dely,delz); rsq = delx*delx + dely*dely + delz*delz; - if (rsq < nearsq[rxnID]) { + if (rsq < overlapsq[rxnID]) { abortflag = 1; break; } diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index d0b3d52625..87a5945d45 100755 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -69,7 +69,7 @@ class FixBondReact : public Fix { int *custom_charges_fragid; int *create_atoms_flag; int *modify_create_fragid; - double *nearsq; + double *overlapsq; int *molecule_keyword; int maxnconstraints; int *nconstraints; From c1292598544613e520e3f7e747de24606f4fe12d Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 15:49:16 -0500 Subject: [PATCH 064/132] rebase correction --- src/USER-REACTION/fix_bond_react.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 5b298be18d..0ef302137e 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -1956,7 +1956,7 @@ int FixBondReact::check_constraints() } if (ANDgate != 1) satisfied[i] = 0; } else if (constraints[i][rxnID].type == ARRHENIUS) { - t = get_temperature(); + t = get_temperature(glove,0,1); prrhob = constraints[i][rxnID].par[1]*pow(t,constraints[i][rxnID].par[2])* exp(-constraints[i][rxnID].par[3]/(force->boltz*t)); if (prrhob < rrhandom[(int) constraints[i][rxnID].par[0]]->uniform()) satisfied[i] = 0; From bd1cc91bddba31b6564058a324e40cf72d9a34fd Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 20:20:18 -0500 Subject: [PATCH 065/132] update create atoms example --- .../chain_plus_styrene_map_create_atoms | 12 ++++---- .../chain_plus_styrene_reacted.data_template | 4 +-- ...yrene_unreacted_create_atoms.data_template | 4 +-- .../infromdata.class2 | 30 ++++++++----------- .../create_atoms_polystyrene/trimer.data | 2 +- 5 files changed, 23 insertions(+), 29 deletions(-) diff --git a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms index a90f1528bb..88d282690c 100644 --- a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms +++ b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms @@ -1,18 +1,18 @@ -this is a map file +map file: styrene growth 1 edgeIDs 30 equivalences 16 createIDs -EdgeIDs - -30 - -BondingIDs +InitiatorIDs 4 13 +EdgeIDs + +30 + CreateIDs 1 diff --git a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template index 83f04899b1..de0c2383bb 100755 --- a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template +++ b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template @@ -1,4 +1,4 @@ -LAMMPS data file. msi2lmp v3.9.8 / 06 Oct 2016 / CGCMM for chain_plus_styrene_reacted +molecule template: end of chain plus polymerized styrene 46 atoms 48 bonds @@ -9,7 +9,7 @@ LAMMPS data file. msi2lmp v3.9.8 / 06 Oct 2016 / CGCMM for chain_plus_styrene_re Fragments -create_fit 34 44 +create_fit 34 44 Types diff --git a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template index f85b928f1e..d04fefccf5 100644 --- a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template +++ b/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template @@ -1,4 +1,4 @@ -LAMMPS data file via write_data, version 18 Sep 2020, timestep = 0 +molecule template: end of styrene chain 30 atoms 31 bonds @@ -69,7 +69,7 @@ Coords 26 53.86061213540014 61.09506223825291 58.69441939855832 27 55.94906007539648 61.56969281804616 59.039933529456256 28 56.2513193202326 60.54265974655139 59.15389588713244 -29 58.35468332440925 64.79274880895268 59.64495986218142 +29 58.35468332440925 64.79274880895268 59.64495986218142 30 57.07961929431883 66.29987186904283 58.394030287459465 Charges diff --git a/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 b/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 index b6e63d5365..4331bf60b7 100755 --- a/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 +++ b/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 @@ -1,4 +1,4 @@ -# Jake practice run +# use bond/react 'create atoms' feature to add 50 new styrene monomers to chain units real @@ -20,30 +20,24 @@ improper_style class2 variable T equal 530 -read_data trimer.data & - extra/bond/per/atom 5 & - extra/angle/per/atom 15 & - extra/dihedral/per/atom 15 & - extra/improper/per/atom 25 & - extra/special/per/atom 25 +read_data trimer.data -molecule mol3 chain_plus_styrene_unreacted_create_atoms.data_template -molecule mol4 chain_plus_styrene_reacted.data_template +molecule mol1 grow_styrene_pre.data_template +molecule mol2 grow_styrene_post.data_template -fix rxn1 all bond/react stabilization yes statted_grp .03 & - react rxn2 all 1 0 3.0 mol3 mol4 chain_plus_styrene_map_create_atoms & - modify_create fit create_fit near 2.0 stabilize_steps 100 max_rxn 50 +fix myrxns all bond/react stabilization yes statted_grp .03 & + react rxn1 all 1 0 3.0 mol1 mol2 grow_styrene.map & + modify_create fit create_fit overlap 2.0 & + stabilize_steps 100 max_rxn 50 -fix 1 statted_grp_REACT nvt temp $T $T 100 #iso 1 1 1000 +fix 1 statted_grp_REACT nvt temp $T $T 100 fix 4 bond_react_MASTER_group temp/rescale 1 $T $T 1 1 -thermo_style custom step temp press density f_rxn1[1] +thermo_style custom step temp press density f_myrxns[1] -#restart 1 restart1 restart2 - -thermo 2 +thermo 100 run 8000 -write_data restart_longrun.data nofix +# write_data final.data nofix diff --git a/examples/USER/reaction/create_atoms_polystyrene/trimer.data b/examples/USER/reaction/create_atoms_polystyrene/trimer.data index 8bd81f0600..b3ad132f03 100644 --- a/examples/USER/reaction/create_atoms_polystyrene/trimer.data +++ b/examples/USER/reaction/create_atoms_polystyrene/trimer.data @@ -1,4 +1,4 @@ -LAMMPS data file via write_data, version 15 May 2019, timestep = 500 +polystyrene trimer 48 atoms 7 atom types From 9a0805529c5f06a08862ee4b9a9dfdd702467437 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 20:25:26 -0500 Subject: [PATCH 066/132] rename example files --- .../{chain_plus_styrene_map_create_atoms => grow_styrene.map} | 0 ...rene_reacted.data_template => grow_styrene_post.data_template} | 0 ..._create_atoms.data_template => grow_styrene_pre.data_template} | 0 .../{infromdata.class2 => in.grow_styrene} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename examples/USER/reaction/create_atoms_polystyrene/{chain_plus_styrene_map_create_atoms => grow_styrene.map} (100%) rename examples/USER/reaction/create_atoms_polystyrene/{chain_plus_styrene_reacted.data_template => grow_styrene_post.data_template} (100%) rename examples/USER/reaction/create_atoms_polystyrene/{chain_plus_styrene_unreacted_create_atoms.data_template => grow_styrene_pre.data_template} (100%) rename examples/USER/reaction/create_atoms_polystyrene/{infromdata.class2 => in.grow_styrene} (100%) diff --git a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms b/examples/USER/reaction/create_atoms_polystyrene/grow_styrene.map similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_map_create_atoms rename to examples/USER/reaction/create_atoms_polystyrene/grow_styrene.map diff --git a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template b/examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_reacted.data_template rename to examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template diff --git a/examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template b/examples/USER/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/chain_plus_styrene_unreacted_create_atoms.data_template rename to examples/USER/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template diff --git a/examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 b/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/infromdata.class2 rename to examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene From dde3a8cebba81d634238b49645f528e1f3120753 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 21:00:46 -0500 Subject: [PATCH 067/132] update log files --- .../8procs_out.lammps | 4137 ----------------- .../create_atoms_polystyrene/in.grow_styrene | 11 +- .../log.24Dec20.grow_styrene.g++.1 | 196 + .../log.24Dec20.grow_styrene.g++.4 | 196 + 4 files changed, 400 insertions(+), 4140 deletions(-) delete mode 100644 examples/USER/reaction/create_atoms_polystyrene/8procs_out.lammps create mode 100644 examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 create mode 100644 examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 diff --git a/examples/USER/reaction/create_atoms_polystyrene/8procs_out.lammps b/examples/USER/reaction/create_atoms_polystyrene/8procs_out.lammps deleted file mode 100644 index 953a32394a..0000000000 --- a/examples/USER/reaction/create_atoms_polystyrene/8procs_out.lammps +++ /dev/null @@ -1,4137 +0,0 @@ -LAMMPS (22 Oct 2020) -Reading data file ... - orthogonal box = (50.000000 50.000000 50.000000) to (250.00000 250.00000 250.00000) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 48 atoms - reading velocities ... - 48 velocities - scanning bonds ... - 8 = max bonds/atom - scanning angles ... - 21 = max angles/atom - scanning dihedrals ... - 33 = max dihedrals/atom - scanning impropers ... - 29 = max impropers/atom - reading bonds ... - 50 bonds - reading angles ... - 84 angles - reading dihedrals ... - 127 dihedrals - reading impropers ... - 36 impropers -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0.0 0.0 0.0 - special bond factors coul: 0.0 0.0 0.0 - 4 = max # of 1-2 neighbors - 8 = max # of 1-3 neighbors - 17 = max # of 1-4 neighbors - 46 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.022 seconds -Read molecule template mol3: - 1 molecules - 30 atoms with max type 6 - 31 bonds with max type 10 - 51 angles with max type 16 - 73 dihedrals with max type 19 - 21 impropers with max type 7 -Read molecule template mol4: - 1 molecules - 46 atoms with max type 6 - 48 bonds with max type 13 - 81 angles with max type 22 - 121 dihedrals with max type 36 - 35 impropers with max type 9 -dynamic group bond_react_MASTER_group defined -dynamic group statted_grp_REACT defined -PPPM initialization ... -WARNING: System is not charge neutral, net charge = -0.0006 (../kspace.cpp:313) - using 12-bit tables for long-range coulomb (../kspace.cpp:328) - G vector (1/distance) = 0.20144813 - grid = 45 45 45 - stencil order = 5 - estimated absolute RMS force accuracy = 0.00053712952 - estimated relative force accuracy = 1.6175496e-06 - using double precision KISS FFT - 3d grid and FFT values/proc = 21952 12167 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 10.5 - ghost atom cutoff = 10.5 - binsize = 5.25, bins = 39 39 39 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) pair lj/class2/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard - (2) fix bond/react, occasional, copy from (1) - attributes: half, newton on - pair build: copy - stencil: none - bin: none -Setting up Verlet run ... - Unit style : real - Current step : 0 - Time step : 1.0 -WARNING: Inconsistent image flags (../domain.cpp:812) -Per MPI rank memory allocation (min/avg/max) = 37.97 | 38.12 | 38.70 Mbytes -Step Temp Press Density f_rxn1[1] - 0 496.23742 0.9983211 6.4856516e-05 0 - 2 672.73362 -516.54985 8.6475354e-05 1 - 4 667.5039 -434.77386 8.6475354e-05 1 - 6 672.39598 -362.84027 8.6475354e-05 1 - 8 685.87152 -299.54792 8.6475354e-05 1 - 10 691.00305 -244.43255 8.6475354e-05 1 - 12 669.95405 -197.53983 8.6475354e-05 1 - 14 646.37761 -158.31437 8.6475354e-05 1 - 16 643.66763 -125.39769 8.6475354e-05 1 - 18 667.56644 -97.573538 8.6475354e-05 1 - 20 703.91664 -74.339207 8.6475354e-05 1 - 22 720.06237 -55.689578 8.6475354e-05 1 - 24 697.20697 -41.333247 8.6475354e-05 1 - 26 674.83509 -30.383402 8.6475354e-05 1 - 28 670.01312 -21.803547 8.6475354e-05 1 - 30 679.49765 -15.012223 8.6475354e-05 1 - 32 700.25949 -9.9961585 8.6475354e-05 1 - 34 700.57498 -6.7727869 8.6475354e-05 1 - 36 685.11304 -4.9950196 8.6475354e-05 1 - 38 678.32094 -4.0105508 8.6475354e-05 1 - 40 676.78265 -3.2337378 8.6475354e-05 1 - 42 678.24749 -2.5623955 8.6475354e-05 1 - 44 681.72485 -2.2286571 8.6475354e-05 1 - 46 668.52658 -2.2541195 8.6475354e-05 1 - 48 658.84625 -2.3473498 8.6475354e-05 1 - 50 655.89802 -2.1608375 8.6475354e-05 1 - 52 650.56205 -1.68496 8.6475354e-05 1 - 54 666.65857 -1.3229867 8.6475354e-05 1 - 56 690.98887 -1.3111684 8.6475354e-05 1 - 58 712.94292 -1.4938499 8.6475354e-05 1 - 60 727.24487 -1.5260071 8.6475354e-05 1 - 62 718.0806 -1.2046747 8.6475354e-05 1 - 64 700.02584 -0.7635068 8.6475354e-05 1 - 66 688.52896 -0.53631295 8.6475354e-05 1 - 68 679.79647 -0.53791747 8.6475354e-05 1 - 70 694.44255 -0.5532644 8.6475354e-05 1 - 72 713.0813 -0.30885385 8.6475354e-05 1 - 74 721.95891 0.134531 8.6475354e-05 1 - 76 742.81658 0.42479462 8.6475354e-05 1 - 78 743.68772 0.45650714 8.6475354e-05 1 - 80 735.07709 0.32514596 8.6475354e-05 1 - 82 740.82043 0.20849187 8.6475354e-05 1 - 84 734.58615 0.24802492 8.6475354e-05 1 - 86 739.66066 0.25495108 8.6475354e-05 1 - 88 753.76371 0.1002615 8.6475354e-05 1 - 90 747.39108 -0.10177519 8.6475354e-05 1 - 92 756.14087 -0.28921143 8.6475354e-05 1 - 94 763.80064 -0.3136942 8.6475354e-05 1 - 96 758.26501 -0.22731262 8.6475354e-05 1 - 98 780.51378 -0.27873344 8.6475354e-05 1 - 100 778.14888 -0.39476034 8.6475354e-05 1 - 102 749.63152 -0.47648489 8.6475354e-05 1 - 104 846.93279 -515.29892 0.00010809419 2 - 106 826.13617 -433.34463 0.00010809419 2 - 108 816.77932 -361.49619 0.00010809419 2 - 110 832.98668 -298.67436 0.00010809419 2 - 112 828.70355 -243.96707 0.00010809419 2 - 114 829.78649 -196.94812 0.00010809419 2 - 116 834.95318 -157.12951 0.00010809419 2 - 118 818.14589 -123.74396 0.00010809419 2 - 120 823.23317 -96.119924 0.00010809419 2 - 122 827.11868 -73.432562 0.00010809419 2 - 124 818.85373 -55.093931 0.00010809419 2 - 126 819.83268 -40.717815 0.00010809419 2 - 128 810.0448 -29.70583 0.00010809419 2 - 130 811.69158 -21.50551 0.00010809419 2 - 132 821.37302 -15.473802 0.00010809419 2 - 134 820.66577 -10.994366 0.00010809419 2 - 136 828.20766 -7.7873437 0.00010809419 2 - 138 835.82332 -5.6282316 0.00010809419 2 - 140 845.10867 -4.2922973 0.00010809419 2 - 142 871.58701 -3.5134098 0.00010809419 2 - 144 879.74364 -2.8383489 0.00010809419 2 - 146 875.03242 -2.0846919 0.00010809419 2 - 148 877.25151 -1.3780873 0.00010809419 2 - 150 873.17469 -0.84990975 0.00010809419 2 - 152 890.04002 -0.60830118 0.00010809419 2 - 154 903.70012 -0.4683428 0.00010809419 2 - 156 899.27359 -0.23979738 0.00010809419 2 - 158 898.85893 0.0077916688 0.00010809419 2 - 160 893.65077 0.16405785 0.00010809419 2 - 162 891.71694 0.14137049 0.00010809419 2 - 164 903.78638 0.04704286 0.00010809419 2 - 166 905.9683 0.1349231 0.00010809419 2 - 168 910.76595 0.40440178 0.00010809419 2 - 170 922.28442 0.6891772 0.00010809419 2 - 172 916.21424 0.86117662 0.00010809419 2 - 174 903.02225 0.89400959 0.00010809419 2 - 176 885.39888 0.97920294 0.00010809419 2 - 178 870.41144 1.2525889 0.00010809419 2 - 180 869.70627 1.6068325 0.00010809419 2 - 182 871.11959 1.8160032 0.00010809419 2 - 184 869.3783 1.7223162 0.00010809419 2 - 186 864.82644 1.49422 0.00010809419 2 - 188 870.53517 1.4225742 0.00010809419 2 - 190 886.68548 1.5811771 0.00010809419 2 - 192 891.75807 1.7148245 0.00010809419 2 - 194 894.5438 1.4550304 0.00010809419 2 - 196 884.78947 0.8635917 0.00010809419 2 - 198 868.94073 0.33605001 0.00010809419 2 - 200 875.79343 0.13232632 0.00010809419 2 - 202 883.35077 0.23108222 0.00010809419 2 - 204 888.58232 0.25927752 0.00010809419 2 - 206 1107.5599 8637688.5 0.00012971303 3 - 208 1110.7846 377601.17 0.00012971303 3 - 210 1119.1946 40058.093 0.00012971303 3 - 212 1133.7765 7445.8597 0.00012971303 3 - 214 1135.8825 1828.4071 0.00012971303 3 - 216 1158.7218 403.45537 0.00012971303 3 - 218 1169.4708 -31.054599 0.00012971303 3 - 220 1160.98 -156.65213 0.00012971303 3 - 222 1155.6262 -176.44394 0.00012971303 3 - 224 1131.1594 -167.87497 0.00012971303 3 - 226 1113.9144 -147.95888 0.00012971303 3 - 228 1129.7212 -122.18556 0.00012971303 3 - 230 1135.2926 -98.191841 0.00012971303 3 - 232 1139.5082 -76.954463 0.00012971303 3 - 234 1138.3988 -58.569198 0.00012971303 3 - 236 1114.7516 -43.273595 0.00012971303 3 - 238 1111.675 -31.385143 0.00012971303 3 - 240 1108.3656 -22.575824 0.00012971303 3 - 242 1098.2288 -16.049189 0.00012971303 3 - 244 1097.5592 -11.075179 0.00012971303 3 - 246 1080.575 -7.2891243 0.00012971303 3 - 248 1062.281 -4.8100451 0.00012971303 3 - 250 1054.3602 -3.6457718 0.00012971303 3 - 252 1041.5474 -3.2427207 0.00012971303 3 - 254 1049.6522 -3.0128429 0.00012971303 3 - 256 1067.6297 -2.6265895 0.00012971303 3 - 258 1081.6873 -2.1996331 0.00012971303 3 - 260 1103.2003 -2.0609219 0.00012971303 3 - 262 1103.0801 -2.1514117 0.00012971303 3 - 264 1118.9504 -2.2123932 0.00012971303 3 - 266 1156.5552 -1.9428664 0.00012971303 3 - 268 1167.8606 -1.2867254 0.00012971303 3 - 270 1180.4323 -0.65452596 0.00012971303 3 - 272 1182.9865 -0.2548239 0.00012971303 3 - 274 1168.7598 -0.0051407959 0.00012971303 3 - 276 1186.6008 0.21071708 0.00012971303 3 - 278 1205.0507 0.5419248 0.00012971303 3 - 280 1220.4904 0.76453778 0.00012971303 3 - 282 1244.6059 0.56375436 0.00012971303 3 - 284 1223.3782 0.067494738 0.00012971303 3 - 286 1202.9298 -0.52770675 0.00012971303 3 - 288 1189.6831 -0.93554081 0.00012971303 3 - 290 1154.4315 -1.0402905 0.00012971303 3 - 292 1161.4818 -1.1434855 0.00012971303 3 - 294 1176.833 -1.2714623 0.00012971303 3 - 296 1179.2197 -1.2607495 0.00012971303 3 - 298 1207.8388 -1.0074678 0.00012971303 3 - 300 1215.1726 -0.39937655 0.00012971303 3 - 302 1210.3522 0.26737494 0.00012971303 3 - 304 1218.4689 0.65569106 0.00012971303 3 - 306 1208.8376 0.87597451 0.00012971303 3 - 308 1286.4107 -509.47242 0.00015133187 4 - 310 1273.3815 -427.85316 0.00015133187 4 - 312 1242.1286 -356.22024 0.00015133187 4 - 314 1253.4942 -293.85005 0.00015133187 4 - 316 1273.6312 -239.98924 0.00015133187 4 - 318 1275.0656 -193.99363 0.00015133187 4 - 320 1295.9103 -155.20399 0.00015133187 4 - 322 1290.9077 -122.56609 0.00015133187 4 - 324 1271.6566 -95.381388 0.00015133187 4 - 326 1263.8102 -73.165359 0.00015133187 4 - 328 1239.1977 -55.302863 0.00015133187 4 - 330 1227.6108 -41.236285 0.00015133187 4 - 332 1224.4531 -30.167712 0.00015133187 4 - 334 1208.0527 -21.468457 0.00015133187 4 - 336 1235.9468 -14.916123 0.00015133187 4 - 338 1267.1547 -10.131348 0.00015133187 4 - 340 1292.5478 -6.8056873 0.00015133187 4 - 342 1335.1976 -4.6458831 0.00015133187 4 - 344 1331.0703 -3.2217937 0.00015133187 4 - 346 1304.564 -2.4053344 0.00015133187 4 - 348 1294.6672 -2.0166678 0.00015133187 4 - 350 1275.671 -1.7896119 0.00015133187 4 - 352 1270.708 -1.6647554 0.00015133187 4 - 354 1269.5585 -1.5099971 0.00015133187 4 - 356 1246.2033 -1.2754664 0.00015133187 4 - 358 1255.6589 -1.126802 0.00015133187 4 - 360 1268.2565 -0.97986712 0.00015133187 4 - 362 1275.1167 -0.76954276 0.00015133187 4 - 364 1287.7098 -0.52952795 0.00015133187 4 - 366 1263.1765 -0.27860938 0.00015133187 4 - 368 1232.2653 -0.18570194 0.00015133187 4 - 370 1230.2485 -0.26197611 0.00015133187 4 - 372 1233.9159 -0.30708265 0.00015133187 4 - 374 1253.5708 -0.26988589 0.00015133187 4 - 376 1282.6496 -0.19467244 0.00015133187 4 - 378 1298.4463 -0.17751858 0.00015133187 4 - 380 1320.5676 -0.27144792 0.00015133187 4 - 382 1338.5616 -0.30891377 0.00015133187 4 - 384 1351.3783 -0.18933152 0.00015133187 4 - 386 1357.3252 0.0265073 0.00015133187 4 - 388 1344.6374 0.20930056 0.00015133187 4 - 390 1333.1019 0.27147994 0.00015133187 4 - 392 1337.4623 0.32960244 0.00015133187 4 - 394 1357.0506 0.53222632 0.00015133187 4 - 396 1383.0145 0.84287387 0.00015133187 4 - 398 1402.3315 1.0270585 0.00015133187 4 - 400 1410.03 0.87301772 0.00015133187 4 - 402 1397.5003 0.50658616 0.00015133187 4 - 404 1371.0536 0.22338437 0.00015133187 4 - 406 1355.6828 0.12299714 0.00015133187 4 - 408 1349.6668 0.084479741 0.00015133187 4 - 410 1534.4693 -221.57225 0.00017295071 5 - 412 1543.4054 -308.97261 0.00017295071 5 - 414 1532.8454 -300.08081 0.00017295071 5 - 416 1533.4105 -263.77232 0.00017295071 5 - 418 1537.4915 -221.76219 0.00017295071 5 - 420 1530.954 -181.87958 0.00017295071 5 - 422 1535.7748 -146.85737 0.00017295071 5 - 424 1519.1766 -116.85102 0.00017295071 5 - 426 1497.2677 -91.226974 0.00017295071 5 - 428 1492.6473 -69.62357 0.00017295071 5 - 430 1472.5275 -52.059519 0.00017295071 5 - 432 1462.4413 -38.529891 0.00017295071 5 - 434 1468.9696 -28.36966 0.00017295071 5 - 436 1452.932 -20.460639 0.00017295071 5 - 438 1468.2846 -14.114515 0.00017295071 5 - 440 1490.4484 -9.1886317 0.00017295071 5 - 442 1487.1913 -5.942928 0.00017295071 5 - 444 1497.2185 -4.4123187 0.00017295071 5 - 446 1478.8939 -3.8118845 0.00017295071 5 - 448 1456.0017 -3.3353043 0.00017295071 5 - 450 1466.4786 -2.6872974 0.00017295071 5 - 452 1465.5824 -2.1548854 0.00017295071 5 - 454 1464.9664 -2.2552192 0.00017295071 5 - 456 1464.778 -2.8523593 0.00017295071 5 - 458 1438.9393 -3.2513212 0.00017295071 5 - 460 1430.9755 -3.129067 0.00017295071 5 - 462 1438.8786 -2.7207139 0.00017295071 5 - 464 1442.65 -2.5598392 0.00017295071 5 - 466 1457.4603 -2.8627635 0.00017295071 5 - 468 1456.3288 -3.1617133 0.00017295071 5 - 470 1453.9005 -2.984669 0.00017295071 5 - 472 1466.2228 -2.3645176 0.00017295071 5 - 474 1473.5811 -1.8008842 0.00017295071 5 - 476 1486.9192 -1.7752973 0.00017295071 5 - 478 1486.6985 -2.0930366 0.00017295071 5 - 480 1481.2602 -2.2133575 0.00017295071 5 - 482 1481.1923 -1.8733217 0.00017295071 5 - 484 1473.2641 -1.3520504 0.00017295071 5 - 486 1471.6493 -1.1879697 0.00017295071 5 - 488 1475.4712 -1.4344883 0.00017295071 5 - 490 1481.9981 -1.6453745 0.00017295071 5 - 492 1504.055 -1.4250176 0.00017295071 5 - 494 1510.1599 -0.76544776 0.00017295071 5 - 496 1496.1128 -0.15333711 0.00017295071 5 - 498 1478.523 0.032710644 0.00017295071 5 - 500 1442.1002 -0.01944848 0.00017295071 5 - 502 1435.515 0.020833055 0.00017295071 5 - 504 1435.4149 0.37469386 0.00017295071 5 - 506 1428.6576 0.78486479 0.00017295071 5 - 508 1431.8185 0.8019623 0.00017295071 5 - 510 1421.3836 0.46585338 0.00017295071 5 - 512 1529.4088 729.29069 0.00019456955 6 - 514 1553.6093 -29.679404 0.00019456955 6 - 516 1560.6793 -193.67199 0.00019456955 6 - 518 1582.4456 -214.57181 0.00019456955 6 - 520 1600.209 -196.52872 0.00019456955 6 - 522 1587.5015 -168.43457 0.00019456955 6 - 524 1597.8334 -139.01628 0.00019456955 6 - 526 1588.3299 -110.66293 0.00019456955 6 - 528 1563.7922 -85.583276 0.00019456955 6 - 530 1562.5661 -65.082386 0.00019456955 6 - 532 1545.9594 -48.827328 0.00019456955 6 - 534 1548.1975 -36.047522 0.00019456955 6 - 536 1571.1596 -25.990003 0.00019456955 6 - 538 1568.3742 -18.119354 0.00019456955 6 - 540 1591.6304 -12.364411 0.00019456955 6 - 542 1621.6504 -8.4436521 0.00019456955 6 - 544 1635.2863 -5.8931502 0.00019456955 6 - 546 1668.6883 -4.3787834 0.00019456955 6 - 548 1677.8643 -3.524089 0.00019456955 6 - 550 1672.6149 -3.1111588 0.00019456955 6 - 552 1686.192 -3.0167906 0.00019456955 6 - 554 1694.1881 -3.021889 0.00019456955 6 - 556 1721.201 -3.0411757 0.00019456955 6 - 558 1756.9269 -2.9903902 0.00019456955 6 - 560 1767.176 -2.8616056 0.00019456955 6 - 562 1781.3616 -2.805622 0.00019456955 6 - 564 1772.6438 -2.7043354 0.00019456955 6 - 566 1752.2449 -2.4746308 0.00019456955 6 - 568 1754.9931 -2.2279232 0.00019456955 6 - 570 1754.7206 -2.0446367 0.00019456955 6 - 572 1758.6452 -2.025602 0.00019456955 6 - 574 1766.1608 -2.0914714 0.00019456955 6 - 576 1761.7544 -2.0664004 0.00019456955 6 - 578 1772.1189 -2.000525 0.00019456955 6 - 580 1799.2454 -2.0250243 0.00019456955 6 - 582 1825.067 -2.2293284 0.00019456955 6 - 584 1849.5617 -2.5697748 0.00019456955 6 - 586 1849.2053 -2.7732917 0.00019456955 6 - 588 1836.8275 -2.7313701 0.00019456955 6 - 590 1826.4569 -2.5953868 0.00019456955 6 - 592 1812.2065 -2.5647921 0.00019456955 6 - 594 1804.9949 -2.6702505 0.00019456955 6 - 596 1803.1318 -2.6613268 0.00019456955 6 - 598 1805.1361 -2.3358896 0.00019456955 6 - 600 1824.188 -1.8387289 0.00019456955 6 - 602 1848.6553 -1.5013544 0.00019456955 6 - 604 1870.6838 -1.5441019 0.00019456955 6 - 606 1874.9469 -1.8017458 0.00019456955 6 - 608 1869.5686 -1.9218444 0.00019456955 6 - 610 1877.623 -1.7853588 0.00019456955 6 - 612 1889.4207 -1.5668847 0.00019456955 6 - 614 1965.8448 -467.80498 0.00021618839 7 - 616 1987.3298 -392.09435 0.00021618839 7 - 618 2000.2927 -325.81873 0.00021618839 7 - 620 2023.5139 -267.59947 0.00021618839 7 - 622 2053.7762 -216.83693 0.00021618839 7 - 624 2061.6352 -173.50374 0.00021618839 7 - 626 2052.7458 -137.4578 0.00021618839 7 - 628 2021.4692 -107.67926 0.00021618839 7 - 630 1995.4739 -82.926012 0.00021618839 7 - 632 1995.1292 -62.399746 0.00021618839 7 - 634 1988.8957 -45.877721 0.00021618839 7 - 636 1991.9075 -33.414941 0.00021618839 7 - 638 1994.8193 -24.397758 0.00021618839 7 - 640 1984.0488 -17.632089 0.00021618839 7 - 642 1979.6828 -12.220819 0.00021618839 7 - 644 1956.266 -7.8761194 0.00021618839 7 - 646 1921.9407 -4.9132587 0.00021618839 7 - 648 1906.8953 -3.4249108 0.00021618839 7 - 650 1884.0064 -2.7059283 0.00021618839 7 - 652 1873.4695 -1.9767323 0.00021618839 7 - 654 1879.7171 -0.9043862 0.00021618839 7 - 656 1864.2258 0.17074359 0.00021618839 7 - 658 1879.9729 0.52626965 0.00021618839 7 - 660 1914.8077 0.17422926 0.00021618839 7 - 662 1951.367 -0.27150227 0.00021618839 7 - 664 2003.6903 -0.40419822 0.00021618839 7 - 666 2022.2638 -0.27719235 0.00021618839 7 - 668 2007.5499 -0.46205565 0.00021618839 7 - 670 2001.0368 -1.2081892 0.00021618839 7 - 672 1989.3934 -1.9884832 0.00021618839 7 - 674 2003.9186 -2.2824546 0.00021618839 7 - 676 2029.3746 -1.9648526 0.00021618839 7 - 678 2029.8301 -1.4595559 0.00021618839 7 - 680 2039.736 -1.3563856 0.00021618839 7 - 682 2030.692 -1.5588443 0.00021618839 7 - 684 2012.8781 -1.6591768 0.00021618839 7 - 686 2007.5676 -1.4469618 0.00021618839 7 - 688 1976.2079 -1.0593207 0.00021618839 7 - 690 1936.7606 -0.99860488 0.00021618839 7 - 692 1917.263 -1.4227025 0.00021618839 7 - 694 1898.286 -1.8944056 0.00021618839 7 - 696 1908.9759 -2.0293348 0.00021618839 7 - 698 1929.625 -1.7527389 0.00021618839 7 - 700 1928.5094 -1.4327584 0.00021618839 7 - 702 1925.3732 -1.4772437 0.00021618839 7 - 704 1905.6439 -1.7140386 0.00021618839 7 - 706 1892.0501 -1.7837212 0.00021618839 7 - 708 1897.1334 -1.5195612 0.00021618839 7 - 710 1891.8002 -1.0767969 0.00021618839 7 - 712 1899.5619 -0.86887435 0.00021618839 7 - 714 1905.3485 -0.94002209 0.00021618839 7 - 716 2060.3083 -484.08676 0.00023780722 8 - 718 2101.3468 -422.17239 0.00023780722 8 - 720 2132.6048 -356.92116 0.00023780722 8 - 722 2148.8483 -296.33815 0.00023780722 8 - 724 2165.9219 -242.83932 0.00023780722 8 - 726 2152.8378 -196.66477 0.00023780722 8 - 728 2140.9769 -157.3232 0.00023780722 8 - 730 2135.9583 -124.09964 0.00023780722 8 - 732 2109.2748 -96.383726 0.00023780722 8 - 734 2102.2854 -73.867192 0.00023780722 8 - 736 2094.2383 -56.001724 0.00023780722 8 - 738 2077.1035 -41.839387 0.00023780722 8 - 740 2081.3509 -30.614919 0.00023780722 8 - 742 2066.1613 -21.796463 0.00023780722 8 - 744 2041.6068 -15.208246 0.00023780722 8 - 746 2023.3105 -10.622121 0.00023780722 8 - 748 1988.2601 -7.4664823 0.00023780722 8 - 750 1976.5559 -5.2218916 0.00023780722 8 - 752 1994.2738 -3.5641818 0.00023780722 8 - 754 2015.1651 -2.4337385 0.00023780722 8 - 756 2059.2266 -1.8718232 0.00023780722 8 - 758 2080.4658 -1.5660802 0.00023780722 8 - 760 2085.6804 -1.2208682 0.00023780722 8 - 762 2111.7377 -0.80876969 0.00023780722 8 - 764 2123.4038 -0.46004685 0.00023780722 8 - 766 2142.9461 -0.50137367 0.00023780722 8 - 768 2155.9796 -0.88504716 0.00023780722 8 - 770 2137.3328 -1.2131181 0.00023780722 8 - 772 2133.4178 -1.2839864 0.00023780722 8 - 774 2135.5642 -1.1107438 0.00023780722 8 - 776 2131.4716 -0.9763852 0.00023780722 8 - 778 2141.1425 -1.1141508 0.00023780722 8 - 780 2122.4577 -1.2362837 0.00023780722 8 - 782 2097.188 -1.0587093 0.00023780722 8 - 784 2086.4293 -0.54517591 0.00023780722 8 - 786 2059.7386 0.078658205 0.00023780722 8 - 788 2056.9502 0.39365487 0.00023780722 8 - 790 2059.7875 0.44862285 0.00023780722 8 - 792 2053.9519 0.57572021 0.00023780722 8 - 794 2068.6847 0.87417066 0.00023780722 8 - 796 2074.5991 1.2047124 0.00023780722 8 - 798 2069.278 1.2159747 0.00023780722 8 - 800 2066.7899 0.81647619 0.00023780722 8 - 802 2049.668 0.38483557 0.00023780722 8 - 804 2041.8371 0.23434063 0.00023780722 8 - 806 2038.5434 0.39443232 0.00023780722 8 - 808 2026.6223 0.58693138 0.00023780722 8 - 810 2024.1624 0.5475207 0.00023780722 8 - 812 2004.3173 0.49231818 0.00023780722 8 - 814 1990.7789 0.70059886 0.00023780722 8 - 816 1987.2131 1.2210152 0.00023780722 8 - 818 2161.5038 10822.918 0.00025942606 9 - 820 2177.4678 1175.2783 0.00025942606 9 - 822 2184.519 57.816329 0.00025942606 9 - 824 2178.3276 -139.4906 0.00025942606 9 - 826 2180.645 -171.63641 0.00025942606 9 - 828 2165.9354 -159.58872 0.00025942606 9 - 830 2154.8716 -135.85339 0.00025942606 9 - 832 2159.4294 -110.79695 0.00025942606 9 - 834 2153.9831 -87.18999 0.00025942606 9 - 836 2167.9422 -66.446821 0.00025942606 9 - 838 2187.3361 -49.192935 0.00025942606 9 - 840 2200.8082 -35.535202 0.00025942606 9 - 842 2228.2294 -25.285213 0.00025942606 9 - 844 2225.4003 -17.694836 0.00025942606 9 - 846 2206.6625 -11.958408 0.00025942606 9 - 848 2190.7535 -7.5738088 0.00025942606 9 - 850 2158.8859 -4.4081209 0.00025942606 9 - 852 2150.4249 -2.6693514 0.00025942606 9 - 854 2146.7827 -2.1285586 0.00025942606 9 - 856 2121.866 -2.0452297 0.00025942606 9 - 858 2113.5398 -1.930143 0.00025942606 9 - 860 2093.4925 -1.6900544 0.00025942606 9 - 862 2074.3135 -1.6580782 0.00025942606 9 - 864 2088.9188 -2.0758526 0.00025942606 9 - 866 2087.6915 -2.5592562 0.00025942606 9 - 868 2097.5344 -2.7852457 0.00025942606 9 - 870 2112.2374 -2.6428098 0.00025942606 9 - 872 2097.2111 -2.3002782 0.00025942606 9 - 874 2106.853 -2.1636293 0.00025942606 9 - 876 2129.5068 -2.1747853 0.00025942606 9 - 878 2161.3576 -2.0561981 0.00025942606 9 - 880 2217.5514 -1.7416833 0.00025942606 9 - 882 2230.9698 -1.2884706 0.00025942606 9 - 884 2211.38 -1.0467174 0.00025942606 9 - 886 2187.0138 -1.1460354 0.00025942606 9 - 888 2146.1106 -1.2881048 0.00025942606 9 - 890 2140.9302 -1.3342717 0.00025942606 9 - 892 2149.0235 -1.2373227 0.00025942606 9 - 894 2134.5144 -1.1269002 0.00025942606 9 - 896 2142.6185 -1.2248568 0.00025942606 9 - 898 2137.3035 -1.302225 0.00025942606 9 - 900 2138.4339 -1.1745745 0.00025942606 9 - 902 2166.0789 -0.883737 0.00025942606 9 - 904 2166.6321 -0.53814532 0.00025942606 9 - 906 2163.9023 -0.4089786 0.00025942606 9 - 908 2153.7644 -0.42222952 0.00025942606 9 - 910 2124.8196 -0.28063037 0.00025942606 9 - 912 2123.2354 0.043174822 0.00025942606 9 - 914 2130.1172 0.46272084 0.00025942606 9 - 916 2139.3275 0.76049317 0.00025942606 9 - 918 2178.3808 0.82940816 0.00025942606 9 - 920 2323.8782 -485.39314 0.0002810449 10 - 922 2332.1565 -406.46688 0.0002810449 10 - 924 2336.3166 -337.18565 0.0002810449 10 - 926 2313.084 -276.7101 0.0002810449 10 - 928 2301.6359 -224.66195 0.0002810449 10 - 930 2284.8771 -180.5217 0.0002810449 10 - 932 2268.3016 -143.34858 0.0002810449 10 - 934 2283.2572 -112.17043 0.0002810449 10 - 936 2301.3935 -86.232909 0.0002810449 10 - 938 2326.6508 -65.092653 0.0002810449 10 - 940 2354.0325 -48.308852 0.0002810449 10 - 942 2357.0053 -35.117439 0.0002810449 10 - 944 2362.4019 -24.804745 0.0002810449 10 - 946 2364.5934 -16.882852 0.0002810449 10 - 948 2354.2772 -11.08542 0.0002810449 10 - 950 2358.2567 -7.2073771 0.0002810449 10 - 952 2357.9722 -4.7692456 0.0002810449 10 - 954 2370.3706 -3.2926218 0.0002810449 10 - 956 2395.8214 -2.466307 0.0002810449 10 - 958 2401.6564 -2.11421 0.0002810449 10 - 960 2403.7092 -2.1429976 0.0002810449 10 - 962 2396.0698 -2.2959924 0.0002810449 10 - 964 2390.1649 -2.3157527 0.0002810449 10 - 966 2404.5929 -2.1734121 0.0002810449 10 - 968 2408.3192 -1.98028 0.0002810449 10 - 970 2398.7909 -1.9375567 0.0002810449 10 - 972 2383.6803 -2.0199738 0.0002810449 10 - 974 2355.1449 -1.9574814 0.0002810449 10 - 976 2346.3489 -1.6961375 0.0002810449 10 - 978 2347.3597 -1.3865895 0.0002810449 10 - 980 2343.0369 -1.2700218 0.0002810449 10 - 982 2345.3213 -1.4297279 0.0002810449 10 - 984 2327.6 -1.5695591 0.0002810449 10 - 986 2318.7362 -1.4876651 0.0002810449 10 - 988 2326.2577 -1.2479203 0.0002810449 10 - 990 2316.612 -1.046613 0.0002810449 10 - 992 2313.3503 -1.0544885 0.0002810449 10 - 994 2314.0739 -1.0425882 0.0002810449 10 - 996 2317.8974 -0.69797366 0.0002810449 10 - 998 2349.5732 -0.086575463 0.0002810449 10 - 1000 2378.2958 0.48380694 0.0002810449 10 - 1002 2398.6531 0.66903819 0.0002810449 10 - 1004 2417.9165 0.48507547 0.0002810449 10 - 1006 2402.714 0.343508 0.0002810449 10 - 1008 2387.7715 0.39591155 0.0002810449 10 - 1010 2384.6905 0.48121177 0.0002810449 10 - 1012 2374.5546 0.33734725 0.0002810449 10 - 1014 2375.4496 -0.12992559 0.0002810449 10 - 1016 2366.5143 -0.54452336 0.0002810449 10 - 1018 2351.6829 -0.56192848 0.0002810449 10 - 1020 2345.0219 -0.2460576 0.0002810449 10 - 1022 2463.1847 -516.33252 0.00030266374 11 - 1024 2454.155 -435.41186 0.00030266374 11 - 1026 2437.707 -363.71737 0.00030266374 11 - 1028 2408.2814 -300.48778 0.00030266374 11 - 1030 2391.9754 -245.2709 0.00030266374 11 - 1032 2379.439 -197.89467 0.00030266374 11 - 1034 2368.5571 -158.05214 0.00030266374 11 - 1036 2366.4376 -124.96986 0.00030266374 11 - 1038 2352.3062 -97.480849 0.00030266374 11 - 1040 2359.7206 -74.664867 0.00030266374 11 - 1042 2380.554 -56.050357 0.00030266374 11 - 1044 2392.3114 -41.388607 0.00030266374 11 - 1046 2406.4028 -30.298934 0.00030266374 11 - 1048 2397.032 -21.930411 0.00030266374 11 - 1050 2388.3085 -15.453312 0.00030266374 11 - 1052 2408.961 -10.487276 0.00030266374 11 - 1054 2415.0795 -6.9671499 0.00030266374 11 - 1056 2413.2045 -4.92205 0.00030266374 11 - 1058 2402.5175 -3.9355994 0.00030266374 11 - 1060 2372.7166 -3.3093623 0.00030266374 11 - 1062 2379.1447 -2.6515003 0.00030266374 11 - 1064 2403.202 -1.9596171 0.00030266374 11 - 1066 2420.0621 -1.5615553 0.00030266374 11 - 1068 2434.315 -1.6023246 0.00030266374 11 - 1070 2413.6852 -1.6808363 0.00030266374 11 - 1072 2390.6494 -1.4902277 0.00030266374 11 - 1074 2391.2701 -1.1175681 0.00030266374 11 - 1076 2384.3245 -0.86479593 0.00030266374 11 - 1078 2383.5286 -0.99750191 0.00030266374 11 - 1080 2361.881 -1.2538663 0.00030266374 11 - 1082 2310.5086 -1.2171158 0.00030266374 11 - 1084 2271.943 -0.84898316 0.00030266374 11 - 1086 2245.7089 -0.41447514 0.00030266374 11 - 1088 2238.5277 -0.24768594 0.00030266374 11 - 1090 2250.6586 -0.33937731 0.00030266374 11 - 1092 2252.3465 -0.28270513 0.00030266374 11 - 1094 2257.7627 0.15192401 0.00030266374 11 - 1096 2269.8741 0.81014869 0.00030266374 11 - 1098 2286.5891 1.2659299 0.00030266374 11 - 1100 2325.5369 1.2551156 0.00030266374 11 - 1102 2346.6869 1.0727392 0.00030266374 11 - 1104 2355.8688 1.0527111 0.00030266374 11 - 1106 2358.3475 1.2373615 0.00030266374 11 - 1108 2345.8422 1.3818899 0.00030266374 11 - 1110 2353.8344 1.1564982 0.00030266374 11 - 1112 2369.5181 0.66950876 0.00030266374 11 - 1114 2373.066 0.29808963 0.00030266374 11 - 1116 2378.6809 0.23783651 0.00030266374 11 - 1118 2364.3707 0.43587025 0.00030266374 11 - 1120 2348.2868 0.57308599 0.00030266374 11 - 1122 2353.9119 0.50264505 0.00030266374 11 - 1124 2522.0253 52021.206 0.00032428258 12 - 1126 2539.0142 7338.6879 0.00032428258 12 - 1128 2559.8158 1270.0735 0.00032428258 12 - 1130 2561.38 145.3418 0.00032428258 12 - 1132 2579.5507 -94.489179 0.00032428258 12 - 1134 2589.1423 -136.27816 0.00032428258 12 - 1136 2596.4703 -127.81426 0.00032428258 12 - 1138 2624.7426 -107.06193 0.00032428258 12 - 1140 2635.6919 -85.101749 0.00032428258 12 - 1142 2646.3826 -65.610499 0.00032428258 12 - 1144 2659.2678 -49.534785 0.00032428258 12 - 1146 2649.6461 -36.607005 0.00032428258 12 - 1148 2660.6024 -26.488565 0.00032428258 12 - 1150 2670.7082 -18.659422 0.00032428258 12 - 1152 2675.1501 -12.837639 0.00032428258 12 - 1154 2698.7451 -8.8002486 0.00032428258 12 - 1156 2707.7717 -5.9663794 0.00032428258 12 - 1158 2729.6321 -3.9589674 0.00032428258 12 - 1160 2770.6577 -2.6699229 0.00032428258 12 - 1162 2784.6698 -1.9813875 0.00032428258 12 - 1164 2793.4127 -1.7981665 0.00032428258 12 - 1166 2786.6171 -1.8331689 0.00032428258 12 - 1168 2763.219 -1.8406929 0.00032428258 12 - 1170 2760.6924 -1.8850852 0.00032428258 12 - 1172 2757.2723 -2.0886949 0.00032428258 12 - 1174 2756.8909 -2.6016683 0.00032428258 12 - 1176 2771.3594 -3.2945397 0.00032428258 12 - 1178 2766.3013 -3.773452 0.00032428258 12 - 1180 2754.5699 -3.9231145 0.00032428258 12 - 1182 2743.4624 -3.8874086 0.00032428258 12 - 1184 2724.9347 -3.8562824 0.00032428258 12 - 1186 2722.9503 -3.8989691 0.00032428258 12 - 1188 2735.073 -3.7774613 0.00032428258 12 - 1190 2744.2224 -3.2658869 0.00032428258 12 - 1192 2748.5938 -2.4445578 0.00032428258 12 - 1194 2740.3303 -1.62823 0.00032428258 12 - 1196 2731.1588 -1.1293334 0.00032428258 12 - 1198 2726.6177 -0.94476657 0.00032428258 12 - 1200 2729.2096 -0.85989877 0.00032428258 12 - 1202 2733.9837 -0.76063952 0.00032428258 12 - 1204 2729.2231 -0.7546601 0.00032428258 12 - 1206 2727.2562 -1.0700876 0.00032428258 12 - 1208 2720.7499 -1.6500762 0.00032428258 12 - 1210 2708.6566 -2.1851417 0.00032428258 12 - 1212 2701.892 -2.4148926 0.00032428258 12 - 1214 2688.1758 -2.271921 0.00032428258 12 - 1216 2685.2216 -1.9798955 0.00032428258 12 - 1218 2706.9007 -1.7191217 0.00032428258 12 - 1220 2713.4925 -1.3407824 0.00032428258 12 - 1222 2738.9322 -0.77566391 0.00032428258 12 - 1224 2775.5509 -0.0090904929 0.00032428258 12 - 1226 2871.2813 -310.16764 0.00034590142 13 - 1228 2871.5817 -331.77712 0.00034590142 13 - 1230 2857.2201 -300.83945 0.00034590142 13 - 1232 2837.3673 -256.8061 0.00034590142 13 - 1234 2862.5084 -212.5256 0.00034590142 13 - 1236 2874.7593 -172.25556 0.00034590142 13 - 1238 2882.6633 -137.48854 0.00034590142 13 - 1240 2909.4893 -108.42395 0.00034590142 13 - 1242 2899.363 -84.307615 0.00034590142 13 - 1244 2909.5571 -64.468204 0.00034590142 13 - 1246 2941.0066 -48.373391 0.00034590142 13 - 1248 2936.772 -35.618618 0.00034590142 13 - 1250 2952.4744 -26.043372 0.00034590142 13 - 1252 2969.6093 -18.874053 0.00034590142 13 - 1254 2965.3037 -13.316472 0.00034590142 13 - 1256 2995.4101 -9.132234 0.00034590142 13 - 1258 3007.6778 -6.1946405 0.00034590142 13 - 1260 2994.9045 -4.5054107 0.00034590142 13 - 1262 3004.2835 -3.8873592 0.00034590142 13 - 1264 3001.6362 -3.6367295 0.00034590142 13 - 1266 3010.5562 -3.3538168 0.00034590142 13 - 1268 3046.5006 -3.141016 0.00034590142 13 - 1270 3056.1295 -3.1442573 0.00034590142 13 - 1272 3073.7105 -3.4643552 0.00034590142 13 - 1274 3102.7734 -3.7810315 0.00034590142 13 - 1276 3117.8626 -3.7042351 0.00034590142 13 - 1278 3138.7031 -3.3068889 0.00034590142 13 - 1280 3141.649 -2.81218 0.00034590142 13 - 1282 3120.5478 -2.4008861 0.00034590142 13 - 1284 3115.974 -2.0656352 0.00034590142 13 - 1286 3099.7148 -1.5004649 0.00034590142 13 - 1288 3082.8778 -0.71815106 0.00034590142 13 - 1290 3090.2566 -0.080564342 0.00034590142 13 - 1292 3080.8676 0.15328737 0.00034590142 13 - 1294 3072.2673 -0.084005595 0.00034590142 13 - 1296 3068.6598 -0.48789662 0.00034590142 13 - 1298 3051.4976 -0.73147096 0.00034590142 13 - 1300 3050.1371 -0.91875812 0.00034590142 13 - 1302 3071.9289 -1.302026 0.00034590142 13 - 1304 3089.0938 -1.9004835 0.00034590142 13 - 1306 3115.0464 -2.4956357 0.00034590142 13 - 1308 3141.219 -2.7417336 0.00034590142 13 - 1310 3156.2045 -2.5604889 0.00034590142 13 - 1312 3189.7615 -2.2909175 0.00034590142 13 - 1314 3229.6182 -2.2287307 0.00034590142 13 - 1316 3254.1712 -2.3087605 0.00034590142 13 - 1318 3288.7718 -2.2666589 0.00034590142 13 - 1320 3324.0655 -1.8935613 0.00034590142 13 - 1322 3340.5208 -1.3542012 0.00034590142 13 - 1324 3365.0481 -1.0760891 0.00034590142 13 - 1326 3370.2387 -1.0983067 0.00034590142 13 - 1328 3471.4805 2014.1654 0.00036752025 14 - 1330 3505.1634 330.03534 0.00036752025 14 - 1332 3539.7134 -69.649334 0.00036752025 14 - 1334 3566.793 -167.82115 0.00036752025 14 - 1336 3604.5501 -176.10466 0.00036752025 14 - 1338 3590.7429 -157.35136 0.00036752025 14 - 1340 3556.3012 -131.95483 0.00036752025 14 - 1342 3533.6395 -106.5047 0.00036752025 14 - 1344 3490.0063 -83.120672 0.00036752025 14 - 1346 3465.607 -63.491864 0.00036752025 14 - 1348 3457.3149 -47.999092 0.00036752025 14 - 1350 3412.3409 -35.927698 0.00036752025 14 - 1352 3381.2277 -26.551014 0.00036752025 14 - 1354 3349.4638 -19.272568 0.00036752025 14 - 1356 3304.6611 -13.811171 0.00036752025 14 - 1358 3304.3632 -10.049667 0.00036752025 14 - 1360 3310.1505 -7.4676253 0.00036752025 14 - 1362 3324.0496 -5.5416893 0.00036752025 14 - 1364 3367.7593 -4.0623241 0.00036752025 14 - 1366 3397.9879 -2.7787434 0.00036752025 14 - 1368 3412.4534 -1.7492008 0.00036752025 14 - 1370 3427.9927 -1.147808 0.00036752025 14 - 1372 3421.2999 -0.84877502 0.00036752025 14 - 1374 3431.4368 -0.77334018 0.00036752025 14 - 1376 3461.4741 -0.86904112 0.00036752025 14 - 1378 3483.9644 -1.1476447 0.00036752025 14 - 1380 3505.0425 -1.6733489 0.00036752025 14 - 1382 3494.7077 -2.2709129 0.00036752025 14 - 1384 3454.6986 -2.73897 0.00036752025 14 - 1386 3423.1053 -3.040692 0.00036752025 14 - 1388 3393.9828 -3.1941004 0.00036752025 14 - 1390 3368.8365 -3.3149273 0.00036752025 14 - 1392 3357.374 -3.4753807 0.00036752025 14 - 1394 3338.6876 -3.5730386 0.00036752025 14 - 1396 3322.6963 -3.5669074 0.00036752025 14 - 1398 3317.4036 -3.5137605 0.00036752025 14 - 1400 3306.4233 -3.5036114 0.00036752025 14 - 1402 3294.3469 -3.6465019 0.00036752025 14 - 1404 3288.9613 -3.9285698 0.00036752025 14 - 1406 3281.6542 -4.2217607 0.00036752025 14 - 1408 3289.0894 -4.4494179 0.00036752025 14 - 1410 3305.4438 -4.5424443 0.00036752025 14 - 1412 3307.9857 -4.4630054 0.00036752025 14 - 1414 3295.9878 -4.2471632 0.00036752025 14 - 1416 3282.069 -3.9622413 0.00036752025 14 - 1418 3269.3405 -3.6259962 0.00036752025 14 - 1420 3272.8895 -3.2426864 0.00036752025 14 - 1422 3294.6417 -2.7828443 0.00036752025 14 - 1424 3307.614 -2.2516614 0.00036752025 14 - 1426 3315.9908 -1.8186677 0.00036752025 14 - 1428 3307.4338 -1.6062873 0.00036752025 14 - 1430 3362.0036 591.24602 0.00038913909 15 - 1432 3348.3711 -22.903151 0.00038913909 15 - 1434 3339.0009 -180.94362 0.00038913909 15 - 1436 3327.8309 -205.13316 0.00038913909 15 - 1438 3323.8846 -188.6757 0.00038913909 15 - 1440 3302.8168 -161.33916 0.00038913909 15 - 1442 3280.8634 -133.06553 0.00038913909 15 - 1444 3274.9669 -106.90061 0.00038913909 15 - 1446 3261.4086 -83.772906 0.00038913909 15 - 1448 3260.2033 -64.232762 0.00038913909 15 - 1450 3256.8934 -48.308404 0.00038913909 15 - 1452 3243.1338 -35.618715 0.00038913909 15 - 1454 3249.12 -25.595933 0.00038913909 15 - 1456 3257.8764 -17.638422 0.00038913909 15 - 1458 3248.4414 -11.467315 0.00038913909 15 - 1460 3237.7196 -7.1629632 0.00038913909 15 - 1462 3212.5536 -4.5262728 0.00038913909 15 - 1464 3207.8346 -3.1275511 0.00038913909 15 - 1466 3240.6709 -2.4532209 0.00038913909 15 - 1468 3274.7659 -1.9941312 0.00038913909 15 - 1470 3309.7636 -1.7744811 0.00038913909 15 - 1472 3319.9011 -2.0039409 0.00038913909 15 - 1474 3301.7286 -2.5404117 0.00038913909 15 - 1476 3304.5902 -3.015492 0.00038913909 15 - 1478 3324.5802 -3.0251512 0.00038913909 15 - 1480 3349.1191 -2.6296881 0.00038913909 15 - 1482 3386.3334 -2.3009124 0.00038913909 15 - 1484 3386.5448 -2.2135937 0.00038913909 15 - 1486 3360.3384 -2.1803619 0.00038913909 15 - 1488 3347.1255 -1.9008543 0.00038913909 15 - 1490 3332.276 -1.2843614 0.00038913909 15 - 1492 3332.4353 -0.78765054 0.00038913909 15 - 1494 3362.446 -0.90165015 0.00038913909 15 - 1496 3378.4951 -1.503457 0.00038913909 15 - 1498 3399.9682 -2.142196 0.00038913909 15 - 1500 3424.6642 -2.4001451 0.00038913909 15 - 1502 3415.6927 -2.3206656 0.00038913909 15 - 1504 3399.699 -2.4566927 0.00038913909 15 - 1506 3380.1726 -3.0059402 0.00038913909 15 - 1508 3356.1819 -3.5410815 0.00038913909 15 - 1510 3372.1715 -3.5489313 0.00038913909 15 - 1512 3407.3769 -2.8683598 0.00038913909 15 - 1514 3422.0433 -1.9562886 0.00038913909 15 - 1516 3438.5941 -1.4855083 0.00038913909 15 - 1518 3429.8051 -1.4723825 0.00038913909 15 - 1520 3417.385 -1.4858933 0.00038913909 15 - 1522 3440.37 -1.1865901 0.00038913909 15 - 1524 3458.4548 -0.67483073 0.00038913909 15 - 1526 3469.3533 -0.55678882 0.00038913909 15 - 1528 3490.916 -1.1714695 0.00038913909 15 - 1530 3492.0061 -2.0409487 0.00038913909 15 - 1532 3591.2065 933.33366 0.00041075793 16 - 1534 3613.996 28.275741 0.00041075793 16 - 1536 3592.9837 -172.35131 0.00041075793 16 - 1538 3576.1566 -203.31573 0.00041075793 16 - 1540 3569.3197 -188.5623 0.00041075793 16 - 1542 3559.2173 -161.72853 0.00041075793 16 - 1544 3581.5844 -132.85329 0.00041075793 16 - 1546 3598.8905 -105.35356 0.00041075793 16 - 1548 3591.8015 -81.305445 0.00041075793 16 - 1550 3601.2781 -61.769959 0.00041075793 16 - 1552 3610.8049 -46.305773 0.00041075793 16 - 1554 3635.071 -33.909703 0.00041075793 16 - 1556 3673.1152 -23.903242 0.00041075793 16 - 1558 3674.3301 -16.196577 0.00041075793 16 - 1560 3656.4931 -10.875945 0.00041075793 16 - 1562 3635.4528 -7.5675014 0.00041075793 16 - 1564 3605.0214 -5.4309671 0.00041075793 16 - 1566 3597.8995 -3.8836753 0.00041075793 16 - 1568 3589.3965 -2.7710753 0.00041075793 16 - 1570 3557.0846 -2.1656742 0.00041075793 16 - 1572 3522.8206 -2.1249828 0.00041075793 16 - 1574 3488.0784 -2.3270696 0.00041075793 16 - 1576 3468.5242 -2.3006944 0.00041075793 16 - 1578 3480.3442 -1.9105952 0.00041075793 16 - 1580 3502.4035 -1.4703121 0.00041075793 16 - 1582 3514.5124 -1.3686635 0.00041075793 16 - 1584 3529.8072 -1.6349027 0.00041075793 16 - 1586 3549.9111 -1.8290023 0.00041075793 16 - 1588 3581.7588 -1.6259883 0.00041075793 16 - 1590 3627.3261 -1.2043943 0.00041075793 16 - 1592 3670.0906 -1.032423 0.00041075793 16 - 1594 3693.8859 -1.3608622 0.00041075793 16 - 1596 3716.2459 -2.0059406 0.00041075793 16 - 1598 3731.9525 -2.5008352 0.00041075793 16 - 1600 3743.6525 -2.6784874 0.00041075793 16 - 1602 3760.9905 -2.7998984 0.00041075793 16 - 1604 3761.3113 -3.1223193 0.00041075793 16 - 1606 3748.8697 -3.6314108 0.00041075793 16 - 1608 3739.8794 -3.9850298 0.00041075793 16 - 1610 3722.0372 -3.8300328 0.00041075793 16 - 1612 3715.944 -3.30415 0.00041075793 16 - 1614 3712.6256 -2.7922936 0.00041075793 16 - 1616 3689.1991 -2.5191961 0.00041075793 16 - 1618 3674.8638 -2.4644698 0.00041075793 16 - 1620 3656.7564 -2.3324852 0.00041075793 16 - 1622 3635.8706 -2.016391 0.00041075793 16 - 1624 3634.1611 -1.7433529 0.00041075793 16 - 1626 3612.7237 -1.6722602 0.00041075793 16 - 1628 3577.439 -1.84882 0.00041075793 16 - 1630 3562.4417 -2.128466 0.00041075793 16 - 1632 3549.0826 -2.2282459 0.00041075793 16 - 1634 3632.1374 -186.35031 0.00043237677 17 - 1636 3648.9593 -296.79359 0.00043237677 17 - 1638 3641.3738 -282.99578 0.00043237677 17 - 1640 3650.8687 -244.99487 0.00043237677 17 - 1642 3673.7223 -204.09587 0.00043237677 17 - 1644 3690.3923 -166.23129 0.00043237677 17 - 1646 3717.9157 -133.14546 0.00043237677 17 - 1648 3718.0414 -104.89207 0.00043237677 17 - 1650 3697.4633 -81.115712 0.00043237677 17 - 1652 3705.0511 -61.49637 0.00043237677 17 - 1654 3714.781 -45.659171 0.00043237677 17 - 1656 3730.9613 -33.243337 0.00043237677 17 - 1658 3741.1851 -23.708946 0.00043237677 17 - 1660 3717.9711 -16.478718 0.00043237677 17 - 1662 3701.7524 -11.228053 0.00043237677 17 - 1664 3711.2786 -7.6811287 0.00043237677 17 - 1666 3729.4217 -5.4701745 0.00043237677 17 - 1668 3756.06 -4.196296 0.00043237677 17 - 1670 3762.1859 -3.3948328 0.00043237677 17 - 1672 3750.3442 -2.795002 0.00043237677 17 - 1674 3750.3911 -2.3631317 0.00043237677 17 - 1676 3743.935 -2.1198915 0.00043237677 17 - 1678 3733.116 -2.0433621 0.00043237677 17 - 1680 3711.4814 -1.9570085 0.00043237677 17 - 1682 3673.0703 -1.7553287 0.00043237677 17 - 1684 3640.8032 -1.6100182 0.00043237677 17 - 1686 3623.5278 -1.7720453 0.00043237677 17 - 1688 3609.6657 -2.2903733 0.00043237677 17 - 1690 3595.0925 -2.9520482 0.00043237677 17 - 1692 3574.7946 -3.4520403 0.00043237677 17 - 1694 3553.4592 -3.7172417 0.00043237677 17 - 1696 3550.4998 -3.9662696 0.00043237677 17 - 1698 3573.0918 -4.3864824 0.00043237677 17 - 1700 3608.4812 -4.8143282 0.00043237677 17 - 1702 3649.7102 -4.8822052 0.00043237677 17 - 1704 3691.715 -4.4058032 0.00043237677 17 - 1706 3712.538 -3.5738906 0.00043237677 17 - 1708 3723.8041 -2.8233117 0.00043237677 17 - 1710 3728.6131 -2.3180266 0.00043237677 17 - 1712 3721.5916 -1.8298925 0.00043237677 17 - 1714 3722.2323 -1.145955 0.00043237677 17 - 1716 3720.8412 -0.35106009 0.00043237677 17 - 1718 3704.2798 0.13931625 0.00043237677 17 - 1720 3691.24 0.0070879972 0.00043237677 17 - 1722 3664.7923 -0.49492297 0.00043237677 17 - 1724 3636.2585 -0.93235898 0.00043237677 17 - 1726 3623.6805 -1.0766384 0.00043237677 17 - 1728 3601.4828 -1.0674569 0.00043237677 17 - 1730 3594.1993 -1.2953611 0.00043237677 17 - 1732 3595.7016 -1.7010658 0.00043237677 17 - 1734 3584.1108 -1.801104 0.00043237677 17 - 1736 3713.9177 157.48163 0.00045399561 18 - 1738 3729.1228 -244.26726 0.00045399561 18 - 1740 3729.6815 -300.0614 0.00045399561 18 - 1742 3750.7503 -278.25336 0.00045399561 18 - 1744 3748.1243 -238.83242 0.00045399561 18 - 1746 3741.9127 -197.8389 0.00045399561 18 - 1748 3755.7248 -160.28928 0.00045399561 18 - 1750 3749.7764 -127.74147 0.00045399561 18 - 1752 3753.2746 -100.53428 0.00045399561 18 - 1754 3765.3549 -78.121856 0.00045399561 18 - 1756 3759.2282 -59.655351 0.00045399561 18 - 1758 3775.6312 -44.626232 0.00045399561 18 - 1760 3784.8396 -32.615627 0.00045399561 18 - 1762 3771.0752 -23.447131 0.00045399561 18 - 1764 3780.4144 -16.86878 0.00045399561 18 - 1766 3782.4234 -12.0877 0.00045399561 18 - 1768 3794.5104 -8.4068303 0.00045399561 18 - 1770 3824.6482 -5.5286928 0.00045399561 18 - 1772 3824.8005 -3.4631071 0.00045399561 18 - 1774 3824.9637 -2.4005261 0.00045399561 18 - 1776 3832.2073 -2.0425462 0.00045399561 18 - 1778 3824.1265 -1.7381825 0.00045399561 18 - 1780 3826.3354 -1.2396341 0.00045399561 18 - 1782 3822.7018 -0.70624837 0.00045399561 18 - 1784 3803.6551 -0.51472634 0.00045399561 18 - 1786 3799.9592 -0.8237544 0.00045399561 18 - 1788 3798.5286 -1.2770654 0.00045399561 18 - 1790 3792.3951 -1.4626882 0.00045399561 18 - 1792 3788.7063 -1.3397023 0.00045399561 18 - 1794 3777.0686 -1.1815152 0.00045399561 18 - 1796 3779.2508 -1.2957126 0.00045399561 18 - 1798 3807.3391 -1.6056954 0.00045399561 18 - 1800 3840.8603 -1.7394881 0.00045399561 18 - 1802 3867.8952 -1.5119262 0.00045399561 18 - 1804 3879.448 -1.1126446 0.00045399561 18 - 1806 3874.0178 -0.89376073 0.00045399561 18 - 1808 3870.4205 -1.0013994 0.00045399561 18 - 1810 3874.9689 -1.1896861 0.00045399561 18 - 1812 3882.7366 -1.1347346 0.00045399561 18 - 1814 3893.4144 -0.80375709 0.00045399561 18 - 1816 3892.8065 -0.43723593 0.00045399561 18 - 1818 3879.6317 -0.27127498 0.00045399561 18 - 1820 3863.231 -0.26927869 0.00045399561 18 - 1822 3839.1828 -0.16469626 0.00045399561 18 - 1824 3817.7643 0.17259437 0.00045399561 18 - 1826 3814.5806 0.55900288 0.00045399561 18 - 1828 3814.4881 0.73981688 0.00045399561 18 - 1830 3826.593 0.61721493 0.00045399561 18 - 1832 3850.1378 0.38603904 0.00045399561 18 - 1834 3867.6612 0.31140301 0.00045399561 18 - 1836 3881.9933 0.36675857 0.00045399561 18 - 1838 4088.212 261434.69 0.00047561445 19 - 1840 4096.5564 27676.737 0.00047561445 19 - 1842 4116.6104 4562.7115 0.00047561445 19 - 1844 4138.3331 942.30407 0.00047561445 19 - 1846 4157.8346 171.41233 0.00047561445 19 - 1848 4189.7389 -26.014237 0.00047561445 19 - 1850 4203.2273 -76.212233 0.00047561445 19 - 1852 4206.7084 -81.595913 0.00047561445 19 - 1854 4214.7407 -72.613587 0.00047561445 19 - 1856 4219.541 -59.566243 0.00047561445 19 - 1858 4238.5637 -46.274295 0.00047561445 19 - 1860 4268.5595 -34.588591 0.00047561445 19 - 1862 4277.6539 -25.225003 0.00047561445 19 - 1864 4285.3854 -18.06534 0.00047561445 19 - 1866 4276.8633 -12.627639 0.00047561445 19 - 1868 4255.485 -8.5283892 0.00047561445 19 - 1870 4248.7917 -5.6394153 0.00047561445 19 - 1872 4232.7796 -3.7373251 0.00047561445 19 - 1874 4213.674 -2.5982718 0.00047561445 19 - 1876 4196.3767 -1.8849709 0.00047561445 19 - 1878 4154.9323 -1.2753507 0.00047561445 19 - 1880 4121.2743 -0.82249822 0.00047561445 19 - 1882 4101.6239 -0.60366804 0.00047561445 19 - 1884 4076.731 -0.62133231 0.00047561445 19 - 1886 4071.191 -0.92478991 0.00047561445 19 - 1888 4070.5745 -1.3485064 0.00047561445 19 - 1890 4073.0041 -1.8304913 0.00047561445 19 - 1892 4099.534 -2.4147085 0.00047561445 19 - 1894 4122.2249 -3.0099619 0.00047561445 19 - 1896 4134.95 -3.5440729 0.00047561445 19 - 1898 4138.662 -3.8951738 0.00047561445 19 - 1900 4119.9803 -3.9477528 0.00047561445 19 - 1902 4105.9779 -3.7437217 0.00047561445 19 - 1904 4103.6993 -3.3264299 0.00047561445 19 - 1906 4099.5993 -2.7195122 0.00047561445 19 - 1908 4099.0927 -2.0152229 0.00047561445 19 - 1910 4092.7303 -1.3051093 0.00047561445 19 - 1912 4079.7989 -0.70887774 0.00047561445 19 - 1914 4070.1861 -0.30814281 0.00047561445 19 - 1916 4064.2331 -0.12483815 0.00047561445 19 - 1918 4057.4172 -0.14863786 0.00047561445 19 - 1920 4045.7673 -0.36919485 0.00047561445 19 - 1922 4025.2377 -0.75787503 0.00047561445 19 - 1924 3997.6829 -1.2270004 0.00047561445 19 - 1926 3973.4154 -1.6380242 0.00047561445 19 - 1928 3967.2261 -1.8579591 0.00047561445 19 - 1930 3984.008 -1.8481876 0.00047561445 19 - 1932 4014.2028 -1.695545 0.00047561445 19 - 1934 4040.7038 -1.4466441 0.00047561445 19 - 1936 4046.6823 -1.0457806 0.00047561445 19 - 1938 4050.3414 -0.43691244 0.00047561445 19 - 1940 4158.8456 -485.87062 0.00049723329 20 - 1942 4138.6859 -406.83847 0.00049723329 20 - 1944 4122.6253 -337.57463 0.00049723329 20 - 1946 4101.6274 -277.34116 0.00049723329 20 - 1948 4085.2854 -225.34082 0.00049723329 20 - 1950 4088.9637 -181.0183 0.00049723329 20 - 1952 4109.9585 -143.74698 0.00049723329 20 - 1954 4141.6977 -112.7839 0.00049723329 20 - 1956 4173.9013 -87.397165 0.00049723329 20 - 1958 4185.8014 -66.686886 0.00049723329 20 - 1960 4182.5342 -49.929089 0.00049723329 20 - 1962 4173.7911 -36.539866 0.00049723329 20 - 1964 4164.6792 -26.055513 0.00049723329 20 - 1966 4166.91 -18.173563 0.00049723329 20 - 1968 4170.7606 -12.411793 0.00049723329 20 - 1970 4168.2387 -8.2434854 0.00049723329 20 - 1972 4167.5496 -5.3241601 0.00049723329 20 - 1974 4165.6717 -3.4268698 0.00049723329 20 - 1976 4171.0255 -2.459824 0.00049723329 20 - 1978 4186.2281 -2.210817 0.00049723329 20 - 1980 4200.046 -2.2265372 0.00049723329 20 - 1982 4214.8919 -2.1835848 0.00049723329 20 - 1984 4230.6418 -1.9876854 0.00049723329 20 - 1986 4242.4071 -1.7430167 0.00049723329 20 - 1988 4252.8222 -1.6283597 0.00049723329 20 - 1990 4255.8615 -1.5968122 0.00049723329 20 - 1992 4261.9838 -1.4850549 0.00049723329 20 - 1994 4280.013 -1.1801127 0.00049723329 20 - 1996 4298.903 -0.75483617 0.00049723329 20 - 1998 4315.3363 -0.43775783 0.00049723329 20 - 2000 4312.8744 -0.26775056 0.00049723329 20 - 2002 4295.4994 -0.071325246 0.00049723329 20 - 2004 4276.0581 0.34550495 0.00049723329 20 - 2006 4259.7706 1.0097526 0.00049723329 20 - 2008 4259.7877 1.6450507 0.00049723329 20 - 2010 4266.37 1.9897528 0.00049723329 20 - 2012 4263.4827 2.1177927 0.00049723329 20 - 2014 4268.7607 2.2393951 0.00049723329 20 - 2016 4281.4665 2.4617856 0.00049723329 20 - 2018 4299.8629 2.6164942 0.00049723329 20 - 2020 4332.5133 2.4169235 0.00049723329 20 - 2022 4350.4848 1.8843467 0.00049723329 20 - 2024 4354.7043 1.2629554 0.00049723329 20 - 2026 4348.8078 0.82057161 0.00049723329 20 - 2028 4326.3199 0.59662969 0.00049723329 20 - 2030 4306.4246 0.32430208 0.00049723329 20 - 2032 4292.6428 -0.17386259 0.00049723329 20 - 2034 4285.4709 -0.76060626 0.00049723329 20 - 2036 4289.9933 -1.1707279 0.00049723329 20 - 2038 4289.6574 -1.2615962 0.00049723329 20 - 2040 4289.8823 -1.2227653 0.00049723329 20 - 2042 4372.236 -484.15319 0.00051885212 21 - 2044 4363.8565 -409.58287 0.00051885212 21 - 2046 4374.4373 -342.09516 0.00051885212 21 - 2048 4397.6019 -282.27516 0.00051885212 21 - 2050 4419.5998 -230.19598 0.00051885212 21 - 2052 4444.6113 -185.83214 0.00051885212 21 - 2054 4463.2143 -148.62046 0.00051885212 21 - 2056 4483.7739 -117.65238 0.00051885212 21 - 2058 4502.9214 -92.03373 0.00051885212 21 - 2060 4499.5116 -70.903642 0.00051885212 21 - 2062 4485.0808 -53.819643 0.00051885212 21 - 2064 4460.1892 -40.351592 0.00051885212 21 - 2066 4441.3547 -29.893614 0.00051885212 21 - 2068 4453.6573 -21.870035 0.00051885212 21 - 2070 4471.3583 -15.74966 0.00051885212 21 - 2072 4481.8502 -11.269104 0.00051885212 21 - 2074 4482.5479 -8.2901014 0.00051885212 21 - 2076 4458.9428 -6.4842891 0.00051885212 21 - 2078 4440.2746 -5.4884006 0.00051885212 21 - 2080 4430.7879 -4.8831169 0.00051885212 21 - 2082 4418.2045 -4.3334616 0.00051885212 21 - 2084 4420.9827 -3.8690608 0.00051885212 21 - 2086 4415.2895 -3.4747959 0.00051885212 21 - 2088 4403.2127 -3.0698792 0.00051885212 21 - 2090 4404.9829 -2.6092157 0.00051885212 21 - 2092 4394.4738 -2.0329887 0.00051885212 21 - 2094 4381.445 -1.4800426 0.00051885212 21 - 2096 4382.9362 -1.087972 0.00051885212 21 - 2098 4380.2994 -0.77244565 0.00051885212 21 - 2100 4394.8792 -0.49150427 0.00051885212 21 - 2102 4420.8861 -0.20635176 0.00051885212 21 - 2104 4429.8268 0.0310276 0.00051885212 21 - 2106 4440.2236 0.055920203 0.00051885212 21 - 2108 4439.1631 -0.098651465 0.00051885212 21 - 2110 4427.5624 -0.31987022 0.00051885212 21 - 2112 4425.6367 -0.54703789 0.00051885212 21 - 2114 4413.4448 -0.71799966 0.00051885212 21 - 2116 4390.8139 -0.88704628 0.00051885212 21 - 2118 4370.4401 -1.0790848 0.00051885212 21 - 2120 4341.8148 -1.1893832 0.00051885212 21 - 2122 4323.8283 -1.1913674 0.00051885212 21 - 2124 4316.3088 -1.0938027 0.00051885212 21 - 2126 4303.2157 -0.92089888 0.00051885212 21 - 2128 4293.2329 -0.72556801 0.00051885212 21 - 2130 4277.4687 -0.470313 0.00051885212 21 - 2132 4254.036 -0.18509838 0.00051885212 21 - 2134 4238.7708 0.0079755602 0.00051885212 21 - 2136 4226.4974 0.040694129 0.00051885212 21 - 2138 4216.435 -0.083088073 0.00051885212 21 - 2140 4210.2068 -0.27891332 0.00051885212 21 - 2142 4190.1478 -0.45071942 0.00051885212 21 - 2144 4358.0641 7552.2519 0.00054047096 22 - 2146 4343.8669 2546.2605 0.00054047096 22 - 2148 4337.8495 832.13859 0.00054047096 22 - 2150 4344.8145 161.37654 0.00054047096 22 - 2152 4354.659 -102.52396 0.00054047096 22 - 2154 4351.261 -186.01241 0.00054047096 22 - 2156 4338.2721 -196.408 0.00054047096 22 - 2158 4326.0159 -183.30606 0.00054047096 22 - 2160 4316.8225 -163.19657 0.00054047096 22 - 2162 4315.5646 -139.65485 0.00054047096 22 - 2164 4318.7228 -112.47106 0.00054047096 22 - 2166 4308.7441 -86.692739 0.00054047096 22 - 2168 4296.5417 -64.897163 0.00054047096 22 - 2170 4295.1338 -47.217693 0.00054047096 22 - 2172 4296.3245 -33.218667 0.00054047096 22 - 2174 4309.7186 -22.42771 0.00054047096 22 - 2176 4322.8738 -14.380445 0.00054047096 22 - 2178 4325.1652 -8.7240076 0.00054047096 22 - 2180 4339.5136 -5.1399194 0.00054047096 22 - 2182 4359.4978 -3.125563 0.00054047096 22 - 2184 4374.7235 -2.1060967 0.00054047096 22 - 2186 4392.561 -1.6122362 0.00054047096 22 - 2188 4391.6476 -1.3419931 0.00054047096 22 - 2190 4375.4402 -1.2451958 0.00054047096 22 - 2192 4370.8847 -1.2691448 0.00054047096 22 - 2194 4362.5429 -1.1671537 0.00054047096 22 - 2196 4357.6371 -0.78265168 0.00054047096 22 - 2198 4353.2768 -0.1660927 0.00054047096 22 - 2200 4327.6061 0.4949875 0.00054047096 22 - 2202 4303.2649 0.97439091 0.00054047096 22 - 2204 4295.6358 1.2953222 0.00054047096 22 - 2206 4299.8451 1.6516724 0.00054047096 22 - 2208 4331.8468 2.0778491 0.00054047096 22 - 2210 4369.8179 2.4301813 0.00054047096 22 - 2212 4390.4687 2.4771921 0.00054047096 22 - 2214 4410.043 2.0979253 0.00054047096 22 - 2216 4420.4824 1.5015737 0.00054047096 22 - 2218 4428.5418 0.9293217 0.00054047096 22 - 2220 4438.6351 0.4452181 0.00054047096 22 - 2222 4429.7042 -0.022725602 0.00054047096 22 - 2224 4410.5614 -0.57362223 0.00054047096 22 - 2226 4394.6197 -1.1018693 0.00054047096 22 - 2228 4377.6656 -1.356307 0.00054047096 22 - 2230 4369.9848 -1.2799089 0.00054047096 22 - 2232 4359.5241 -1.033239 0.00054047096 22 - 2234 4329.7464 -0.87111314 0.00054047096 22 - 2236 4297.4136 -0.92360827 0.00054047096 22 - 2238 4274.4896 -1.0300654 0.00054047096 22 - 2240 4273.3355 -0.99506577 0.00054047096 22 - 2242 4299.8049 -0.84965213 0.00054047096 22 - 2244 4375.9624 -0.73547198 0.00054047096 22 - 2246 4419.4249 -428.66499 0.0005620898 23 - 2248 4440.1921 -357.75283 0.0005620898 23 - 2250 4458.4562 -295.72755 0.0005620898 23 - 2252 4483.515 -241.53239 0.0005620898 23 - 2254 4521.6264 -194.6715 0.0005620898 23 - 2256 4558.4436 -154.95368 0.0005620898 23 - 2258 4584.9658 -121.92313 0.0005620898 23 - 2260 4603.2392 -94.63205 0.0005620898 23 - 2262 4610.9187 -72.117113 0.0005620898 23 - 2264 4620.6516 -53.81207 0.0005620898 23 - 2266 4641.2237 -39.52074 0.0005620898 23 - 2268 4656.112 -28.916367 0.0005620898 23 - 2270 4661.2055 -21.28721 0.0005620898 23 - 2272 4654.102 -15.778242 0.0005620898 23 - 2274 4635.5037 -11.772833 0.0005620898 23 - 2276 4629.6411 -9.0646229 0.0005620898 23 - 2278 4644.5739 -7.5297271 0.0005620898 23 - 2280 4672.0076 -6.7876668 0.0005620898 23 - 2282 4715.8278 -6.3114881 0.0005620898 23 - 2284 4756.7958 -5.5841706 0.0005620898 23 - 2286 4786.6985 -4.5853628 0.0005620898 23 - 2288 4809.2288 -3.3898975 0.0005620898 23 - 2290 4814.2053 -2.5577365 0.0005620898 23 - 2292 4817.5747 -2.0119957 0.0005620898 23 - 2294 4838.8221 -1.5689555 0.0005620898 23 - 2296 4875.5697 -1.1551628 0.0005620898 23 - 2298 4930.9308 -0.81843584 0.0005620898 23 - 2300 4984.499 -0.82134226 0.0005620898 23 - 2302 5011.4719 -1.294796 0.0005620898 23 - 2304 5020.5621 -2.0456668 0.0005620898 23 - 2306 5009.736 -2.6179285 0.0005620898 23 - 2308 4995.1273 -3.3240647 0.0005620898 23 - 2310 4989.781 -4.1051438 0.0005620898 23 - 2312 4987.6058 -4.6474518 0.0005620898 23 - 2314 4993.5373 -5.2163273 0.0005620898 23 - 2316 5013.1231 -5.3993449 0.0005620898 23 - 2318 5032.7696 -5.1426741 0.0005620898 23 - 2320 5052.2507 -4.7378163 0.0005620898 23 - 2322 5066.676 -4.4309223 0.0005620898 23 - 2324 5070.9335 -4.011325 0.0005620898 23 - 2326 5075.3187 -3.575017 0.0005620898 23 - 2328 5080.1483 -2.937051 0.0005620898 23 - 2330 5089.0513 -2.218688 0.0005620898 23 - 2332 5106.4161 -1.5761829 0.0005620898 23 - 2334 5114.3901 -1.3379256 0.0005620898 23 - 2336 5111.765 -1.4168282 0.0005620898 23 - 2338 5109.8218 -1.3945147 0.0005620898 23 - 2340 5112.3651 -1.3179987 0.0005620898 23 - 2342 5129.4026 -1.1933029 0.0005620898 23 - 2344 5151.596 -1.1509356 0.0005620898 23 - 2346 5173.0185 -1.1910036 0.0005620898 23 - 2348 5397.9032 68.928762 0.00058370864 24 - 2350 5407.0266 -233.97041 0.00058370864 24 - 2352 5422.5601 -279.88482 0.00058370864 24 - 2354 5473.9255 -259.08824 0.00058370864 24 - 2356 5488.0698 -221.76737 0.00058370864 24 - 2358 5468.2353 -183.12481 0.00058370864 24 - 2360 5493.5403 -147.94875 0.00058370864 24 - 2362 5556.8153 -117.258 0.00058370864 24 - 2364 5476.495 -91.2006 0.00058370864 24 - 2366 5535.1518 -69.535188 0.00058370864 24 - 2368 5463.379 -52.175894 0.00058370864 24 - 2370 5406.5993 -38.635185 0.00058370864 24 - 2372 5379.6399 -28.053989 0.00058370864 24 - 2374 5293.9387 -19.606039 0.00058370864 24 - 2376 5254.14 -12.991082 0.00058370864 24 - 2378 5252.9692 -7.9447819 0.00058370864 24 - 2380 5190.6301 -4.2982853 0.00058370864 24 - 2382 5239.8106 -2.0984084 0.00058370864 24 - 2384 5265.9434 -0.66290855 0.00058370864 24 - 2386 5278.5471 0.24706688 0.00058370864 24 - 2388 5310.5694 0.81491696 0.00058370864 24 - 2390 5325.4843 0.83332156 0.00058370864 24 - 2392 5287.052 0.65384817 0.00058370864 24 - 2394 5217.4306 -0.2905052 0.00058370864 24 - 2396 5151.0811 -1.3614891 0.00058370864 24 - 2398 5089.4464 -2.1978833 0.00058370864 24 - 2400 5096.8527 -2.5845056 0.00058370864 24 - 2402 5081.1023 -2.6357504 0.00058370864 24 - 2404 5112.6314 -2.7644934 0.00058370864 24 - 2406 5098.9354 -2.724554 0.00058370864 24 - 2408 5027.2334 -2.6826803 0.00058370864 24 - 2410 4972.12 -2.1045636 0.00058370864 24 - 2412 4978.4482 -1.2633463 0.00058370864 24 - 2414 5015.2935 -0.8286916 0.00058370864 24 - 2416 5052.309 -0.81559079 0.00058370864 24 - 2418 5003.9654 -1.104621 0.00058370864 24 - 2420 4973.9856 -1.5018687 0.00058370864 24 - 2422 4949.7823 -1.6447218 0.00058370864 24 - 2424 4901.9468 -1.5725746 0.00058370864 24 - 2426 4945.389 -1.9278468 0.00058370864 24 - 2428 4973.9992 -2.4855638 0.00058370864 24 - 2430 4942.1022 -2.7325455 0.00058370864 24 - 2432 4934.3944 -2.6684489 0.00058370864 24 - 2434 4931.5278 -2.3317286 0.00058370864 24 - 2436 4815.7187 -1.7602239 0.00058370864 24 - 2438 4763.8819 -1.4516585 0.00058370864 24 - 2440 4827.3393 -1.5296665 0.00058370864 24 - 2442 4794.2051 -1.3026967 0.00058370864 24 - 2444 4784.3245 -0.9623875 0.00058370864 24 - 2446 4880.5328 -0.79855584 0.00058370864 24 - 2448 4892.9298 -0.48521837 0.00058370864 24 - 2450 5042.5229 182.15531 0.00060532748 25 - 2452 5194.8177 -126.79776 0.00060532748 25 - 2454 5156.6538 -209.68466 0.00060532748 25 - 2456 5136.7898 -214.15629 0.00060532748 25 - 2458 5190.4494 -191.92028 0.00060532748 25 - 2460 5193.0372 -162.44965 0.00060532748 25 - 2462 5135.1347 -132.94313 0.00060532748 25 - 2464 5088.2711 -105.26975 0.00060532748 25 - 2466 5044.2865 -80.777237 0.00060532748 25 - 2468 5030.1682 -60.734524 0.00060532748 25 - 2470 5014.4445 -44.886842 0.00060532748 25 - 2472 5005.9881 -32.581621 0.00060532748 25 - 2474 5084.7476 -23.310238 0.00060532748 25 - 2476 5139.566 -16.306979 0.00060532748 25 - 2478 5123.4439 -11.089426 0.00060532748 25 - 2480 5164.1777 -7.6656601 0.00060532748 25 - 2482 5166.1753 -5.6256871 0.00060532748 25 - 2484 5134.5927 -4.5032297 0.00060532748 25 - 2486 5177.4063 -3.9773157 0.00060532748 25 - 2488 5176.7834 -3.4385437 0.00060532748 25 - 2490 5169.781 -2.9064023 0.00060532748 25 - 2492 5201.8608 -2.6139644 0.00060532748 25 - 2494 5238.2059 -2.4480956 0.00060532748 25 - 2496 5254.5338 -2.3015056 0.00060532748 25 - 2498 5302.7629 -2.3369754 0.00060532748 25 - 2500 5270.998 -2.39524 0.00060532748 25 - 2502 5243.3575 -2.5889856 0.00060532748 25 - 2504 5243.4678 -2.9219197 0.00060532748 25 - 2506 5255.0345 -3.2719206 0.00060532748 25 - 2508 5235.6551 -3.4395484 0.00060532748 25 - 2510 5267.9805 -3.4601437 0.00060532748 25 - 2512 5261.7225 -3.2244038 0.00060532748 25 - 2514 5247.9792 -2.9449064 0.00060532748 25 - 2516 9386.5057 0.95935555 0.00060532748 25 - 2518 8507.1834 0.58218735 0.00060532748 25 - 2520 7456.5024 -1.7231674 0.00060532748 25 - 2522 6442.2381 -5.0299011 0.00060532748 25 - 2524 6243.5623 -4.3174698 0.00060532748 25 - 2526 7107.4023 -1.4486735 0.00060532748 25 - 2528 7462.5296 -1.6382013 0.00060532748 25 - 2530 7393.0945 -4.1006752 0.00060532748 25 - 2532 7446.8193 -4.961236 0.00060532748 25 - 2534 7814.2762 -3.5806698 0.00060532748 25 - 2536 7831.3195 -3.3453364 0.00060532748 25 - 2538 7269.6909 -4.5344277 0.00060532748 25 - 2540 6782.9301 -6.405289 0.00060532748 25 - 2542 6632.3199 -6.7366822 0.00060532748 25 - 2544 6843.4229 -5.4785068 0.00060532748 25 - 2546 7126.1657 -3.6868879 0.00060532748 25 - 2548 7320.2489 -2.1533112 0.00060532748 25 - 2550 7318.4623 -0.76400617 0.00060532748 25 - 2552 7319.7814 54889.243 0.00062694632 26 - 2554 7257.4954 4122.9284 0.00062694632 26 - 2556 7297.3206 322.50289 0.00062694632 26 - 2558 7268.0205 -127.41959 0.00062694632 26 - 2560 7199.2444 -173.52049 0.00062694632 26 - 2562 7087.7664 -155.56395 0.00062694632 26 - 2564 7071.1012 -128.16295 0.00062694632 26 - 2566 7136.41 -102.18408 0.00062694632 26 - 2568 7237.9761 -79.61277 0.00062694632 26 - 2570 7228.6075 -61.50493 0.00062694632 26 - 2572 6904.7633 -47.60803 0.00062694632 26 - 2574 6577.8766 -36.791331 0.00062694632 26 - 2576 6537.2024 -28.595961 0.00062694632 26 - 2578 6268.7053 -22.055058 0.00062694632 26 - 2580 6100.1948 -17.065896 0.00062694632 26 - 2582 6292.5224 -12.531749 0.00062694632 26 - 2584 6617.9859 -9.1082267 0.00062694632 26 - 2586 7058.3242 -6.5873287 0.00062694632 26 - 2588 7139.8019 -5.1508398 0.00062694632 26 - 2590 6870.0064 -4.7676802 0.00062694632 26 - 2592 6850.0669 -3.8204539 0.00062694632 26 - 2594 6914.4185 -2.4871515 0.00062694632 26 - 2596 6820.8591 -1.878383 0.00062694632 26 - 2598 6824.4608 -2.7091904 0.00062694632 26 - 2600 6605.8159 -4.055072 0.00062694632 26 - 2602 6601.1903 -4.9484338 0.00062694632 26 - 2604 6907.3437 -4.3220809 0.00062694632 26 - 2606 7033.6509 -2.8055047 0.00062694632 26 - 2608 7227.168 -1.8930939 0.00062694632 26 - 2610 7251.0672 -1.4869091 0.00062694632 26 - 2612 7140.7433 -1.9045777 0.00062694632 26 - 2614 7217.3576 -2.7698794 0.00062694632 26 - 2616 7199.0311 -3.015468 0.00062694632 26 - 2618 6902.2381 -3.091212 0.00062694632 26 - 2620 6760.3459 -4.3956075 0.00062694632 26 - 2622 6748.5752 -7.1577934 0.00062694632 26 - 2624 6498.4701 -9.9592243 0.00062694632 26 - 2626 6670.5347 -12.012125 0.00062694632 26 - 2628 6924.154 -11.6565 0.00062694632 26 - 2630 7093.9625 -10.6097 0.00062694632 26 - 2632 7200.2062 -9.6426422 0.00062694632 26 - 2634 6935.9294 -8.8684397 0.00062694632 26 - 2636 6515.3997 -7.626073 0.00062694632 26 - 2638 6642.2308 -5.9357977 0.00062694632 26 - 2640 6679.4207 -3.3768289 0.00062694632 26 - 2642 6391.0538 -0.45948537 0.00062694632 26 - 2644 6265.7264 1.2939434 0.00062694632 26 - 2646 6258.969 1.734008 0.00062694632 26 - 2648 6091.1112 1.7722562 0.00062694632 26 - 2650 6065.0546 1.4271238 0.00062694632 26 - 2652 6181.5247 0.9929013 0.00062694632 26 - 2654 6424.8373 2219.1488 0.00064856516 27 - 2656 6921.2471 293.11761 0.00064856516 27 - 2658 6763.5621 -107.46336 0.00064856516 27 - 2660 6599.8594 -186.27697 0.00064856516 27 - 2662 6734.0422 -184.24783 0.00064856516 27 - 2664 6874.8006 -160.69783 0.00064856516 27 - 2666 6818.3636 -132.93351 0.00064856516 27 - 2668 6701.1771 -104.71394 0.00064856516 27 - 2670 6352.4528 -80.998307 0.00064856516 27 - 2672 6092.4085 -60.899354 0.00064856516 27 - 2674 6194.4901 -43.587513 0.00064856516 27 - 2676 6358.7451 -28.845278 0.00064856516 27 - 2678 6360.9285 -17.879904 0.00064856516 27 - 2680 6361.5713 -11.346356 0.00064856516 27 - 2682 6205.8623 -7.4884075 0.00064856516 27 - 2684 6246.8348 -5.4773135 0.00064856516 27 - 2686 6328.5463 -4.3593929 0.00064856516 27 - 2688 6223.9976 -3.9407185 0.00064856516 27 - 2690 6106.554 -4.6997103 0.00064856516 27 - 2692 6168.4171 -6.396616 0.00064856516 27 - 2694 6139.2582 -7.8239605 0.00064856516 27 - 2696 6239.3903 -8.3808936 0.00064856516 27 - 2698 6405.2879 -7.5114356 0.00064856516 27 - 2700 6368.2 -5.6203059 0.00064856516 27 - 2702 6155.1715 -4.1491711 0.00064856516 27 - 2704 6110.6658 -4.0107178 0.00064856516 27 - 2706 5979.7665 -3.8463124 0.00064856516 27 - 2708 6010.5588 -3.0468839 0.00064856516 27 - 2710 6181.1661 -1.5749172 0.00064856516 27 - 2712 6203.6709 -0.24646367 0.00064856516 27 - 2714 6239.7545 -0.66240364 0.00064856516 27 - 2716 6231.4404 -2.7898432 0.00064856516 27 - 2718 5955.3416 -5.003216 0.00064856516 27 - 2720 5917.8094 -6.2365649 0.00064856516 27 - 2722 6133.6974 -6.0739996 0.00064856516 27 - 2724 6298.0231 -5.8507391 0.00064856516 27 - 2726 6295.3699 -6.3683403 0.00064856516 27 - 2728 6198.3701 -7.221616 0.00064856516 27 - 2730 6076.015 -7.0930518 0.00064856516 27 - 2732 6206.0761 -5.8369908 0.00064856516 27 - 2734 6402.0508 -3.7427091 0.00064856516 27 - 2736 6413.189 -1.9094711 0.00064856516 27 - 2738 6454.2519 -1.7466187 0.00064856516 27 - 2740 6325.859 -2.2413434 0.00064856516 27 - 2742 6111.4194 -2.2428871 0.00064856516 27 - 2744 6121.0656 -1.7522684 0.00064856516 27 - 2746 6100.9367 -0.85264856 0.00064856516 27 - 2748 5996.4279 -0.8861401 0.00064856516 27 - 2750 6087.5512 -2.86459 0.00064856516 27 - 2752 5977.3707 -4.7642892 0.00064856516 27 - 2754 5949.0314 -5.57108 0.00064856516 27 - 2756 6168.3001 -502.96405 0.00067018399 28 - 2758 6200.1666 -421.68078 0.00067018399 28 - 2760 6199.5233 -351.10973 0.00067018399 28 - 2762 6234.867 -290.73108 0.00067018399 28 - 2764 6145.1871 -238.129 0.00067018399 28 - 2766 6214.3271 -192.33635 0.00067018399 28 - 2768 6368.3971 -152.80846 0.00067018399 28 - 2770 6316.4154 -119.46414 0.00067018399 28 - 2772 6176.9381 -92.956853 0.00067018399 28 - 2774 6039.3515 -72.434763 0.00067018399 28 - 2776 5818.0769 -55.931431 0.00067018399 28 - 2778 5813.5845 -42.565903 0.00067018399 28 - 2780 5935.7699 -31.678196 0.00067018399 28 - 2782 6026.6265 -23.417297 0.00067018399 28 - 2784 6163.5786 -18.225936 0.00067018399 28 - 2786 6149.8745 -14.890416 0.00067018399 28 - 2788 6041.4351 -12.080924 0.00067018399 28 - 2790 6100.1736 -9.5414071 0.00067018399 28 - 2792 6155.6109 -7.3388116 0.00067018399 28 - 2794 6136.3566 -6.2777817 0.00067018399 28 - 2796 6233.5181 -6.6061357 0.00067018399 28 - 2798 6151.9289 -6.7000464 0.00067018399 28 - 2800 6149.1697 -6.2780785 0.00067018399 28 - 2802 6155.9502 -5.311202 0.00067018399 28 - 2804 6024.1889 -4.3462915 0.00067018399 28 - 2806 5814.2296 -4.3268369 0.00067018399 28 - 2808 5642.9582 -5.2793898 0.00067018399 28 - 2810 5489.9528 -5.9051947 0.00067018399 28 - 2812 5640.7395 -5.9161277 0.00067018399 28 - 2814 5867.8345 -5.2937198 0.00067018399 28 - 2816 5795.7842 -4.3726738 0.00067018399 28 - 2818 5772.502 -4.447022 0.00067018399 28 - 2820 5735.8177 -5.000363 0.00067018399 28 - 2822 5710.0201 -5.0628348 0.00067018399 28 - 2824 5803.017 -4.6695765 0.00067018399 28 - 2826 5948.378 -4.2654852 0.00067018399 28 - 2828 5799.0888 -3.9244904 0.00067018399 28 - 2830 5828.3752 -4.5740029 0.00067018399 28 - 2832 5857.1016 -5.2832346 0.00067018399 28 - 2834 5914.1322 -5.5653537 0.00067018399 28 - 2836 5990.9384 -5.6379058 0.00067018399 28 - 2838 6007.5684 -5.6062956 0.00067018399 28 - 2840 5829.1053 -5.3743156 0.00067018399 28 - 2842 5791.7935 -5.6582957 0.00067018399 28 - 2844 5742.0248 -5.7669999 0.00067018399 28 - 2846 5708.8683 -5.3776393 0.00067018399 28 - 2848 5749.821 -4.8787238 0.00067018399 28 - 2850 5657.0082 -4.1285659 0.00067018399 28 - 2852 5432.8302 -3.3817137 0.00067018399 28 - 2854 5533.1251 -3.8163493 0.00067018399 28 - 2856 5482.4779 -4.5210162 0.00067018399 28 - 2858 5591.5068 10078.074 0.00069180283 29 - 2860 5778.3182 2704.4963 0.00069180283 29 - 2862 5847.8595 810.6613 0.00069180283 29 - 2864 5780.7049 201.58307 0.00069180283 29 - 2866 5919.307 -8.6409893 0.00069180283 29 - 2868 5763.9112 -77.4425 0.00069180283 29 - 2870 5733.7145 -93.233219 0.00069180283 29 - 2872 5985.537 -88.415968 0.00069180283 29 - 2874 6080.6283 -74.305612 0.00069180283 29 - 2876 6090.1818 -57.746325 0.00069180283 29 - 2878 6107.0505 -43.215804 0.00069180283 29 - 2880 5885.3318 -31.303514 0.00069180283 29 - 2882 5787.2313 -22.357492 0.00069180283 29 - 2884 5814.9848 -15.721607 0.00069180283 29 - 2886 5761.2585 -10.771597 0.00069180283 29 - 2888 5766.2082 -8.1764598 0.00069180283 29 - 2890 5873.2138 -7.9116826 0.00069180283 29 - 2892 5706.8186 -8.5071977 0.00069180283 29 - 2894 5700.4979 -9.633124 0.00069180283 29 - 2896 5775.3092 -10.201491 0.00069180283 29 - 2898 5735.4239 -9.8614201 0.00069180283 29 - 2900 5772.5573 -9.685071 0.00069180283 29 - 2902 5709.1096 -9.5318564 0.00069180283 29 - 2904 5551.0836 -8.8045992 0.00069180283 29 - 2906 5649.2227 -7.7078543 0.00069180283 29 - 2908 5767.7144 -5.9888551 0.00069180283 29 - 2910 5685.6769 -3.9843168 0.00069180283 29 - 2912 5750.8035 -3.4358816 0.00069180283 29 - 2914 5685.1406 -4.1156501 0.00069180283 29 - 2916 5505.4975 -5.403883 0.00069180283 29 - 2918 5490.2947 -6.8502363 0.00069180283 29 - 2920 5536.8914 -7.5189219 0.00069180283 29 - 2922 5496.4424 -7.3732427 0.00069180283 29 - 2924 5642.5452 -7.7426445 0.00069180283 29 - 2926 5754.7018 -8.3314405 0.00069180283 29 - 2928 5759.3596 -8.5512801 0.00069180283 29 - 2930 5792.0267 -8.099821 0.00069180283 29 - 2932 5801.987 -6.4894218 0.00069180283 29 - 2934 5746.5527 -4.3364038 0.00069180283 29 - 2936 5743.5356 -2.9292564 0.00069180283 29 - 2938 5685.0191 -2.4294109 0.00069180283 29 - 2940 5730.6318 -2.860644 0.00069180283 29 - 2942 5731.5701 -3.2060076 0.00069180283 29 - 2944 5712.3417 -3.0747772 0.00069180283 29 - 2946 5665.4763 -3.0937864 0.00069180283 29 - 2948 5596.5544 -4.1080737 0.00069180283 29 - 2950 5542.4037 -6.0051076 0.00069180283 29 - 2952 5465.4003 -7.5490741 0.00069180283 29 - 2954 5583.7596 -8.0210846 0.00069180283 29 - 2956 5701.9248 -6.8321071 0.00069180283 29 - 2958 5821.9578 -5.0270435 0.00069180283 29 - 2960 5850.2436 514.0434 0.00071342167 30 - 2962 5791.4468 -87.030472 0.00071342167 30 - 2964 5717.9478 -211.55977 0.00071342167 30 - 2966 5807.1386 -219.55844 0.00071342167 30 - 2968 5866.1488 -195.46533 0.00071342167 30 - 2970 5932.636 -164.42409 0.00071342167 30 - 2972 5942.7119 -134.62158 0.00071342167 30 - 2974 5979.5468 -108.05836 0.00071342167 30 - 2976 6025.3658 -85.448875 0.00071342167 30 - 2978 6110.1521 -66.41261 0.00071342167 30 - 2980 5998.4298 -49.910358 0.00071342167 30 - 2982 5918.6623 -36.60286 0.00071342167 30 - 2984 5925.5844 -27.063497 0.00071342167 30 - 2986 5942.9082 -20.683476 0.00071342167 30 - 2988 5933.1561 -16.149401 0.00071342167 30 - 2990 5929.1714 -12.435952 0.00071342167 30 - 2992 5804.6884 -9.1026254 0.00071342167 30 - 2994 5807.1997 -7.4074003 0.00071342167 30 - 2996 5985.8022 -8.0762634 0.00071342167 30 - 2998 6074.3192 -9.8687069 0.00071342167 30 - 3000 6057.21 -11.174731 0.00071342167 30 - 3002 6075.007 -11.18421 0.00071342167 30 - 3004 5987.3479 -9.9453679 0.00071342167 30 - 3006 5938.4103 -9.0724861 0.00071342167 30 - 3008 5965.8705 -9.4340001 0.00071342167 30 - 3010 5831.196 -9.6673274 0.00071342167 30 - 3012 5870.4376 -8.9025524 0.00071342167 30 - 3014 6016.8784 -6.7616353 0.00071342167 30 - 3016 6010.2107 -3.9697169 0.00071342167 30 - 3018 5901.2968 -2.2568406 0.00071342167 30 - 3020 5891.3535 -2.4619728 0.00071342167 30 - 3022 5730.7697 -2.976375 0.00071342167 30 - 3024 5791.9086 -3.3552926 0.00071342167 30 - 3026 5971.9658 -3.4478784 0.00071342167 30 - 3028 5936.4761 -3.3852394 0.00071342167 30 - 3030 5879.7002 -4.2155063 0.00071342167 30 - 3032 5987.2131 -5.9104065 0.00071342167 30 - 3034 5909.6393 -6.7430419 0.00071342167 30 - 3036 5930.3171 -6.9249843 0.00071342167 30 - 3038 6002.1527 -6.6931199 0.00071342167 30 - 3040 5861.3782 -6.0527004 0.00071342167 30 - 3042 5943.0923 -6.1447396 0.00071342167 30 - 3044 6092.86 -6.4979286 0.00071342167 30 - 3046 6112.986 -6.1871845 0.00071342167 30 - 3048 6270.5634 -5.9882772 0.00071342167 30 - 3050 6246.169 -5.7206045 0.00071342167 30 - 3052 5932.2093 -5.3402899 0.00071342167 30 - 3054 5962.298 -5.8792443 0.00071342167 30 - 3056 5945.843 -6.3127283 0.00071342167 30 - 3058 5850.2141 -6.2687421 0.00071342167 30 - 3060 6099.1919 -6.4263983 0.00071342167 30 - 3062 6152.4698 -469.77342 0.00073504051 31 - 3064 6138.1145 -392.89964 0.00073504051 31 - 3066 6382.1353 -325.82599 0.00073504051 31 - 3068 6368.2319 -267.16804 0.00073504051 31 - 3070 6125.653 -216.23268 0.00073504051 31 - 3072 6199.1075 -173.3993 0.00073504051 31 - 3074 6096.9277 -137.0472 0.00073504051 31 - 3076 6128.4594 -107.02373 0.00073504051 31 - 3078 6410.6432 -83.027038 0.00073504051 31 - 3080 6322.4331 -63.707564 0.00073504051 31 - 3082 6315.6655 -49.044238 0.00073504051 31 - 3084 6384.5813 -37.987635 0.00073504051 31 - 3086 6188.1184 -29.028204 0.00073504051 31 - 3088 6164.6018 -22.005531 0.00073504051 31 - 3090 6302.5303 -16.935448 0.00073504051 31 - 3092 6102.2188 -12.750503 0.00073504051 31 - 3094 6294.5805 -10.162155 0.00073504051 31 - 3096 6324.6812 -7.9212694 0.00073504051 31 - 3098 6098.5679 -5.6224283 0.00073504051 31 - 3100 6170.6064 -3.8113122 0.00073504051 31 - 3102 6268.1523 -2.7517092 0.00073504051 31 - 3104 6042.0518 -1.8996674 0.00073504051 31 - 3106 6371.1553 -2.4739165 0.00073504051 31 - 3108 6353.1109 -2.7139113 0.00073504051 31 - 3110 6155.2247 -2.7357849 0.00073504051 31 - 3112 6265.3662 -3.223482 0.00073504051 31 - 3114 6241.3622 -4.0149702 0.00073504051 31 - 3116 6026.8144 -4.4794651 0.00073504051 31 - 3118 6336.8211 -5.1949313 0.00073504051 31 - 3120 6304.3565 -4.630181 0.00073504051 31 - 3122 6259.2538 -3.5862159 0.00073504051 31 - 3124 6498.2926 -2.9770889 0.00073504051 31 - 3126 6389.8215 -2.3360455 0.00073504051 31 - 3128 6281.7573 -2.0155584 0.00073504051 31 - 3130 6448.7884 -2.2898794 0.00073504051 31 - 3132 6286.5504 -2.1732695 0.00073504051 31 - 3134 6241.8976 -2.4301197 0.00073504051 31 - 3136 6426.9385 -3.514538 0.00073504051 31 - 3138 6176.719 -4.2352839 0.00073504051 31 - 3140 6251.0935 -5.3401436 0.00073504051 31 - 3142 6316.957 -6.0235141 0.00073504051 31 - 3144 6189.9851 -6.0207255 0.00073504051 31 - 3146 6304.8428 -6.0123423 0.00073504051 31 - 3148 6464.3347 -6.159424 0.00073504051 31 - 3150 6195.2089 -5.5140135 0.00073504051 31 - 3152 6380.3579 -5.2160781 0.00073504051 31 - 3154 6286.0613 -4.0278311 0.00073504051 31 - 3156 6080.0756 -2.6145134 0.00073504051 31 - 3158 6229.7127 -1.7227016 0.00073504051 31 - 3160 6303.2142 -1.1585329 0.00073504051 31 - 3162 6097.9077 -0.40806897 0.00073504051 31 - 3164 6509.7871 35236.923 0.00075665935 32 - 3166 6402.4444 6076.3837 0.00075665935 32 - 3168 6291.0264 1275.2998 0.00075665935 32 - 3170 6422.5631 231.70182 0.00075665935 32 - 3172 6389.7334 -33.786499 0.00075665935 32 - 3174 6323.4622 -100.70042 0.00075665935 32 - 3176 6579.8399 -110.06184 0.00075665935 32 - 3178 6482.025 -101.23926 0.00075665935 32 - 3180 6354.3385 -87.243105 0.00075665935 32 - 3182 6402.2719 -71.176204 0.00075665935 32 - 3184 6315.0298 -55.051626 0.00075665935 32 - 3186 6256.0044 -41.274131 0.00075665935 32 - 3188 6342.2232 -30.653402 0.00075665935 32 - 3190 6176.3232 -22.162573 0.00075665935 32 - 3192 6156.7096 -15.538984 0.00075665935 32 - 3194 6302.0206 -10.587747 0.00075665935 32 - 3196 6205.4986 -6.8045291 0.00075665935 32 - 3198 6312.1306 -4.947539 0.00075665935 32 - 3200 6312.9731 -4.2530917 0.00075665935 32 - 3202 6038.6207 -3.7178528 0.00075665935 32 - 3204 6055.3397 -3.3618748 0.00075665935 32 - 3206 6283.1474 -3.438067 0.00075665935 32 - 3208 6190.4768 -3.1737727 0.00075665935 32 - 3210 6431.8312 -3.8344056 0.00075665935 32 - 3212 6411.5893 -4.2280478 0.00075665935 32 - 3214 6184.72 -4.0889917 0.00075665935 32 - 3216 6328.1742 -3.8717794 0.00075665935 32 - 3218 6402.1577 -3.3815252 0.00075665935 32 - 3220 6248.9869 -2.9083862 0.00075665935 32 - 3222 6521.7487 -3.8083129 0.00075665935 32 - 3224 6338.8258 -4.1522715 0.00075665935 32 - 3226 6178.6003 -4.2444983 0.00075665935 32 - 3228 6316.7654 -4.3133222 0.00075665935 32 - 3230 6217.4769 -4.4356963 0.00075665935 32 - 3232 6082.2102 -5.2888398 0.00075665935 32 - 3234 6271.7197 -7.0741328 0.00075665935 32 - 3236 6030.2999 -7.6159982 0.00075665935 32 - 3238 6076.717 -7.6279168 0.00075665935 32 - 3240 6239.0369 -6.9809946 0.00075665935 32 - 3242 6081.9908 -5.6356755 0.00075665935 32 - 3244 6397.3549 -5.4767191 0.00075665935 32 - 3246 6391.5018 -4.8901571 0.00075665935 32 - 3248 6275.561 -3.9301212 0.00075665935 32 - 3250 6365.2589 -2.7691702 0.00075665935 32 - 3252 6363.4406 -1.8499798 0.00075665935 32 - 3254 6177.4881 -1.631069 0.00075665935 32 - 3256 6319.7457 -2.8533645 0.00075665935 32 - 3258 6210.2001 -3.565745 0.00075665935 32 - 3260 6223.1972 -4.0917774 0.00075665935 32 - 3262 6324.2234 -4.2876482 0.00075665935 32 - 3264 6353.9581 -4.3957045 0.00075665935 32 - 3266 6484.7785 1139.5061 0.00077827819 33 - 3268 6591.5394 150.3286 0.00077827819 33 - 3270 6422.9819 -88.927965 0.00077827819 33 - 3272 6387.931 -142.38475 0.00077827819 33 - 3274 6394.1651 -142.49048 0.00077827819 33 - 3276 6352.7155 -127.55273 0.00077827819 33 - 3278 6403.539 -108.8353 0.00077827819 33 - 3280 6393.4741 -89.499587 0.00077827819 33 - 3282 6282.7972 -71.488763 0.00077827819 33 - 3284 6349.6981 -55.896289 0.00077827819 33 - 3286 6434.6705 -42.606864 0.00077827819 33 - 3288 6435.399 -31.952274 0.00077827819 33 - 3290 6438.7909 -24.148345 0.00077827819 33 - 3292 6205.3476 -17.752391 0.00077827819 33 - 3294 6069.7068 -12.516722 0.00077827819 33 - 3296 6265.5342 -8.9778982 0.00077827819 33 - 3298 6382.8635 -6.8502135 0.00077827819 33 - 3300 6357.0508 -5.8052134 0.00077827819 33 - 3302 6481.8683 -5.3418399 0.00077827819 33 - 3304 6320.7328 -3.8622996 0.00077827819 33 - 3306 6322.1166 -2.6682336 0.00077827819 33 - 3308 6514.0727 -2.880462 0.00077827819 33 - 3310 6438.7949 -3.8926256 0.00077827819 33 - 3312 6314.8748 -5.3891805 0.00077827819 33 - 3314 6439.1744 -6.7858704 0.00077827819 33 - 3316 6310.702 -6.755861 0.00077827819 33 - 3318 6395.3688 -7.1208775 0.00077827819 33 - 3320 6523.6992 -8.4265267 0.00077827819 33 - 3322 6334.2553 -9.3987165 0.00077827819 33 - 3324 6345.921 -9.8081715 0.00077827819 33 - 3326 6585.4037 -9.033444 0.00077827819 33 - 3328 6505.3649 -6.7650414 0.00077827819 33 - 3330 6599.1299 -5.5594702 0.00077827819 33 - 3332 6615.2327 -5.4534514 0.00077827819 33 - 3334 6413.9707 -5.2673827 0.00077827819 33 - 3336 6488.773 -4.9346621 0.00077827819 33 - 3338 6592.7128 -3.6838699 0.00077827819 33 - 3340 6492.4529 -2.1093347 0.00077827819 33 - 3342 6624.563 -2.208136 0.00077827819 33 - 3344 6595.2112 -3.0547244 0.00077827819 33 - 3346 6513.9623 -3.6757854 0.00077827819 33 - 3348 6631.5348 -3.7916143 0.00077827819 33 - 3350 6663.5679 -3.0336076 0.00077827819 33 - 3352 6513.9482 -2.3269496 0.00077827819 33 - 3354 6549.0352 -2.9935432 0.00077827819 33 - 3356 6429.0841 -3.9157473 0.00077827819 33 - 3358 6363.8056 -4.4557955 0.00077827819 33 - 3360 6509.4572 -4.426532 0.00077827819 33 - 3362 6573.0489 -3.6842259 0.00077827819 33 - 3364 6522.1123 -3.1179071 0.00077827819 33 - 3366 6706.7798 -3.7056923 0.00077827819 33 - 3368 6859.6857 -433.18889 0.00079989702 34 - 3370 6859.7025 -369.51502 0.00079989702 34 - 3372 7012.9969 -308.73226 0.00079989702 34 - 3374 6898.5562 -253.60146 0.00079989702 34 - 3376 6852.0227 -206.09454 0.00079989702 34 - 3378 6965.6606 -166.26858 0.00079989702 34 - 3380 6883.0721 -132.48286 0.00079989702 34 - 3382 6911.0291 -104.35448 0.00079989702 34 - 3384 7008.4472 -81.127601 0.00079989702 34 - 3386 6871.931 -61.846733 0.00079989702 34 - 3388 6871.6047 -47.074931 0.00079989702 34 - 3390 6872.1258 -35.836117 0.00079989702 34 - 3392 6740.5032 -26.817094 0.00079989702 34 - 3394 6894.8127 -20.164908 0.00079989702 34 - 3396 6945.3615 -14.885111 0.00079989702 34 - 3398 6896.0199 -10.94641 0.00079989702 34 - 3400 6953.316 -8.6422769 0.00079989702 34 - 3402 6942.7839 -7.1884937 0.00079989702 34 - 3404 6872.2911 -6.2325165 0.00079989702 34 - 3406 7008.7697 -6.0248121 0.00079989702 34 - 3408 7028.2392 -5.8133809 0.00079989702 34 - 3410 6954.5587 -5.6856438 0.00079989702 34 - 3412 6934.5764 -5.7987843 0.00079989702 34 - 3414 6788.7386 -5.6593721 0.00079989702 34 - 3416 6781.9026 -5.7768409 0.00079989702 34 - 3418 6861.9043 -5.7789891 0.00079989702 34 - 3420 6845.9974 -5.0411587 0.00079989702 34 - 3422 6896.1167 -4.0372309 0.00079989702 34 - 3424 6855.2377 -2.7801991 0.00079989702 34 - 3426 6705.7216 -1.5853383 0.00079989702 34 - 3428 6727.5449 -1.1111259 0.00079989702 34 - 3430 6822.2667 -1.00108 0.00079989702 34 - 3432 6935.0567 -0.27612483 0.00079989702 34 - 3434 6923.2061 -0.47313452 0.00079989702 34 - 3436 6854.0542 -0.8377992 0.00079989702 34 - 3438 6731.8239 -1.243754 0.00079989702 34 - 3440 6817.9269 -2.0603514 0.00079989702 34 - 3442 6898.4335 -2.6756882 0.00079989702 34 - 3444 6831.1212 -2.7219231 0.00079989702 34 - 3446 6890.7713 -2.6760669 0.00079989702 34 - 3448 6937.7791 -2.4288558 0.00079989702 34 - 3450 6880.2929 -1.9500275 0.00079989702 34 - 3452 6881.6872 -1.667428 0.00079989702 34 - 3454 6768.3494 -1.270681 0.00079989702 34 - 3456 6633.0003 -0.84059394 0.00079989702 34 - 3458 6688.0004 -0.93630092 0.00079989702 34 - 3460 6758.4364 -1.250022 0.00079989702 34 - 3462 6737.351 -1.4418301 0.00079989702 34 - 3464 6924.4994 -1.9680493 0.00079989702 34 - 3466 6965.9264 -2.2343956 0.00079989702 34 - 3468 7099.7771 -2.8338515 0.00079989702 34 - 3470 7365.5406 9210.1322 0.00082151586 35 - 3472 7273.0429 2265.973 0.00082151586 35 - 3474 7086.0007 566.35094 0.00082151586 35 - 3476 7137.9528 75.998379 0.00082151586 35 - 3478 7089.2272 -70.861558 0.00082151586 35 - 3480 7260.9834 -107.43399 0.00082151586 35 - 3482 7298.6582 -106.15764 0.00082151586 35 - 3484 7248.2244 -92.031973 0.00082151586 35 - 3486 7341.0817 -74.371435 0.00082151586 35 - 3488 7439.8508 -57.018026 0.00082151586 35 - 3490 7468.7913 -42.32339 0.00082151586 35 - 3492 7596.887 -31.61683 0.00082151586 35 - 3494 7454.6265 -23.698021 0.00082151586 35 - 3496 7367.0542 -18.074974 0.00082151586 35 - 3498 7443.1139 -14.090777 0.00082151586 35 - 3500 7335.5354 -10.625037 0.00082151586 35 - 3502 7451.7732 -8.6309423 0.00082151586 35 - 3504 7597.9116 -7.7306589 0.00082151586 35 - 3506 7573.996 -6.8833773 0.00082151586 35 - 3508 7685.4891 -6.0764087 0.00082151586 35 - 3510 7704.8387 -4.5814412 0.00082151586 35 - 3512 7453.1923 -2.5302848 0.00082151586 35 - 3514 7480.9293 -1.9603627 0.00082151586 35 - 3516 7414.9212 -2.1424094 0.00082151586 35 - 3518 7341.5999 -2.5941909 0.00082151586 35 - 3520 7502.5881 -3.6003011 0.00082151586 35 - 3522 7410.8775 -4.1379583 0.00082151586 35 - 3524 7195.6431 -4.6876596 0.00082151586 35 - 3526 7282.2831 -6.1200036 0.00082151586 35 - 3528 7156.6473 -6.9781135 0.00082151586 35 - 3530 7117.1928 -7.4998668 0.00082151586 35 - 3532 7315.0548 -7.8113618 0.00082151586 35 - 3534 7245.5705 -6.9777959 0.00082151586 35 - 3536 7243.4926 -6.0865134 0.00082151586 35 - 3538 7418.9789 -5.5194598 0.00082151586 35 - 3540 7297.0501 -4.3056252 0.00082151586 35 - 3542 7276.2132 -3.3854613 0.00082151586 35 - 3544 7352.3988 -2.7943749 0.00082151586 35 - 3546 7289.0909 -2.199869 0.00082151586 35 - 3548 7348.4041 -2.4257071 0.00082151586 35 - 3550 7338.4642 -2.9646835 0.00082151586 35 - 3552 7111.5609 -3.3293719 0.00082151586 35 - 3554 7073.1037 -4.059656 0.00082151586 35 - 3556 7029.0805 -4.3380638 0.00082151586 35 - 3558 7049.1616 -4.2221378 0.00082151586 35 - 3560 7189.4962 -4.1519351 0.00082151586 35 - 3562 7224.8993 -3.8373721 0.00082151586 35 - 3564 7132.671 -3.3841721 0.00082151586 35 - 3566 7191.0892 -3.2422869 0.00082151586 35 - 3568 7214.2291 -2.9159835 0.00082151586 35 - 3570 7253.3367 -2.5775948 0.00082151586 35 - 3572 7422.1579 43074.394 0.0008431347 36 - 3574 7378.0474 8279.5877 0.0008431347 36 - 3576 7279.831 2167.3382 0.0008431347 36 - 3578 7269.3502 633.99813 0.0008431347 36 - 3580 7264.9988 160.90688 0.0008431347 36 - 3582 7250.7559 1.1553943 0.0008431347 36 - 3584 7380.4554 -51.677913 0.0008431347 36 - 3586 7443.8646 -64.740979 0.0008431347 36 - 3588 7461.3387 -61.434866 0.0008431347 36 - 3590 7463.1549 -51.391928 0.0008431347 36 - 3592 7438.5534 -40.338897 0.0008431347 36 - 3594 7264.5781 -30.256086 0.0008431347 36 - 3596 7268.5202 -22.701462 0.0008431347 36 - 3598 7228.5195 -17.294873 0.0008431347 36 - 3600 7201.8062 -13.540261 0.0008431347 36 - 3602 7234.3242 -10.89935 0.0008431347 36 - 3604 7328.7227 -8.9972732 0.0008431347 36 - 3606 7290.0009 -7.4798193 0.0008431347 36 - 3608 7375.1277 -6.7468124 0.0008431347 36 - 3610 7313.1876 -6.0057689 0.0008431347 36 - 3612 7239.5111 -5.1923879 0.0008431347 36 - 3614 7245.7747 -4.3290738 0.0008431347 36 - 3616 7162.401 -3.182203 0.0008431347 36 - 3618 7130.5735 -2.4047591 0.0008431347 36 - 3620 7200.5806 -2.2021632 0.0008431347 36 - 3622 7109.954 -1.9401061 0.0008431347 36 - 3624 7116.0037 -2.1037412 0.0008431347 36 - 3626 7124.5548 -2.2865291 0.0008431347 36 - 3628 7033.0853 -2.2136953 0.0008431347 36 - 3630 7166.5106 -2.7188784 0.0008431347 36 - 3632 7205.6089 -3.1107288 0.0008431347 36 - 3634 7185.4052 -3.3126113 0.0008431347 36 - 3636 7339.2042 -3.7109133 0.0008431347 36 - 3638 7398.2179 -3.6524166 0.0008431347 36 - 3640 7356.9677 -3.3251406 0.0008431347 36 - 3642 7529.0674 -3.4300078 0.0008431347 36 - 3644 7404.9583 -2.8694299 0.0008431347 36 - 3646 7348.5031 -2.3365499 0.0008431347 36 - 3648 7439.5143 -2.0443097 0.0008431347 36 - 3650 7440.5345 -1.6728452 0.0008431347 36 - 3652 7426.9027 -1.6757731 0.0008431347 36 - 3654 7522.6362 -2.1376657 0.0008431347 36 - 3656 7402.4178 -2.4042873 0.0008431347 36 - 3658 7473.021 -3.2318852 0.0008431347 36 - 3660 7491.4296 -4.0566916 0.0008431347 36 - 3662 7448.9995 -4.768084 0.0008431347 36 - 3664 7377.9046 -5.2847911 0.0008431347 36 - 3666 7342.4374 -5.4793032 0.0008431347 36 - 3668 7252.6825 -5.4373863 0.0008431347 36 - 3670 7238.4134 -5.5431568 0.0008431347 36 - 3672 7227.1751 -5.383502 0.0008431347 36 - 3674 7339.3464 -444.62651 0.00086475354 37 - 3676 7342.3871 -378.49228 0.00086475354 37 - 3678 7367.2893 -316.96486 0.00086475354 37 - 3680 7385.1613 -262.40999 0.00086475354 37 - 3682 7323.136 -214.96105 0.00086475354 37 - 3684 7312.9794 -174.149 0.00086475354 37 - 3686 7366.9363 -139.09374 0.00086475354 37 - 3688 7348.4045 -108.93631 0.00086475354 37 - 3690 7376.8893 -84.030482 0.00086475354 37 - 3692 7308.8919 -63.962982 0.00086475354 37 - 3694 7148.8845 -47.766908 0.00086475354 37 - 3696 7118.7058 -34.653456 0.00086475354 37 - 3698 7150.8129 -23.670021 0.00086475354 37 - 3700 7090.1607 -14.719907 0.00086475354 37 - 3702 7165.2257 -8.8656193 0.00086475354 37 - 3704 7088.6694 -5.4452493 0.00086475354 37 - 3706 7021.5798 -3.6315448 0.00086475354 37 - 3708 7127.832 -2.6321388 0.00086475354 37 - 3710 7183.775 -1.7609644 0.00086475354 37 - 3712 7181.7139 -1.6523966 0.00086475354 37 - 3714 7166.9311 -2.6896856 0.00086475354 37 - 3716 7029.456 -3.9284468 0.00086475354 37 - 3718 6953.4802 -4.6023443 0.00086475354 37 - 3720 7033.5585 -4.3027235 0.00086475354 37 - 3722 7023.3101 -3.1205417 0.00086475354 37 - 3724 7023.2748 -2.4353997 0.00086475354 37 - 3726 7003.9572 -2.6314119 0.00086475354 37 - 3728 6994.5976 -3.0750204 0.00086475354 37 - 3730 7057.2702 -3.1048664 0.00086475354 37 - 3732 7177.6239 -2.6145191 0.00086475354 37 - 3734 7158.9201 -2.1302356 0.00086475354 37 - 3736 7152.2976 -2.7650935 0.00086475354 37 - 3738 7138.2264 -4.2089475 0.00086475354 37 - 3740 7144.453 -5.5847115 0.00086475354 37 - 3742 7177.4185 -6.2025365 0.00086475354 37 - 3744 7134.3089 -5.8970079 0.00086475354 37 - 3746 7080.6305 -5.5615302 0.00086475354 37 - 3748 6971.7503 -5.5907106 0.00086475354 37 - 3750 6926.1213 -5.7478665 0.00086475354 37 - 3752 6916.3174 -5.4216883 0.00086475354 37 - 3754 6986.811 -4.4163936 0.00086475354 37 - 3756 6967.5511 -2.9334231 0.00086475354 37 - 3758 7079.0049 -2.2206462 0.00086475354 37 - 3760 7028.033 -1.9696874 0.00086475354 37 - 3762 7042.3512 -2.0623792 0.00086475354 37 - 3764 7085.936 -2.0180576 0.00086475354 37 - 3766 7101.6389 -1.5968782 0.00086475354 37 - 3768 7042.2925 -1.2836046 0.00086475354 37 - 3770 7106.8113 -1.7748565 0.00086475354 37 - 3772 6952.4114 -1.9884305 0.00086475354 37 - 3774 6925.3786 -1.9749027 0.00086475354 37 - 3776 7138.3918 5276.539 0.00088637238 38 - 3778 7110.249 1687.0641 0.00088637238 38 - 3780 7220.9129 396.12882 0.00088637238 38 - 3782 7317.4704 -110.60996 0.00088637238 38 - 3784 7216.3229 -292.66872 0.00088637238 38 - 3786 7217.659 -306.75746 0.00088637238 38 - 3788 7331.8863 -278.97971 0.00088637238 38 - 3790 7288.5986 -244.57168 0.00088637238 38 - 3792 7407.8873 -211.62122 0.00088637238 38 - 3794 7367.6943 -180.51273 0.00088637238 38 - 3796 7232.2854 -149.90398 0.00088637238 38 - 3798 7215.0946 -121.12567 0.00088637238 38 - 3800 7199.5237 -95.896547 0.00088637238 38 - 3802 7229.5017 -75.181272 0.00088637238 38 - 3804 7299.2333 -58.39765 0.00088637238 38 - 3806 7191.2083 -43.961776 0.00088637238 38 - 3808 7143.0592 -31.811824 0.00088637238 38 - 3810 7136.1876 -21.958897 0.00088637238 38 - 3812 7091.5124 -14.646144 0.00088637238 38 - 3814 7204.8466 -9.7752902 0.00088637238 38 - 3816 7227.2283 -6.2782461 0.00088637238 38 - 3818 7268.1234 -3.6182236 0.00088637238 38 - 3820 7370.7177 -2.0363997 0.00088637238 38 - 3822 7362.6296 -1.60587 0.00088637238 38 - 3824 7365.1036 -2.4369776 0.00088637238 38 - 3826 7353.2586 -3.9724174 0.00088637238 38 - 3828 7248.7903 -4.6854279 0.00088637238 38 - 3830 7278.6157 -4.7125989 0.00088637238 38 - 3832 7335.0594 -4.4826615 0.00088637238 38 - 3834 7292.9911 -4.3660502 0.00088637238 38 - 3836 7267.3945 -4.5573359 0.00088637238 38 - 3838 7186.3644 -4.2341925 0.00088637238 38 - 3840 7068.3385 -3.0069118 0.00088637238 38 - 3842 7066.8395 -1.6546869 0.00088637238 38 - 3844 7127.2364 -0.83493787 0.00088637238 38 - 3846 7112.7247 -0.58872056 0.00088637238 38 - 3848 7163.2446 -0.80886443 0.00088637238 38 - 3850 7136.9898 -0.72611361 0.00088637238 38 - 3852 7084.3883 -0.47113622 0.00088637238 38 - 3854 7107.4472 -0.8274916 0.00088637238 38 - 3856 7175.6085 -1.9463428 0.00088637238 38 - 3858 7166.6358 -3.1142427 0.00088637238 38 - 3860 7238.0595 -3.9150194 0.00088637238 38 - 3862 7241.1638 -3.7888633 0.00088637238 38 - 3864 7203.462 -3.1539823 0.00088637238 38 - 3866 7276.1411 -2.8907679 0.00088637238 38 - 3868 7314.6503 -2.7216762 0.00088637238 38 - 3870 7357.8217 -2.3441003 0.00088637238 38 - 3872 7476.7449 -1.743847 0.00088637238 38 - 3874 7453.5377 -0.8865654 0.00088637238 38 - 3876 7541.0645 -0.85326603 0.00088637238 38 - 3878 7697.8992 -502.96083 0.00090799122 39 - 3880 7648.7759 -424.34802 0.00090799122 39 - 3882 7629.8029 -355.35477 0.00090799122 39 - 3884 7676.031 -294.69867 0.00090799122 39 - 3886 7599.0776 -241.6914 0.00090799122 39 - 3888 7672.1562 -196.8112 0.00090799122 39 - 3890 7699.5669 -158.9016 0.00090799122 39 - 3892 7646.208 -126.34403 0.00090799122 39 - 3894 7629.5875 -98.251732 0.00090799122 39 - 3896 7590.7353 -74.188126 0.00090799122 39 - 3898 7519.1257 -54.553068 0.00090799122 39 - 3900 7608.1554 -39.790118 0.00090799122 39 - 3902 7667.6953 -28.68601 0.00090799122 39 - 3904 7685.8185 -20.163893 0.00090799122 39 - 3906 7754.2762 -13.901543 0.00090799122 39 - 3908 7771.8881 -9.942367 0.00090799122 39 - 3910 7859.2959 -8.7287609 0.00090799122 39 - 3912 7898.6568 -9.3927363 0.00090799122 39 - 3914 7858.5761 -10.449787 0.00090799122 39 - 3916 7799.7874 -10.862422 0.00090799122 39 - 3918 7842.0299 -10.580414 0.00090799122 39 - 3920 7846.4299 -10.014798 0.00090799122 39 - 3922 7870.0382 -9.7254013 0.00090799122 39 - 3924 7865.059 -9.3949957 0.00090799122 39 - 3926 7787.633 -8.3643901 0.00090799122 39 - 3928 7732.8853 -6.7927276 0.00090799122 39 - 3930 7791.7591 -5.6579163 0.00090799122 39 - 3932 7808.1907 -5.5439784 0.00090799122 39 - 3934 7847.0494 -6.5440311 0.00090799122 39 - 3936 7883.0673 -8.0426368 0.00090799122 39 - 3938 7864.1018 -9.1963852 0.00090799122 39 - 3940 7897.9239 -10.022789 0.00090799122 39 - 3942 7940.8549 -10.887125 0.00090799122 39 - 3944 7792.452 -11.701679 0.00090799122 39 - 3946 7771.2294 -12.614123 0.00090799122 39 - 3948 7684.4247 -12.303858 0.00090799122 39 - 3950 7657.6047 -10.463108 0.00090799122 39 - 3952 7774.6897 -7.9729519 0.00090799122 39 - 3954 7850.7533 -5.549378 0.00090799122 39 - 3956 7790.2701 -3.7348284 0.00090799122 39 - 3958 7890.6457 -3.0044525 0.00090799122 39 - 3960 7845.095 -2.2506932 0.00090799122 39 - 3962 7872.9801 -1.8809309 0.00090799122 39 - 3964 7914.1315 -2.3104241 0.00090799122 39 - 3966 7773.0926 -3.3811901 0.00090799122 39 - 3968 7747.1728 -5.4434148 0.00090799122 39 - 3970 7762.7159 -7.5342013 0.00090799122 39 - 3972 7693.609 -8.5265487 0.00090799122 39 - 3974 7768.811 -8.874305 0.00090799122 39 - 3976 7818.1708 -8.669013 0.00090799122 39 - 3978 7668.0437 -7.9390202 0.00090799122 39 - 3980 7907.5475 -521.4989 0.00092961006 40 - 3982 7901.2861 -438.49415 0.00092961006 40 - 3984 7912.7266 -365.08545 0.00092961006 40 - 3986 7952.4066 -300.82812 0.00092961006 40 - 3988 7790.094 -245.02042 0.00092961006 40 - 3990 7638.9972 -197.81802 0.00092961006 40 - 3992 7710.1676 -158.64673 0.00092961006 40 - 3994 7660.7605 -125.41186 0.00092961006 40 - 3996 7786.1818 -97.877548 0.00092961006 40 - 3998 7843.3548 -75.313834 0.00092961006 40 - 4000 7664.6576 -57.202999 0.00092961006 40 - 4002 7724.4255 -43.857478 0.00092961006 40 - 4004 7797.9069 -33.453599 0.00092961006 40 - 4006 7786.0759 -24.6743 0.00092961006 40 - 4008 7918.4492 -17.828108 0.00092961006 40 - 4010 7905.0845 -12.630032 0.00092961006 40 - 4012 7754.5678 -9.3419463 0.00092961006 40 - 4014 7823.6592 -8.0002651 0.00092961006 40 - 4016 7809.0945 -7.0481495 0.00092961006 40 - 4018 7823.9309 -6.3498162 0.00092961006 40 - 4020 7962.0556 -6.1173176 0.00092961006 40 - 4022 7873.0001 -6.1023523 0.00092961006 40 - 4024 7819.7799 -7.0153894 0.00092961006 40 - 4026 7852.0238 -8.3378683 0.00092961006 40 - 4028 7797.6458 -8.6622183 0.00092961006 40 - 4030 7767.892 -8.0643743 0.00092961006 40 - 4032 7833.0295 -7.3906575 0.00092961006 40 - 4034 7741.8785 -6.945246 0.00092961006 40 - 4036 7741.4775 -7.0038025 0.00092961006 40 - 4038 7774.2275 -6.5629865 0.00092961006 40 - 4040 7746.0392 -4.9652013 0.00092961006 40 - 4042 7754.6703 -3.025234 0.00092961006 40 - 4044 7747.5827 -1.8799389 0.00092961006 40 - 4046 7609.1583 -1.8461253 0.00092961006 40 - 4048 7523.121 -2.5237592 0.00092961006 40 - 4050 7587.8748 -2.81297 0.00092961006 40 - 4052 7585.1351 -2.0344331 0.00092961006 40 - 4054 7783.5525 -1.6383303 0.00092961006 40 - 4056 7873.1758 -2.1091858 0.00092961006 40 - 4058 7836.9551 -3.4736029 0.00092961006 40 - 4060 7771.8648 -4.6327159 0.00092961006 40 - 4062 7745.3428 -4.3264123 0.00092961006 40 - 4064 7684.791 -2.6463797 0.00092961006 40 - 4066 7793.7564 -1.510762 0.00092961006 40 - 4068 7804.0352 -1.709252 0.00092961006 40 - 4070 7788.7767 -3.0200972 0.00092961006 40 - 4072 7760.8316 -3.8847699 0.00092961006 40 - 4074 7708.6591 -3.280568 0.00092961006 40 - 4076 7658.5731 -2.300304 0.00092961006 40 - 4078 7707.8198 -2.7854801 0.00092961006 40 - 4080 7729.9763 -4.8018491 0.00092961006 40 - 4082 7902.4434 -157.06846 0.00095122889 41 - 4084 7963.9885 -265.74961 0.00095122889 41 - 4086 7914.6068 -273.87897 0.00095122889 41 - 4088 7883.2043 -248.21879 0.00095122889 41 - 4090 7798.741 -213.85753 0.00095122889 41 - 4092 7697.673 -179.8176 0.00095122889 41 - 4094 7682.6156 -147.94705 0.00095122889 41 - 4096 7755.5883 -117.79122 0.00095122889 41 - 4098 7769.1235 -90.037461 0.00095122889 41 - 4100 7877.2039 -67.421656 0.00095122889 41 - 4102 7861.6436 -50.915002 0.00095122889 41 - 4104 7835.5421 -39.405831 0.00095122889 41 - 4106 7862.2339 -30.336739 0.00095122889 41 - 4108 7909.2147 -22.182301 0.00095122889 41 - 4110 7883.4125 -16.026159 0.00095122889 41 - 4112 7989.2857 -13.38701 0.00095122889 41 - 4114 7830.6378 -13.322647 0.00095122889 41 - 4116 7769.5086 -13.526071 0.00095122889 41 - 4118 7825.5764 -12.141454 0.00095122889 41 - 4120 7841.5613 -9.0273754 0.00095122889 41 - 4122 7927.5749 -6.6185333 0.00095122889 41 - 4124 7965.3063 -6.2844682 0.00095122889 41 - 4126 7796.2181 -6.7996879 0.00095122889 41 - 4128 7734.3802 -6.6388671 0.00095122889 41 - 4130 7758.5914 -4.7554937 0.00095122889 41 - 4132 7682.7878 -2.5050831 0.00095122889 41 - 4134 7824.8011 -2.6610935 0.00095122889 41 - 4136 7755.6681 -4.6815735 0.00095122889 41 - 4138 7660.969 -6.9516019 0.00095122889 41 - 4140 7688.7405 -7.7130554 0.00095122889 41 - 4142 7581.4273 -6.3261565 0.00095122889 41 - 4144 7526.3642 -4.9332058 0.00095122889 41 - 4146 7582.4672 -5.0590224 0.00095122889 41 - 4148 7552.4585 -5.6074616 0.00095122889 41 - 4150 7647.6784 -5.2241017 0.00095122889 41 - 4152 7792.9307 -3.0123135 0.00095122889 41 - 4154 7755.9484 0.08787677 0.00095122889 41 - 4156 7923.6998 1.4015904 0.00095122889 41 - 4158 7913.9452 0.402066 0.00095122889 41 - 4160 7816.5845 -1.4091564 0.00095122889 41 - 4162 7797.5379 -2.5730791 0.00095122889 41 - 4164 7767.0704 -2.3411579 0.00095122889 41 - 4166 7775.3551 -2.3498279 0.00095122889 41 - 4168 7833.2488 -3.8539649 0.00095122889 41 - 4170 7864.5177 -6.0886196 0.00095122889 41 - 4172 7933.8629 -7.6786041 0.00095122889 41 - 4174 7968.4774 -7.7282369 0.00095122889 41 - 4176 7978.8883 -6.1422019 0.00095122889 41 - 4178 7932.7975 -4.771645 0.00095122889 41 - 4180 7948.0708 -4.0714699 0.00095122889 41 - 4182 7943.1915 -3.8837665 0.00095122889 41 - 4184 8108.9177 -516.1468 0.00097284773 42 - 4186 8206.3013 -433.68498 0.00097284773 42 - 4188 8217.7025 -361.17364 0.00097284773 42 - 4190 8198.8587 -298.59241 0.00097284773 42 - 4192 8099.2022 -245.14742 0.00097284773 42 - 4194 7979.1079 -199.84977 0.00097284773 42 - 4196 8027.5705 -161.57032 0.00097284773 42 - 4198 8019.9532 -128.81228 0.00097284773 42 - 4200 8042.8235 -101.32318 0.00097284773 42 - 4202 8051.7017 -78.733849 0.00097284773 42 - 4204 8029.8713 -60.5796 0.00097284773 42 - 4206 8019.3048 -46.203864 0.00097284773 42 - 4208 8087.5578 -34.745819 0.00097284773 42 - 4210 8111.1976 -25.552949 0.00097284773 42 - 4212 8118.8629 -18.609752 0.00097284773 42 - 4214 8077.5838 -13.804228 0.00097284773 42 - 4216 8027.3801 -10.905812 0.00097284773 42 - 4218 8000.5759 -9.2810893 0.00097284773 42 - 4220 8037.1325 -8.5888292 0.00097284773 42 - 4222 8067.6335 -8.3374162 0.00097284773 42 - 4224 8038.0059 -8.0719145 0.00097284773 42 - 4226 8018.4883 -7.7890418 0.00097284773 42 - 4228 7956.2369 -7.3379906 0.00097284773 42 - 4230 7932.6107 -6.8064093 0.00097284773 42 - 4232 7944.483 -6.1421048 0.00097284773 42 - 4234 7956.2893 -5.0641406 0.00097284773 42 - 4236 7979.4578 -3.6294807 0.00097284773 42 - 4238 8054.2831 -2.2079124 0.00097284773 42 - 4240 8045.5253 -0.91784072 0.00097284773 42 - 4242 8045.7217 -0.18674195 0.00097284773 42 - 4244 8004.127 0.20356353 0.00097284773 42 - 4246 7940.1172 0.45805105 0.00097284773 42 - 4248 7964.2425 0.36976912 0.00097284773 42 - 4250 7988.7833 -0.029928883 0.00097284773 42 - 4252 7996.9124 -0.89531223 0.00097284773 42 - 4254 8017.1117 -2.1639093 0.00097284773 42 - 4256 7940.2632 -3.0690098 0.00097284773 42 - 4258 7860.6561 -3.3920916 0.00097284773 42 - 4260 7879.9971 -3.2953276 0.00097284773 42 - 4262 7891.806 -2.9424874 0.00097284773 42 - 4264 7992.2304 -2.9380123 0.00097284773 42 - 4266 8026.3982 -2.8724499 0.00097284773 42 - 4268 7972.8388 -2.2516181 0.00097284773 42 - 4270 7973.964 -1.297675 0.00097284773 42 - 4272 7994.0752 -0.39747736 0.00097284773 42 - 4274 7998.7465 -0.11614095 0.00097284773 42 - 4276 8088.8291 -0.8113334 0.00097284773 42 - 4278 8059.6742 -1.5888446 0.00097284773 42 - 4280 8020.6926 -2.050816 0.00097284773 42 - 4282 8028.1365 -2.1996992 0.00097284773 42 - 4284 8052.2891 -2.0985556 0.00097284773 42 - 4286 8278.9938 -509.86421 0.00099446657 43 - 4288 8247.3179 -429.64673 0.00099446657 43 - 4290 8126.1785 -358.97006 0.00099446657 43 - 4292 8173.7712 -296.56464 0.00099446657 43 - 4294 8238.764 -242.102 0.00099446657 43 - 4296 8255.6032 -195.61919 0.00099446657 43 - 4298 8262.4411 -156.7365 0.00099446657 43 - 4300 8302.0004 -124.31989 0.00099446657 43 - 4302 8268.867 -96.949231 0.00099446657 43 - 4304 8306.5281 -74.210979 0.00099446657 43 - 4306 8343.4055 -56.253207 0.00099446657 43 - 4308 8356.4515 -42.854371 0.00099446657 43 - 4310 8299.0659 -32.996689 0.00099446657 43 - 4312 8352.6583 -25.752008 0.00099446657 43 - 4314 8361.5085 -19.985322 0.00099446657 43 - 4316 8571.4568 -15.557804 0.00099446657 43 - 4318 8582.3215 -12.887596 0.00099446657 43 - 4320 8472.6813 -11.558167 0.00099446657 43 - 4322 8474.9823 -10.844405 0.00099446657 43 - 4324 8473.3675 -9.8150724 0.00099446657 43 - 4326 8393.9486 -8.1992451 0.00099446657 43 - 4328 8378.9425 -6.7260885 0.00099446657 43 - 4330 8346.1 -5.564676 0.00099446657 43 - 4332 8235.6896 -4.425222 0.00099446657 43 - 4334 8363.6675 -3.5881597 0.00099446657 43 - 4336 8405.1823 -2.3044991 0.00099446657 43 - 4338 8350.9928 -0.8406972 0.00099446657 43 - 4340 8500.7521 -0.4234826 0.00099446657 43 - 4342 8548.8147 -0.62817151 0.00099446657 43 - 4344 8332.1491 -0.83924293 0.00099446657 43 - 4346 8393.1372 -1.6195255 0.00099446657 43 - 4348 8320.9882 -1.6951836 0.00099446657 43 - 4350 8292.8489 -1.6086181 0.00099446657 43 - 4352 8516.1554 -2.1037774 0.00099446657 43 - 4354 8389.0052 -1.9113063 0.00099446657 43 - 4356 8344.2002 -1.802563 0.00099446657 43 - 4358 8441.592 -1.62227 0.00099446657 43 - 4360 8290.2032 -0.812818 0.00099446657 43 - 4362 8276.3044 -0.54320674 0.00099446657 43 - 4364 8398.8818 -0.50890608 0.00099446657 43 - 4366 8217.6126 0.23032956 0.00099446657 43 - 4368 8277.2966 0.45618773 0.00099446657 43 - 4370 8285.6835 0.64048165 0.00099446657 43 - 4372 8223.9666 0.82233709 0.00099446657 43 - 4374 8368.9826 0.30079286 0.00099446657 43 - 4376 8397.6389 -0.039229341 0.00099446657 43 - 4378 8324.4249 -0.062354972 0.00099446657 43 - 4380 8450.3608 -0.40290024 0.00099446657 43 - 4382 8430.9643 -0.53817058 0.00099446657 43 - 4384 8450.4916 -1.0890976 0.00099446657 43 - 4386 8597.0802 -2.1229363 0.00099446657 43 - 4388 8574.7893 -495.23616 0.0010160854 44 - 4390 8534.2928 -416.45571 0.0010160854 44 - 4392 8515.3825 -347.36621 0.0010160854 44 - 4394 8410.3226 -286.93247 0.0010160854 44 - 4396 8441.4595 -234.96248 0.0010160854 44 - 4398 8494.8924 -190.56091 0.0010160854 44 - 4400 8396.1692 -152.56229 0.0010160854 44 - 4402 8340.2064 -120.49381 0.0010160854 44 - 4404 8262.4814 -93.513076 0.0010160854 44 - 4406 8260.9108 -71.399624 0.0010160854 44 - 4408 8503.2679 -54.196816 0.0010160854 44 - 4410 8612.8867 -40.648655 0.0010160854 44 - 4412 8611.2491 -30.080936 0.0010160854 44 - 4414 8529.1473 -22.008788 0.0010160854 44 - 4416 8274.8886 -15.888411 0.0010160854 44 - 4418 8232.6373 -12.281908 0.0010160854 44 - 4420 8278.7733 -10.540243 0.0010160854 44 - 4422 8256.9019 -9.624563 0.0010160854 44 - 4424 8351.6515 -9.3047728 0.0010160854 44 - 4426 8329.4027 -8.6619836 0.0010160854 44 - 4428 8178.9029 -7.6979987 0.0010160854 44 - 4430 8308.5907 -7.5255745 0.0010160854 44 - 4432 8339.2567 -7.3318811 0.0010160854 44 - 4434 8362.5258 -7.1546324 0.0010160854 44 - 4436 8557.2606 -6.6855469 0.0010160854 44 - 4438 8475.4182 -5.6090375 0.0010160854 44 - 4440 8319.9484 -4.6925255 0.0010160854 44 - 4442 8373.3802 -4.545894 0.0010160854 44 - 4444 8374.4917 -4.6279572 0.0010160854 44 - 4446 8395.4212 -4.9670733 0.0010160854 44 - 4448 8502.6173 -5.3570084 0.0010160854 44 - 4450 8394.9695 -5.1255099 0.0010160854 44 - 4452 8434.3765 -5.2245389 0.0010160854 44 - 4454 8443.8848 -5.4566204 0.0010160854 44 - 4456 8441.6094 -5.6688567 0.0010160854 44 - 4458 8408.897 -5.4910366 0.0010160854 44 - 4460 8395.9315 -4.6146451 0.0010160854 44 - 4462 8365.5718 -3.2374638 0.0010160854 44 - 4464 8565.1171 -2.4491367 0.0010160854 44 - 4466 8593.5937 -2.1052133 0.0010160854 44 - 4468 8499.6193 -2.185188 0.0010160854 44 - 4470 8546.1106 -2.307305 0.0010160854 44 - 4472 8527.2742 -1.8524704 0.0010160854 44 - 4474 8465.1781 -1.7897711 0.0010160854 44 - 4476 8500.7257 -2.6640952 0.0010160854 44 - 4478 8494.4707 -3.8554635 0.0010160854 44 - 4480 8532.6748 -5.1327601 0.0010160854 44 - 4482 8596.1301 -5.8945847 0.0010160854 44 - 4484 8521.9809 -5.593774 0.0010160854 44 - 4486 8550.9191 -5.4219167 0.0010160854 44 - 4488 8509.9533 -5.2971017 0.0010160854 44 - 4490 8527.9509 -496.09766 0.0010377042 45 - 4492 8613.0476 -416.35833 0.0010377042 45 - 4494 8676.1378 -345.86004 0.0010377042 45 - 4496 8617.3621 -283.82315 0.0010377042 45 - 4498 8668.1478 -230.41561 0.0010377042 45 - 4500 8649.6909 -184.8817 0.0010377042 45 - 4502 8679.6804 -146.6874 0.0010377042 45 - 4504 8747.1518 -114.94709 0.0010377042 45 - 4506 8688.4472 -88.603119 0.0010377042 45 - 4508 8608.4958 -67.271273 0.0010377042 45 - 4510 8591.9259 -50.787437 0.0010377042 45 - 4512 8494.9811 -38.402513 0.0010377042 45 - 4514 8463.1609 -28.990894 0.0010377042 45 - 4516 8464.8933 -21.635316 0.0010377042 45 - 4518 8470.0639 -16.177833 0.0010377042 45 - 4520 8471.9812 -12.437599 0.0010377042 45 - 4522 8498.4238 -10.08233 0.0010377042 45 - 4524 8499.769 -8.4613574 0.0010377042 45 - 4526 8553.6516 -6.911356 0.0010377042 45 - 4528 8422.8294 -4.7026624 0.0010377042 45 - 4530 8441.909 -2.9558897 0.0010377042 45 - 4532 8387.1921 -1.5442977 0.0010377042 45 - 4534 8384.5952 -0.86092867 0.0010377042 45 - 4536 8431.7181 -0.54662396 0.0010377042 45 - 4538 8441.649 0.07032512 0.0010377042 45 - 4540 8400.8654 0.65049388 0.0010377042 45 - 4542 8412.8422 0.31166962 0.0010377042 45 - 4544 8293.6405 -0.65121641 0.0010377042 45 - 4546 8235.082 -1.9157396 0.0010377042 45 - 4548 8337.4213 -2.8597252 0.0010377042 45 - 4550 8360.9468 -2.8658973 0.0010377042 45 - 4552 8430.0995 -2.7233891 0.0010377042 45 - 4554 8501.6129 -2.7965692 0.0010377042 45 - 4556 8417.9206 -2.5637444 0.0010377042 45 - 4558 8400.4222 -1.9567773 0.0010377042 45 - 4560 8504.0062 -0.76780017 0.0010377042 45 - 4562 8484.3359 1.0467294 0.0010377042 45 - 4564 8558.8809 2.1140163 0.0010377042 45 - 4566 8601.3852 2.1172908 0.0010377042 45 - 4568 8444.5107 1.9568098 0.0010377042 45 - 4570 8467.9402 1.6835107 0.0010377042 45 - 4572 8449.0471 2.1061386 0.0010377042 45 - 4574 8369.1374 3.0093153 0.0010377042 45 - 4576 8491.3532 3.3567439 0.0010377042 45 - 4578 8478.964 3.3802201 0.0010377042 45 - 4580 8504.6394 2.7694682 0.0010377042 45 - 4582 8642.0159 1.9628767 0.0010377042 45 - 4584 8513.5376 2.223098 0.0010377042 45 - 4586 8474.3971 2.516679 0.0010377042 45 - 4588 8487.1656 2.2985708 0.0010377042 45 - 4590 8289.0437 1.9469959 0.0010377042 45 - 4592 8481.5191 -520.17528 0.0010593231 46 - 4594 8567.1466 -437.6927 0.0010593231 46 - 4596 8518.549 -364.26995 0.0010593231 46 - 4598 8604.1157 -300.08043 0.0010593231 46 - 4600 8529.2258 -244.28279 0.0010593231 46 - 4602 8428.0705 -196.70922 0.0010593231 46 - 4604 8582.5154 -156.849 0.0010593231 46 - 4606 8548.2838 -122.68697 0.0010593231 46 - 4608 8596.5127 -94.410533 0.0010593231 46 - 4610 8674.4143 -71.72073 0.0010593231 46 - 4612 8538.4797 -53.669118 0.0010593231 46 - 4614 8623.2159 -40.344528 0.0010593231 46 - 4616 8759.322 -30.147898 0.0010593231 46 - 4618 8793.5955 -21.884434 0.0010593231 46 - 4620 8982.3765 -15.931732 0.0010593231 46 - 4622 8958.5083 -11.617209 0.0010593231 46 - 4624 8806.9297 -8.8619595 0.0010593231 46 - 4626 8803.6844 -7.2321648 0.0010593231 46 - 4628 8797.2255 -5.570733 0.0010593231 46 - 4630 8892.9851 -4.3531986 0.0010593231 46 - 4632 8964.0601 -3.4170376 0.0010593231 46 - 4634 8846.728 -2.655739 0.0010593231 46 - 4636 8773.1004 -2.2601343 0.0010593231 46 - 4638 8671.2037 -1.557705 0.0010593231 46 - 4640 8585.723 -0.71944384 0.0010593231 46 - 4642 8725.2486 -0.48356301 0.0010593231 46 - 4644 8711.1613 -0.53293687 0.0010593231 46 - 4646 8786.7057 -1.5005599 0.0010593231 46 - 4648 8858.642 -2.4923147 0.0010593231 46 - 4650 8752.25 -2.6581339 0.0010593231 46 - 4652 8815.6087 -3.01017 0.0010593231 46 - 4654 8775.7986 -3.3756535 0.0010593231 46 - 4656 8566.3303 -3.7982073 0.0010593231 46 - 4658 8799.7321 -4.3008093 0.0010593231 46 - 4660 8723.878 -3.9630469 0.0010593231 46 - 4662 8686.2465 -3.0562248 0.0010593231 46 - 4664 8915.9896 -2.5027167 0.0010593231 46 - 4666 8948.6766 -1.7363874 0.0010593231 46 - 4668 8981.9868 -1.4904713 0.0010593231 46 - 4670 8973.8687 -1.2017163 0.0010593231 46 - 4672 8781.5713 -0.098324645 0.0010593231 46 - 4674 8836.3853 0.36211688 0.0010593231 46 - 4676 8888.7808 0.13105451 0.0010593231 46 - 4678 8835.0564 -0.50481902 0.0010593231 46 - 4680 8985.5711 -1.5894088 0.0010593231 46 - 4682 8859.0573 -1.5127093 0.0010593231 46 - 4684 8693.8448 -0.89458263 0.0010593231 46 - 4686 8738.5439 -0.77832982 0.0010593231 46 - 4688 8752.8631 -0.68096596 0.0010593231 46 - 4690 8989.1943 -1.1086408 0.0010593231 46 - 4692 9125.5916 -1.3370384 0.0010593231 46 - 4694 9137.3461 -520.18878 0.0010809419 47 - 4696 9161.8764 -436.8854 0.0010809419 47 - 4698 9090.1914 -363.36 0.0010809419 47 - 4700 8968.747 -299.55079 0.0010809419 47 - 4702 9078.7834 -245.40424 0.0010809419 47 - 4704 8992.5725 -198.91807 0.0010809419 47 - 4706 9051.2817 -159.66594 0.0010809419 47 - 4708 9268.4539 -127.05373 0.0010809419 47 - 4710 9249.7126 -99.872257 0.0010809419 47 - 4712 9272.9869 -78.285794 0.0010809419 47 - 4714 9298.2916 -61.242625 0.0010809419 47 - 4716 9149.9948 -47.047605 0.0010809419 47 - 4718 9174.9535 -35.539318 0.0010809419 47 - 4720 9145.8496 -25.8891 0.0010809419 47 - 4722 9109.5375 -18.1682 0.0010809419 47 - 4724 9242.5523 -12.688902 0.0010809419 47 - 4726 9217.6607 -8.2811481 0.0010809419 47 - 4728 9205.001 -4.9666292 0.0010809419 47 - 4730 9246.4981 -2.8583297 0.0010809419 47 - 4732 9085.8485 -1.4678673 0.0010809419 47 - 4734 9146.1068 -1.4024674 0.0010809419 47 - 4736 9303.335 -1.9059492 0.0010809419 47 - 4738 9271.2857 -2.0258301 0.0010809419 47 - 4740 9304.4859 -2.3846233 0.0010809419 47 - 4742 9270.2033 -2.7896971 0.0010809419 47 - 4744 9206.1576 -3.3254688 0.0010809419 47 - 4746 9293.6448 -4.2902575 0.0010809419 47 - 4748 9273.8176 -4.7705219 0.0010809419 47 - 4750 9133.8374 -4.4378019 0.0010809419 47 - 4752 9197.8675 -3.9840481 0.0010809419 47 - 4754 9175.0908 -3.2269941 0.0010809419 47 - 4756 9161.9743 -2.6815574 0.0010809419 47 - 4758 9235.6272 -2.4653622 0.0010809419 47 - 4760 9217.1381 -1.8932604 0.0010809419 47 - 4762 9181.2102 -1.1216766 0.0010809419 47 - 4764 9338.3737 -0.90234884 0.0010809419 47 - 4766 9335.2303 -0.92297203 0.0010809419 47 - 4768 9298.9426 -1.3455966 0.0010809419 47 - 4770 9325.4367 -1.8336104 0.0010809419 47 - 4772 9230.3934 -1.5479611 0.0010809419 47 - 4774 9178.392 -1.0441831 0.0010809419 47 - 4776 9227.8488 -1.0590378 0.0010809419 47 - 4778 9193.9447 -1.4198565 0.0010809419 47 - 4780 9270.6561 -2.1954197 0.0010809419 47 - 4782 9422.3603 -2.8136615 0.0010809419 47 - 4784 9350.7024 -2.673543 0.0010809419 47 - 4786 9331.5137 -2.8714966 0.0010809419 47 - 4788 9250.4145 -3.5767976 0.0010809419 47 - 4790 9107.9642 -4.5337248 0.0010809419 47 - 4792 9228.1155 -5.7916693 0.0010809419 47 - 4794 9292.6027 -6.3474068 0.0010809419 47 - 4796 9281.1728 -495.56961 0.0011025608 48 - 4798 9257.2823 -416.90739 0.0011025608 48 - 4800 9167.2292 -347.91303 0.0011025608 48 - 4802 9051.4613 -287.59488 0.0011025608 48 - 4804 9051.2474 -235.29211 0.0011025608 48 - 4806 8939.1848 -189.98673 0.0011025608 48 - 4808 8829.7683 -151.62536 0.0011025608 48 - 4810 8824.1916 -119.95289 0.0011025608 48 - 4812 8808.1206 -93.914418 0.0011025608 48 - 4814 8890.8833 -72.704047 0.0011025608 48 - 4816 8917.407 -55.21116 0.0011025608 48 - 4818 8876.1635 -41.05117 0.0011025608 48 - 4820 8854.7425 -30.373475 0.0011025608 48 - 4822 8846.8083 -22.843194 0.0011025608 48 - 4824 8821.8413 -17.705544 0.0011025608 48 - 4826 8837.4071 -14.157948 0.0011025608 48 - 4828 8828.0931 -11.420858 0.0011025608 48 - 4830 8859.1154 -9.5170755 0.0011025608 48 - 4832 8946.3791 -8.7264479 0.0011025608 48 - 4834 8978.8812 -8.8790393 0.0011025608 48 - 4836 8953.0905 -9.2279972 0.0011025608 48 - 4838 8910.8094 -8.9427729 0.0011025608 48 - 4840 8968.6837 -8.0843379 0.0011025608 48 - 4842 8928.639 -6.9476377 0.0011025608 48 - 4844 8823.2 -6.1527852 0.0011025608 48 - 4846 8763.5685 -5.8243942 0.0011025608 48 - 4848 8715.8194 -5.2584257 0.0011025608 48 - 4850 8714.0846 -4.3510558 0.0011025608 48 - 4852 8789.8199 -3.6345733 0.0011025608 48 - 4854 8730.5479 -3.2965154 0.0011025608 48 - 4856 8652.0668 -3.7899389 0.0011025608 48 - 4858 8624.8355 -4.732243 0.0011025608 48 - 4860 8580.5577 -5.1860591 0.0011025608 48 - 4862 8654.1508 -5.1768892 0.0011025608 48 - 4864 8735.3771 -4.9999079 0.0011025608 48 - 4866 8765.1707 -5.1542509 0.0011025608 48 - 4868 8804.1792 -5.6790939 0.0011025608 48 - 4870 8860.7297 -5.8263426 0.0011025608 48 - 4872 8908.8556 -5.2744985 0.0011025608 48 - 4874 8926.07 -4.2957281 0.0011025608 48 - 4876 8850.6097 -3.4599457 0.0011025608 48 - 4878 8832.4203 -3.3921154 0.0011025608 48 - 4880 8797.98 -3.7216781 0.0011025608 48 - 4882 8760.5047 -3.9628578 0.0011025608 48 - 4884 8847.4366 -4.0231587 0.0011025608 48 - 4886 8887.6815 -3.7145985 0.0011025608 48 - 4888 8966.9828 -3.9153205 0.0011025608 48 - 4890 9065.3537 -5.038067 0.0011025608 48 - 4892 8936.417 -5.9841835 0.0011025608 48 - 4894 8864.0481 -6.3394779 0.0011025608 48 - 4896 8910.5544 -5.8998984 0.0011025608 48 - 4898 9020.887 -505.99553 0.0011241796 49 - 4900 9146.5453 -425.18309 0.0011241796 49 - 4902 9199.4841 -354.6505 0.0011241796 49 - 4904 9081.6861 -292.58514 0.0011241796 49 - 4906 9109.4808 -238.36724 0.0011241796 49 - 4908 9201.4749 -191.5871 0.0011241796 49 - 4910 9200.1718 -152.36325 0.0011241796 49 - 4912 9338.4038 -121.01454 0.0011241796 49 - 4914 9302.5903 -95.640879 0.0011241796 49 - 4916 9191.2234 -74.423208 0.0011241796 49 - 4918 9211.5642 -56.502848 0.0011241796 49 - 4920 9188.5122 -41.472493 0.0011241796 49 - 4922 9180.3808 -30.039095 0.0011241796 49 - 4924 9285.1643 -22.268454 0.0011241796 49 - 4926 9277.2896 -16.379292 0.0011241796 49 - 4928 9289.8239 -11.313273 0.0011241796 49 - 4930 9378.02 -6.9392159 0.0011241796 49 - 4932 9367.1409 -3.54637 0.0011241796 49 - 4934 9354.7387 -2.1205117 0.0011241796 49 - 4936 9479.7661 -2.6634686 0.0011241796 49 - 4938 9467.8349 -3.3911836 0.0011241796 49 - 4940 9437.0542 -3.4584366 0.0011241796 49 - 4942 9409.6154 -2.8987342 0.0011241796 49 - 4944 9271.2955 -2.339303 0.0011241796 49 - 4946 9193.9347 -2.7801108 0.0011241796 49 - 4948 9239.9208 -3.7808623 0.0011241796 49 - 4950 9278.7442 -4.0161903 0.0011241796 49 - 4952 9336.3169 -3.1299356 0.0011241796 49 - 4954 9330.3317 -1.5284411 0.0011241796 49 - 4956 9202.1213 -0.2202091 0.0011241796 49 - 4958 9154.2967 -0.011244882 0.0011241796 49 - 4960 9101.7899 -0.16601161 0.0011241796 49 - 4962 9207.7969 -0.31994742 0.0011241796 49 - 4964 9366.7994 -0.19747702 0.0011241796 49 - 4966 9425.9901 -0.079974857 0.0011241796 49 - 4968 9444.2698 -0.74663383 0.0011241796 49 - 4970 9393.8478 -1.7630915 0.0011241796 49 - 4972 9302.1463 -2.2747079 0.0011241796 49 - 4974 9424.5662 -2.4598611 0.0011241796 49 - 4976 9465.0434 -2.1365335 0.0011241796 49 - 4978 9434.4933 -1.9532883 0.0011241796 49 - 4980 9469.4423 -2.1376525 0.0011241796 49 - 4982 9375.2018 -1.5851174 0.0011241796 49 - 4984 9362.759 -0.39474824 0.0011241796 49 - 4986 9442.0402 0.97786903 0.0011241796 49 - 4988 9413.9914 2.0671161 0.0011241796 49 - 4990 9416.6093 1.9942893 0.0011241796 49 - 4992 9404.3458 1.2240715 0.0011241796 49 - 4994 9355.31 0.57065426 0.0011241796 49 - 4996 9383.141 0.046953139 0.0011241796 49 - 4998 9399.1453 -0.57346338 0.0011241796 49 - 5000 9519.25 -518.64483 0.0011457984 50 - 5002 9604.2344 -438.74819 0.0011457984 50 - 5004 9559.8129 -367.48865 0.0011457984 50 - 5006 9544.8737 -304.02506 0.0011457984 50 - 5008 9481.656 -248.0081 0.0011457984 50 - 5010 9414.3533 -199.66492 0.0011457984 50 - 5012 9513.1357 -159.18474 0.0011457984 50 - 5014 9603.1734 -125.22869 0.0011457984 50 - 5016 9551.8186 -96.41966 0.0011457984 50 - 5018 9647.3309 -72.653519 0.0011457984 50 - 5020 9605.0904 -53.340454 0.0011457984 50 - 5022 9586.9507 -38.880254 0.0011457984 50 - 5024 9709.9752 -28.999004 0.0011457984 50 - 5026 9683.8421 -21.832358 0.0011457984 50 - 5028 9643.9148 -16.492713 0.0011457984 50 - 5030 9706.0273 -12.710548 0.0011457984 50 - 5032 9611.9033 -9.9440173 0.0011457984 50 - 5034 9567.2906 -8.5244174 0.0011457984 50 - 5036 9635.3114 -8.030991 0.0011457984 50 - 5038 9612.2959 -7.3510392 0.0011457984 50 - 5040 9722.4871 -6.4873995 0.0011457984 50 - 5042 9836.5908 -5.3676385 0.0011457984 50 - 5044 9832.73 -4.3333074 0.0011457984 50 - 5046 9759.2708 -3.8635602 0.0011457984 50 - 5048 9677.2982 -3.7288336 0.0011457984 50 - 5050 9601.6808 -3.5122622 0.0011457984 50 - 5052 9721.7022 -3.5470923 0.0011457984 50 - 5054 9792.2522 -3.6750964 0.0011457984 50 - 5056 9763.3339 -3.8730349 0.0011457984 50 - 5058 9758.9939 -4.1225654 0.0011457984 50 - 5060 9724.8233 -4.0129457 0.0011457984 50 - 5062 9609.7244 -3.4237045 0.0011457984 50 - 5064 9586.6957 -2.8190939 0.0011457984 50 - 5066 9559.6562 -2.1872918 0.0011457984 50 - 5068 9638.7727 -1.8326397 0.0011457984 50 - 5070 9827.2847 -1.9299282 0.0011457984 50 - 5072 9869.462 -2.0742746 0.0011457984 50 - 5074 9813.1458 -2.2167729 0.0011457984 50 - 5076 9794.8461 -2.457677 0.0011457984 50 - 5078 9711.4358 -2.55187 0.0011457984 50 - 5080 9738.491 -3.0545306 0.0011457984 50 - 5082 9899.1136 -4.2012624 0.0011457984 50 - 5084 9807.3623 -4.9467546 0.0011457984 50 - 5086 9744.1007 -5.2849531 0.0011457984 50 - 5088 9821.1579 -5.1551298 0.0011457984 50 - 5090 9825.4736 -4.2577294 0.0011457984 50 - 5092 9865.2542 -3.5543254 0.0011457984 50 - 5094 9961.4468 -3.4213589 0.0011457984 50 - 5096 9830.6392 -2.8661808 0.0011457984 50 - 5098 9833.4478 -2.0922959 0.0011457984 50 - 5100 9900.2941 -0.83434095 0.0011457984 50 - 5102 9835.9337 0.4699033 0.0011457984 50 - 5104 9833.7603 0.47743244 0.0011457984 50 - 5106 9831.8135 -0.41088598 0.0011457984 50 - 5108 9757.8169 -0.9151913 0.0011457984 50 - 5110 9867.9551 -0.76236525 0.0011457984 50 - 5112 9881.1147 0.26687783 0.0011457984 50 - 5114 9810.935 0.95492784 0.0011457984 50 - 5116 9854.0824 0.16038773 0.0011457984 50 - 5118 9801.1062 -0.97621444 0.0011457984 50 - 5120 9737.6269 -1.3109743 0.0011457984 50 - 5122 9744.1436 -0.55115253 0.0011457984 50 - 5124 9649.6516 0.72316201 0.0011457984 50 - 5126 9664.2682 0.67140181 0.0011457984 50 - 5128 9768.702 -0.94819295 0.0011457984 50 - 5130 9753.6951 -2.6136655 0.0011457984 50 - 5132 9719.31 -3.421216 0.0011457984 50 - 5134 9601.2267 -3.1913958 0.0011457984 50 - 5136 9436.5811 -2.8639748 0.0011457984 50 - 5138 9485.6348 -3.6250392 0.0011457984 50 - 5140 9602.4968 -4.6930818 0.0011457984 50 - 5142 9716.3445 -4.7009462 0.0011457984 50 - 5144 9829.8772 -3.0422762 0.0011457984 50 - 5146 9775.9253 -0.099871825 0.0011457984 50 - 5148 9714.3184 2.3638003 0.0011457984 50 - 5150 9721.8795 3.4407067 0.0011457984 50 - 5152 9711.5028 3.8932963 0.0011457984 50 - 5154 9740.7674 4.6393043 0.0011457984 50 - 5156 9788.8434 5.8877168 0.0011457984 50 - 5158 9735.8911 6.7816444 0.0011457984 50 - 5160 9752.7265 5.8563351 0.0011457984 50 - 5162 9749.8783 3.4223128 0.0011457984 50 - 5164 9755.0591 0.65432948 0.0011457984 50 - 5166 9790.6938 -1.4423029 0.0011457984 50 - 5168 9683.3354 -2.4366479 0.0011457984 50 - 5170 9568.8334 -3.2936067 0.0011457984 50 - 5172 9550.9121 -4.6097096 0.0011457984 50 - 5174 9514.1645 -5.6687719 0.0011457984 50 - 5176 9526.4197 -5.8206698 0.0011457984 50 - 5178 9580.5278 -4.6502361 0.0011457984 50 - 5180 9499.5744 -2.3930624 0.0011457984 50 - 5182 9493.8922 -0.49092775 0.0011457984 50 - 5184 9474.1233 0.87105346 0.0011457984 50 - 5186 9443.4367 2.121042 0.0011457984 50 - 5188 9505.5172 3.4569671 0.0011457984 50 - 5190 9505.6816 5.010125 0.0011457984 50 - 5192 9517.009 5.8421504 0.0011457984 50 - 5194 9547.5435 5.4256946 0.0011457984 50 - 5196 9390.6498 4.4551742 0.0011457984 50 - 5198 9352.7639 2.9903747 0.0011457984 50 - 5200 9437.6381 1.5947939 0.0011457984 50 - 5202 9450.1343 0.70258862 0.0011457984 50 - 5204 9510.3105 -0.33071087 0.0011457984 50 - 5206 9502.9253 -1.3602607 0.0011457984 50 - 5208 9332.6127 -1.9447417 0.0011457984 50 - 5210 9341.5743 -2.3342341 0.0011457984 50 - 5212 9336.7886 -2.0628218 0.0011457984 50 - 5214 9318.1505 -1.4587331 0.0011457984 50 - 5216 9328.1223 -1.0850967 0.0011457984 50 - 5218 9318.8979 -1.017563 0.0011457984 50 - 5220 9330.595 -1.4294349 0.0011457984 50 - 5222 9450.3709 -2.3924416 0.0011457984 50 - 5224 9502.7445 -3.3023586 0.0011457984 50 - 5226 9448.058 -3.7841582 0.0011457984 50 - 5228 9401.1768 -3.9368085 0.0011457984 50 - 5230 9376.2376 -3.884294 0.0011457984 50 - 5232 9490.2547 -3.8750812 0.0011457984 50 - 5234 9658.1297 -3.5385398 0.0011457984 50 - 5236 9767.8043 -2.2736464 0.0011457984 50 - 5238 9761.0999 0.053501857 0.0011457984 50 - 5240 9783.3194 2.5425609 0.0011457984 50 - 5242 9757.6764 4.3275198 0.0011457984 50 - 5244 9722.8232 4.910775 0.0011457984 50 - 5246 9658.9452 4.8162207 0.0011457984 50 - 5248 9549.9302 4.9055441 0.0011457984 50 - 5250 9498.0386 5.0091454 0.0011457984 50 - 5252 9556.7311 4.1185281 0.0011457984 50 - 5254 9557.8028 1.880578 0.0011457984 50 - 5256 9548.9864 -1.1838066 0.0011457984 50 - 5258 9549.5421 -3.602049 0.0011457984 50 - 5260 9475.6275 -4.2460784 0.0011457984 50 - 5262 9448.1808 -3.9399715 0.0011457984 50 - 5264 9419.3009 -3.988808 0.0011457984 50 - 5266 9323.9302 -4.6937748 0.0011457984 50 - 5268 9350.3276 -5.3829053 0.0011457984 50 - 5270 9428.4885 -4.645299 0.0011457984 50 - 5272 9417.8913 -2.2902504 0.0011457984 50 - 5274 9436.9374 -0.11804883 0.0011457984 50 - 5276 9401.9 0.66257181 0.0011457984 50 - 5278 9316.6789 0.31275109 0.0011457984 50 - 5280 9314.8748 0.056129951 0.0011457984 50 - 5282 9304.1942 1.087018 0.0011457984 50 - 5284 9258.2839 2.7234584 0.0011457984 50 - 5286 9294.6632 3.1147868 0.0011457984 50 - 5288 9308.543 1.8812776 0.0011457984 50 - 5290 9351.3899 0.14644409 0.0011457984 50 - 5292 9402.3917 -0.32211565 0.0011457984 50 - 5294 9394.3066 0.91699 0.0011457984 50 - 5296 9363.5405 2.1749681 0.0011457984 50 - 5298 9384.5919 1.7616072 0.0011457984 50 - 5300 9382.0075 0.085544762 0.0011457984 50 - 5302 9444.7238 -1.278927 0.0011457984 50 - 5304 9499.763 -0.95971655 0.0011457984 50 - 5306 9510.1811 0.3954472 0.0011457984 50 - 5308 9521.5827 0.80570679 0.0011457984 50 - 5310 9488.6394 -0.45080118 0.0011457984 50 - 5312 9458.5255 -2.2580491 0.0011457984 50 - 5314 9457.4813 -2.7922614 0.0011457984 50 - 5316 9445.8123 -1.4619951 0.0011457984 50 - 5318 9439.6266 0.15583575 0.0011457984 50 - 5320 9473.753 0.22079091 0.0011457984 50 - 5322 9388.847 -0.86054314 0.0011457984 50 - 5324 9367.7834 -1.620443 0.0011457984 50 - 5326 9380.1644 -0.60133066 0.0011457984 50 - 5328 9304.879 1.8098891 0.0011457984 50 - 5330 9325.2485 3.1393573 0.0011457984 50 - 5332 9358.3543 2.4501572 0.0011457984 50 - 5334 9376.1966 0.84459833 0.0011457984 50 - 5336 9467.6575 -0.083434336 0.0011457984 50 - 5338 9409.1197 0.66408521 0.0011457984 50 - 5340 9250.6533 1.6038726 0.0011457984 50 - 5342 9266.1293 0.61862675 0.0011457984 50 - 5344 9170.0051 -1.5966932 0.0011457984 50 - 5346 9179.8306 -3.6910361 0.0011457984 50 - 5348 9296.0188 -4.0548344 0.0011457984 50 - 5350 9296.8615 -2.5050102 0.0011457984 50 - 5352 9357.2572 -1.4096762 0.0011457984 50 - 5354 9433.7322 -1.9270572 0.0011457984 50 - 5356 9366.3852 -2.9265892 0.0011457984 50 - 5358 9383.244 -3.1782233 0.0011457984 50 - 5360 9330.1465 -1.6512376 0.0011457984 50 - 5362 9194.5054 0.45883229 0.0011457984 50 - 5364 9187.3004 1.0065586 0.0011457984 50 - 5366 9116.9514 0.24444396 0.0011457984 50 - 5368 9123.0653 -0.8484207 0.0011457984 50 - 5370 9235.0911 -0.99263669 0.0011457984 50 - 5372 9188.9208 0.35243273 0.0011457984 50 - 5374 9243.5231 1.2486617 0.0011457984 50 - 5376 9234.3754 1.1088679 0.0011457984 50 - 5378 9105.3344 0.57943502 0.0011457984 50 - 5380 9154.7563 0.26409692 0.0011457984 50 - 5382 9194.3543 1.3453858 0.0011457984 50 - 5384 9205.2826 3.1104191 0.0011457984 50 - 5386 9420.3172 3.7734635 0.0011457984 50 - 5388 9441.4103 3.817096 0.0011457984 50 - 5390 9485.1202 3.3782803 0.0011457984 50 - 5392 9610.8107 2.9155254 0.0011457984 50 - 5394 9501.4179 3.1457124 0.0011457984 50 - 5396 9510.022 2.796283 0.0011457984 50 - 5398 9569.8284 1.81996 0.0011457984 50 - 5400 9457.2815 1.0036435 0.0011457984 50 - 5402 9515.4621 0.079212777 0.0011457984 50 - 5404 9507.745 0.024899951 0.0011457984 50 - 5406 9382.3611 0.84022397 0.0011457984 50 - 5408 9522.7726 1.3301395 0.0011457984 50 - 5410 9508.3297 2.1977172 0.0011457984 50 - 5412 9457.243 3.0751267 0.0011457984 50 - 5414 9584.2886 3.3911486 0.0011457984 50 - 5416 9456.1599 3.9039941 0.0011457984 50 - 5418 9439.7174 3.8015334 0.0011457984 50 - 5420 9595.7276 3.21878 0.0011457984 50 - 5422 9638.3225 2.8942378 0.0011457984 50 - 5424 9764.949 2.1267642 0.0011457984 50 - 5426 9841.5444 1.0682476 0.0011457984 50 - 5428 9680.5031 0.33474701 0.0011457984 50 - 5430 9607.8822 -0.11987808 0.0011457984 50 - 5432 9560.1267 0.27946219 0.0011457984 50 - 5434 9536.9174 1.1692843 0.0011457984 50 - 5436 9631.0768 1.6665967 0.0011457984 50 - 5438 9589.8701 1.9147519 0.0011457984 50 - 5440 9575.3452 1.8639901 0.0011457984 50 - 5442 9659.3629 1.9520524 0.0011457984 50 - 5444 9674.1541 2.4907839 0.0011457984 50 - 5446 9697.7261 2.406508 0.0011457984 50 - 5448 9690.8984 1.1264598 0.0011457984 50 - 5450 9623.3865 -0.92487777 0.0011457984 50 - 5452 9674.9321 -2.905871 0.0011457984 50 - 5454 9702.2485 -3.6732167 0.0011457984 50 - 5456 9635.4187 -3.5217309 0.0011457984 50 - 5458 9581.3254 -3.6059798 0.0011457984 50 - 5460 9480.4669 -3.9734002 0.0011457984 50 - 5462 9435.3131 -4.0387581 0.0011457984 50 - 5464 9534.5506 -2.973297 0.0011457984 50 - 5466 9617.0167 -0.56760995 0.0011457984 50 - 5468 9692.5636 1.7234191 0.0011457984 50 - 5470 9685.9259 2.7363009 0.0011457984 50 - 5472 9599.1928 2.4794484 0.0011457984 50 - 5474 9562.0871 1.8028212 0.0011457984 50 - 5476 9580.3546 1.7444303 0.0011457984 50 - 5478 9604.8083 2.0739899 0.0011457984 50 - 5480 9740.0757 1.5011757 0.0011457984 50 - 5482 9735.5541 0.070083688 0.0011457984 50 - 5484 9721.3199 -1.5645649 0.0011457984 50 - 5486 9719.1871 -2.0903277 0.0011457984 50 - 5488 9755.2534 -1.0516302 0.0011457984 50 - 5490 9741.0741 0.68343685 0.0011457984 50 - 5492 9790.595 1.68584 0.0011457984 50 - 5494 9747.6207 1.940975 0.0011457984 50 - 5496 9760.0492 2.0438587 0.0011457984 50 - 5498 9806.8117 2.9557222 0.0011457984 50 - 5500 9906.2348 4.2445378 0.0011457984 50 - 5502 9937.3762 4.6360945 0.0011457984 50 - 5504 9889.9099 3.36744 0.0011457984 50 - 5506 9801.0867 1.1583543 0.0011457984 50 - 5508 9757.0639 -0.63507871 0.0011457984 50 - 5510 9849.2588 -1.5203115 0.0011457984 50 - 5512 9910.9432 -1.9936042 0.0011457984 50 - 5514 9980.9927 -3.1553219 0.0011457984 50 - 5516 9884.7046 -4.6195607 0.0011457984 50 - 5518 9819.009 -5.5292635 0.0011457984 50 - 5520 9791.743 -5.0244452 0.0011457984 50 - 5522 9876.9616 -3.4374028 0.0011457984 50 - 5524 9913.7323 -1.560895 0.0011457984 50 - 5526 9965.6802 -0.28230669 0.0011457984 50 - 5528 9864.5527 0.77777988 0.0011457984 50 - 5530 9722.3632 2.0611697 0.0011457984 50 - 5532 9692.5948 3.4357418 0.0011457984 50 - 5534 9707.7114 4.4316179 0.0011457984 50 - 5536 9724.5556 4.4200513 0.0011457984 50 - 5538 9810.0608 3.2814823 0.0011457984 50 - 5540 9801.1254 1.9944919 0.0011457984 50 - 5542 9828.6486 0.81577583 0.0011457984 50 - 5544 9886.5246 -0.26945791 0.0011457984 50 - 5546 9814.2295 -1.2219503 0.0011457984 50 - 5548 9769.2818 -2.3790154 0.0011457984 50 - 5550 9671.3607 -3.1813334 0.0011457984 50 - 5552 9566.1375 -3.3034884 0.0011457984 50 - 5554 9662.8479 -3.157334 0.0011457984 50 - 5556 9822.6928 -2.7092017 0.0011457984 50 - 5558 9858.3611 -1.8733723 0.0011457984 50 - 5560 9864.0403 -0.9432148 0.0011457984 50 - 5562 9718.5186 0.33420254 0.0011457984 50 - 5564 9654.7726 1.3559204 0.0011457984 50 - 5566 9734.7499 1.7708321 0.0011457984 50 - 5568 9777.4725 1.9858757 0.0011457984 50 - 5570 9847.5326 2.0634589 0.0011457984 50 - 5572 9936.0477 2.097276 0.0011457984 50 - 5574 9900.7633 2.0720838 0.0011457984 50 - 5576 9937.5273 1.3672326 0.0011457984 50 - 5578 9961.2023 0.43540294 0.0011457984 50 - 5580 9863.5165 0.14546723 0.0011457984 50 - 5582 9788.1833 0.64376512 0.0011457984 50 - 5584 9738.4717 1.7883089 0.0011457984 50 - 5586 9777.5941 2.7944617 0.0011457984 50 - 5588 9844.3258 3.2948653 0.0011457984 50 - 5590 9850.6037 3.73122 0.0011457984 50 - 5592 9798.7444 4.4707532 0.0011457984 50 - 5594 9769.4476 5.2454853 0.0011457984 50 - 5596 9735.6813 5.3788919 0.0011457984 50 - 5598 9750.2623 4.3811369 0.0011457984 50 - 5600 9724.4105 2.9038676 0.0011457984 50 - 5602 9709.8706 1.6769734 0.0011457984 50 - 5604 9638.2747 1.2349895 0.0011457984 50 - 5606 9507.2594 1.3337825 0.0011457984 50 - 5608 9450.6727 1.1336527 0.0011457984 50 - 5610 9408.6365 0.68267355 0.0011457984 50 - 5612 9369.3312 0.59089756 0.0011457984 50 - 5614 9398.4939 1.2016359 0.0011457984 50 - 5616 9399.087 2.5782644 0.0011457984 50 - 5618 9324.4882 3.9215052 0.0011457984 50 - 5620 9341.4802 4.2926302 0.0011457984 50 - 5622 9244.696 4.4103891 0.0011457984 50 - 5624 9215.3593 4.6659322 0.0011457984 50 - 5626 9261.8257 5.3576315 0.0011457984 50 - 5628 9242.4011 6.3450699 0.0011457984 50 - 5630 9285.0978 6.5221442 0.0011457984 50 - 5632 9314.0346 5.9409997 0.0011457984 50 - 5634 9177.7593 5.6044675 0.0011457984 50 - 5636 9156.3214 5.5249683 0.0011457984 50 - 5638 9142.6687 5.7822736 0.0011457984 50 - 5640 9062.436 5.6464383 0.0011457984 50 - 5642 9140.8597 4.0505564 0.0011457984 50 - 5644 9134.2075 1.9875116 0.0011457984 50 - 5646 9084.7092 0.37818807 0.0011457984 50 - 5648 9184.8938 -0.6330058 0.0011457984 50 - 5650 9167.4749 -0.92384704 0.0011457984 50 - 5652 9188.003 -1.5961161 0.0011457984 50 - 5654 9208.2435 -2.6124216 0.0011457984 50 - 5656 9134.2092 -2.7628664 0.0011457984 50 - 5658 9097.3017 -1.5551001 0.0011457984 50 - 5660 9144.5404 0.57803721 0.0011457984 50 - 5662 9067.6426 2.680454 0.0011457984 50 - 5664 9075.8344 3.4574442 0.0011457984 50 - 5666 9019.7649 3.6888499 0.0011457984 50 - 5668 8979.0779 4.3183604 0.0011457984 50 - 5670 9044.7573 5.3882578 0.0011457984 50 - 5672 9106.6295 6.2475025 0.0011457984 50 - 5674 9095.1777 5.8147786 0.0011457984 50 - 5676 9092.9844 3.7292974 0.0011457984 50 - 5678 9006.8683 1.4945746 0.0011457984 50 - 5680 8875.2811 0.39531891 0.0011457984 50 - 5682 8887.6236 0.13437937 0.0011457984 50 - 5684 8857.0466 -0.0678953 0.0011457984 50 - 5686 9029.4601 -1.5241271 0.0011457984 50 - 5688 9195.6539 -3.1525277 0.0011457984 50 - 5690 9255.4237 -3.2301058 0.0011457984 50 - 5692 9262.751 -1.5870815 0.0011457984 50 - 5694 9177.1236 0.75066556 0.0011457984 50 - 5696 8980.3972 2.3413159 0.0011457984 50 - 5698 9046.6838 2.0139028 0.0011457984 50 - 5700 9089.9961 1.3331579 0.0011457984 50 - 5702 9108.9557 1.5442681 0.0011457984 50 - 5704 9183.8128 2.4575345 0.0011457984 50 - 5706 9103.6573 3.3601782 0.0011457984 50 - 5708 9034.187 2.7608128 0.0011457984 50 - 5710 9102.9716 0.72617921 0.0011457984 50 - 5712 9002.0791 -0.57347993 0.0011457984 50 - 5714 8960.5092 -0.6794737 0.0011457984 50 - 5716 8971.8739 -0.00031815209 0.0011457984 50 - 5718 8843.295 0.72776349 0.0011457984 50 - 5720 8934.1565 0.19821608 0.0011457984 50 - 5722 8963.7715 -0.39919342 0.0011457984 50 - 5724 8879.4007 0.20643603 0.0011457984 50 - 5726 8883.8738 1.8298534 0.0011457984 50 - 5728 8875.907 3.9153843 0.0011457984 50 - 5730 8875.0305 5.1890909 0.0011457984 50 - 5732 9093.0103 4.9108717 0.0011457984 50 - 5734 9121.1682 4.658725 0.0011457984 50 - 5736 9147.9828 4.6797083 0.0011457984 50 - 5738 9208.0685 4.6825798 0.0011457984 50 - 5740 9109.1076 4.350183 0.0011457984 50 - 5742 9137.9665 2.5394457 0.0011457984 50 - 5744 9233.8623 -0.13654524 0.0011457984 50 - 5746 9274.9432 -2.1852561 0.0011457984 50 - 5748 9375.8397 -3.1751126 0.0011457984 50 - 5750 9394.0222 -2.9957216 0.0011457984 50 - 5752 9264.7974 -2.3410807 0.0011457984 50 - 5754 9313.8745 -2.2121784 0.0011457984 50 - 5756 9267.4298 -1.5388542 0.0011457984 50 - 5758 9272.5259 0.012455309 0.0011457984 50 - 5760 9378.6847 2.357578 0.0011457984 50 - 5762 9329.1337 5.3400185 0.0011457984 50 - 5764 9318.1234 7.4868473 0.0011457984 50 - 5766 9410.2861 8.1063443 0.0011457984 50 - 5768 9364.9349 7.9969695 0.0011457984 50 - 5770 9397.0258 7.3517553 0.0011457984 50 - 5772 9522.9182 6.4246127 0.0011457984 50 - 5774 9546.1456 5.1902951 0.0011457984 50 - 5776 9688.1023 2.8309542 0.0011457984 50 - 5778 9703.883 0.3843822 0.0011457984 50 - 5780 9560.2136 -0.97898997 0.0011457984 50 - 5782 9491.6947 -1.1277455 0.0011457984 50 - 5784 9464.9945 -0.17086068 0.0011457984 50 - 5786 9410.4041 1.141182 0.0011457984 50 - 5788 9443.3999 1.9891415 0.0011457984 50 - 5790 9390.6079 2.8921217 0.0011457984 50 - 5792 9387.6468 3.9361413 0.0011457984 50 - 5794 9500.5403 4.9627391 0.0011457984 50 - 5796 9496.8831 5.7655291 0.0011457984 50 - 5798 9499.7529 5.2018266 0.0011457984 50 - 5800 9456.1563 3.4798465 0.0011457984 50 - 5802 9375.5941 1.6783349 0.0011457984 50 - 5804 9442.5195 0.3430883 0.0011457984 50 - 5806 9484.4576 -0.077274186 0.0011457984 50 - 5808 9429.8078 -0.17234937 0.0011457984 50 - 5810 9456.4999 -0.69501087 0.0011457984 50 - 5812 9397.6411 -0.73520349 0.0011457984 50 - 5814 9407.137 0.060929401 0.0011457984 50 - 5816 9526.2338 1.5625496 0.0011457984 50 - 5818 9487.0573 3.536031 0.0011457984 50 - 5820 9540.0818 4.4291809 0.0011457984 50 - 5822 9598.9135 4.0269073 0.0011457984 50 - 5824 9531.0727 3.1592454 0.0011457984 50 - 5826 9508.6169 2.2657967 0.0011457984 50 - 5828 9454.0163 1.9297467 0.0011457984 50 - 5830 9396.1836 1.5698577 0.0011457984 50 - 5832 9566.9629 0.057300614 0.0011457984 50 - 5834 9656.9144 -1.7889329 0.0011457984 50 - 5836 9681.8595 -3.1479964 0.0011457984 50 - 5838 9680.7003 -3.4838441 0.0011457984 50 - 5840 9505.8807 -2.7332235 0.0011457984 50 - 5842 9405.8802 -2.3153426 0.0011457984 50 - 5844 9420.8907 -2.7763813 0.0011457984 50 - 5846 9424.7211 -3.3544877 0.0011457984 50 - 5848 9493.4043 -3.3493234 0.0011457984 50 - 5850 9528.0457 -2.1551469 0.0011457984 50 - 5852 9452.8631 -0.35990604 0.0011457984 50 - 5854 9419.8602 0.55498139 0.0011457984 50 - 5856 9334.3062 0.49191412 0.0011457984 50 - 5858 9284.7095 0.012872669 0.0011457984 50 - 5860 9275.8427 0.11749661 0.0011457984 50 - 5862 9238.2407 1.0991173 0.0011457984 50 - 5864 9265.6877 1.7811333 0.0011457984 50 - 5866 9247.8628 1.4524729 0.0011457984 50 - 5868 9251.3414 0.24102384 0.0011457984 50 - 5870 9334.5085 -0.9900622 0.0011457984 50 - 5872 9380.6515 -1.2254557 0.0011457984 50 - 5874 9400.7574 -0.85963511 0.0011457984 50 - 5876 9461.4556 -0.97009484 0.0011457984 50 - 5878 9422.7193 -1.7108859 0.0011457984 50 - 5880 9452.3619 -2.8338146 0.0011457984 50 - 5882 9478.1995 -3.1268178 0.0011457984 50 - 5884 9455.6014 -2.0975814 0.0011457984 50 - 5886 9523.8311 -0.8393345 0.0011457984 50 - 5888 9469.8628 -0.024389183 0.0011457984 50 - 5890 9353.3316 -0.029234815 0.0011457984 50 - 5892 9353.2772 -0.36384581 0.0011457984 50 - 5894 9296.039 0.26316862 0.0011457984 50 - 5896 9347.861 1.2835594 0.0011457984 50 - 5898 9441.5972 1.7248974 0.0011457984 50 - 5900 9381.4678 1.2684522 0.0011457984 50 - 5902 9361.5331 -0.019520588 0.0011457984 50 - 5904 9360.4057 -0.89549679 0.0011457984 50 - 5906 9366.958 -0.86092765 0.0011457984 50 - 5908 9496.5969 -0.84331725 0.0011457984 50 - 5910 9462.4261 -1.1960116 0.0011457984 50 - 5912 9324.8237 -1.9671879 0.0011457984 50 - 5914 9285.0082 -2.3761654 0.0011457984 50 - 5916 9282.2489 -1.3018825 0.0011457984 50 - 5918 9418.5779 0.58373203 0.0011457984 50 - 5920 9539.3709 2.252092 0.0011457984 50 - 5922 9498.438 3.229691 0.0011457984 50 - 5924 9432.9584 3.6446358 0.0011457984 50 - 5926 9419.3007 4.4423313 0.0011457984 50 - 5928 9498.7474 5.7335499 0.0011457984 50 - 5930 9711.7231 6.4606288 0.0011457984 50 - 5932 9824.7497 5.9737039 0.0011457984 50 - 5934 9830.3795 4.2470677 0.0011457984 50 - 5936 9742.2625 2.4954471 0.0011457984 50 - 5938 9622.9601 1.7734819 0.0011457984 50 - 5940 9564.3827 1.6969709 0.0011457984 50 - 5942 9505.3002 1.4169294 0.0011457984 50 - 5944 9527.2581 0.33507768 0.0011457984 50 - 5946 9576.9445 -0.73645779 0.0011457984 50 - 5948 9611.2143 -0.46409823 0.0011457984 50 - 5950 9652.9501 1.2596854 0.0011457984 50 - 5952 9679.4027 3.43528 0.0011457984 50 - 5954 9567.8258 5.0545532 0.0011457984 50 - 5956 9599.4726 5.2843846 0.0011457984 50 - 5958 9589.5061 5.4230915 0.0011457984 50 - 5960 9549.2322 6.5029997 0.0011457984 50 - 5962 9580.8085 8.0667162 0.0011457984 50 - 5964 9553.0902 9.3316431 0.0011457984 50 - 5966 9478.6722 9.3997735 0.0011457984 50 - 5968 9575.7717 8.0819559 0.0011457984 50 - 5970 9522.7041 7.0080815 0.0011457984 50 - 5972 9488.6679 6.4440707 0.0011457984 50 - 5974 9573.1695 5.9298637 0.0011457984 50 - 5976 9582.6086 5.2536087 0.0011457984 50 - 5978 9628.2049 3.8987008 0.0011457984 50 - 5980 9677.3761 2.5384624 0.0011457984 50 - 5982 9596.6234 2.2380369 0.0011457984 50 - 5984 9588.085 2.6032445 0.0011457984 50 - 5986 9680.8357 2.9432395 0.0011457984 50 - 5988 9699.6998 2.9389564 0.0011457984 50 - 5990 9818.7251 2.2461338 0.0011457984 50 - 5992 9865.95 1.7383994 0.0011457984 50 - 5994 9845.4616 1.7345407 0.0011457984 50 - 5996 9854.6465 1.805345 0.0011457984 50 - 5998 9850.1963 1.8001966 0.0011457984 50 - 6000 9809.6304 1.5739345 0.0011457984 50 - 6002 9891.4427 0.92755735 0.0011457984 50 - 6004 9912.1115 0.48270035 0.0011457984 50 - 6006 9887.7326 0.39077694 0.0011457984 50 - 6008 9861.9189 0.6337832 0.0011457984 50 - 6010 9768.1269 1.2151004 0.0011457984 50 - 6012 9773.5059 1.498899 0.0011457984 50 - 6014 9819.8242 1.3529148 0.0011457984 50 - 6016 9828.2381 0.996993 0.0011457984 50 - 6018 9838.2915 0.66495661 0.0011457984 50 - 6020 9869.4576 0.69539003 0.0011457984 50 - 6022 9834.0117 1.1078898 0.0011457984 50 - 6024 9873.4062 1.07854 0.0011457984 50 - 6026 9914.6123 0.44227466 0.0011457984 50 - 6028 9891.3644 -0.36282183 0.0011457984 50 - 6030 9879.73 -0.83632357 0.0011457984 50 - 6032 9860.7734 -0.65427235 0.0011457984 50 - 6034 9835.8156 -0.30828552 0.0011457984 50 - 6036 9823.8167 -0.54884625 0.0011457984 50 - 6038 9779.8815 -1.3563752 0.0011457984 50 - 6040 9695.471 -1.9518387 0.0011457984 50 - 6042 9665.1458 -1.6761814 0.0011457984 50 - 6044 9644.9759 -0.43265853 0.0011457984 50 - 6046 9602.8254 1.0066052 0.0011457984 50 - 6048 9641.4636 1.7985425 0.0011457984 50 - 6050 9704.4729 2.2207014 0.0011457984 50 - 6052 9782.2464 2.9918915 0.0011457984 50 - 6054 9822.1111 4.4377842 0.0011457984 50 - 6056 9791.1854 5.9424321 0.0011457984 50 - 6058 9669.251 6.5453526 0.0011457984 50 - 6060 9594.6289 5.8146205 0.0011457984 50 - 6062 9582.48 4.5586657 0.0011457984 50 - 6064 9618.5592 3.7252984 0.0011457984 50 - 6066 9661.4545 3.4533548 0.0011457984 50 - 6068 9693.2956 3.0938242 0.0011457984 50 - 6070 9742.4217 2.026046 0.0011457984 50 - 6072 9798.2646 0.58042123 0.0011457984 50 - 6074 9844.6891 -0.26831074 0.0011457984 50 - 6076 9883.7518 0.046526836 0.0011457984 50 - 6078 9912.71 1.0839261 0.0011457984 50 - 6080 9944.1643 1.8908726 0.0011457984 50 - 6082 9956.4196 2.0738197 0.0011457984 50 - 6084 9933.531 2.1330963 0.0011457984 50 - 6086 9858.8887 2.8225944 0.0011457984 50 - 6088 9842.6352 3.8176999 0.0011457984 50 - 6090 9869.0454 4.111327 0.0011457984 50 - 6092 9895.151 3.072967 0.0011457984 50 - 6094 9923.4713 1.0726233 0.0011457984 50 - 6096 9846.6654 -0.5488411 0.0011457984 50 - 6098 9727.6782 -1.0304422 0.0011457984 50 - 6100 9644.9934 -0.63623128 0.0011457984 50 - 6102 9688.8998 -0.14299764 0.0011457984 50 - 6104 9788.6344 0.074155995 0.0011457984 50 - 6106 9880.8557 0.46787569 0.0011457984 50 - 6108 9795.1292 1.9605951 0.0011457984 50 - 6110 9781.2803 3.9699667 0.0011457984 50 - 6112 9772.8688 5.6753162 0.0011457984 50 - 6114 9783.1404 6.2397127 0.0011457984 50 - 6116 9862.009 5.4814461 0.0011457984 50 - 6118 9834.7021 4.4466959 0.0011457984 50 - 6120 9718.1031 3.6458456 0.0011457984 50 - 6122 9611.3046 2.7891142 0.0011457984 50 - 6124 9492.9139 1.6648477 0.0011457984 50 - 6126 9466.1975 0.059344629 0.0011457984 50 - 6128 9596.4483 -1.4758409 0.0011457984 50 - 6130 9628.4788 -1.633685 0.0011457984 50 - 6132 9663.5465 -0.60391218 0.0011457984 50 - 6134 9598.4656 1.0889235 0.0011457984 50 - 6136 9457.9898 2.7495116 0.0011457984 50 - 6138 9455.8838 3.8955319 0.0011457984 50 - 6140 9518.8498 5.1312351 0.0011457984 50 - 6142 9550.1571 6.7355515 0.0011457984 50 - 6144 9615.9609 8.1297976 0.0011457984 50 - 6146 9580.9308 9.0695275 0.0011457984 50 - 6148 9519.1276 9.1299634 0.0011457984 50 - 6150 9504.6824 8.4661449 0.0011457984 50 - 6152 9457.6515 7.932841 0.0011457984 50 - 6154 9438.392 7.7647042 0.0011457984 50 - 6156 9507.2605 7.7047419 0.0011457984 50 - 6158 9533.8383 7.5627875 0.0011457984 50 - 6160 9549.8644 7.1790181 0.0011457984 50 - 6162 9485.2333 7.0421404 0.0011457984 50 - 6164 9446.5 7.1354196 0.0011457984 50 - 6166 9515.3201 7.0663308 0.0011457984 50 - 6168 9627.0393 6.622293 0.0011457984 50 - 6170 9749.8051 5.6938844 0.0011457984 50 - 6172 9782.629 4.7167086 0.0011457984 50 - 6174 9726.303 4.1988674 0.0011457984 50 - 6176 9681.211 4.0710617 0.0011457984 50 - 6178 9652.0773 4.083136 0.0011457984 50 - 6180 9526.2991 4.0795518 0.0011457984 50 - 6182 9459.8141 3.8437065 0.0011457984 50 - 6184 9376.45 4.0452702 0.0011457984 50 - 6186 9479.2533 4.5140318 0.0011457984 50 - 6188 9643.0814 4.9451797 0.0011457984 50 - 6190 9623.6312 5.0605544 0.0011457984 50 - 6192 9519.3424 4.345871 0.0011457984 50 - 6194 9384.4864 3.3226331 0.0011457984 50 - 6196 9289.0608 2.7298129 0.0011457984 50 - 6198 9438.2363 2.3236495 0.0011457984 50 - 6200 9534.5097 2.2616915 0.0011457984 50 - 6202 9522.1612 2.2305021 0.0011457984 50 - 6204 9561.3164 2.0368725 0.0011457984 50 - 6206 9488.2213 2.5778043 0.0011457984 50 - 6208 9485.71 3.6261767 0.0011457984 50 - 6210 9544.4238 4.703255 0.0011457984 50 - 6212 9442.1106 5.5055657 0.0011457984 50 - 6214 9455.2624 5.0271672 0.0011457984 50 - 6216 9512.8447 3.7826535 0.0011457984 50 - 6218 9450.445 2.7933333 0.0011457984 50 - 6220 9541.2524 1.7850204 0.0011457984 50 - 6222 9561.4937 0.99601556 0.0011457984 50 - 6224 9504.8285 0.089294214 0.0011457984 50 - 6226 9551.2059 -1.1872491 0.0011457984 50 - 6228 9521.3868 -1.6821833 0.0011457984 50 - 6230 9465.2199 -0.96705063 0.0011457984 50 - 6232 9575.3147 0.43767353 0.0011457984 50 - 6234 9583.8318 2.233984 0.0011457984 50 - 6236 9655.3492 3.1655344 0.0011457984 50 - 6238 9697.5503 3.2691103 0.0011457984 50 - 6240 9527.8029 3.4994103 0.0011457984 50 - 6242 9396.131 3.7934199 0.0011457984 50 - 6244 9335.0447 3.9829087 0.0011457984 50 - 6246 9290.2872 3.5524291 0.0011457984 50 - 6248 9345.2633 2.0516189 0.0011457984 50 - 6250 9357.2713 0.36288783 0.0011457984 50 - 6252 9293.6481 -0.60034651 0.0011457984 50 - 6254 9314.129 -0.79094718 0.0011457984 50 - 6256 9262.6771 -0.2910575 0.0011457984 50 - 6258 9234.2281 0.014823431 0.0011457984 50 - 6260 9357.5686 -0.46680756 0.0011457984 50 - 6262 9416.3145 -1.1281866 0.0011457984 50 - 6264 9403.8035 -1.4862433 0.0011457984 50 - 6266 9367.0496 -1.320256 0.0011457984 50 - 6268 9258.5943 -0.78014425 0.0011457984 50 - 6270 9222.9527 -0.64498925 0.0011457984 50 - 6272 9332.1552 -1.2392307 0.0011457984 50 - 6274 9384.495 -1.8477753 0.0011457984 50 - 6276 9401.0798 -1.84529 0.0011457984 50 - 6278 9394.6872 -0.88277878 0.0011457984 50 - 6280 9326.9138 0.84681766 0.0011457984 50 - 6282 9346.4349 2.2235849 0.0011457984 50 - 6284 9433.7134 2.6237732 0.0011457984 50 - 6286 9367.5213 2.7639499 0.0011457984 50 - 6288 9334.7447 3.1233908 0.0011457984 50 - 6290 9414.9327 3.9228632 0.0011457984 50 - 6292 9396.7388 4.8559892 0.0011457984 50 - 6294 9419.5273 4.39179 0.0011457984 50 - 6296 9336.6624 2.5930407 0.0011457984 50 - 6298 9218.106 0.77310018 0.0011457984 50 - 6300 9338.3455 0.031319512 0.0011457984 50 - 6302 9548.1089 0.9058411 0.0011457984 50 - 6304 9584.955 2.3691874 0.0011457984 50 - 6306 9596.7481 2.5600136 0.0011457984 50 - 6308 9493.407 1.910796 0.0011457984 50 - 6310 9497.6044 1.5160645 0.0011457984 50 - 6312 9677.0697 2.1599041 0.0011457984 50 - 6314 9677.5986 3.8951444 0.0011457984 50 - 6316 9568.551 4.8522466 0.0011457984 50 - 6318 9519.3128 3.8476542 0.0011457984 50 - 6320 9477.2654 1.923282 0.0011457984 50 - 6322 9601.1273 0.39351454 0.0011457984 50 - 6324 9664.4745 0.53874451 0.0011457984 50 - 6326 9493.8865 1.8845461 0.0011457984 50 - 6328 9408.0474 2.3653529 0.0011457984 50 - 6330 9335.7617 1.8595183 0.0011457984 50 - 6332 9391.9314 1.2747265 0.0011457984 50 - 6334 9558.4684 1.8410142 0.0011457984 50 - 6336 9615.703 4.006068 0.0011457984 50 - 6338 9553.4494 6.203629 0.0011457984 50 - 6340 9539.4374 6.6962829 0.0011457984 50 - 6342 9470.5223 5.7852955 0.0011457984 50 - 6344 9485.1119 4.6403634 0.0011457984 50 - 6346 9479.4077 4.7355587 0.0011457984 50 - 6348 9447.633 5.7017265 0.0011457984 50 - 6350 9455.1225 5.798905 0.0011457984 50 - 6352 9430.8198 4.3198142 0.0011457984 50 - 6354 9448.6071 2.0772804 0.0011457984 50 - 6356 9492.6461 0.8769538 0.0011457984 50 - 6358 9549.4594 1.4447744 0.0011457984 50 - 6360 9550.1224 2.7230203 0.0011457984 50 - 6362 9509.9436 3.2113226 0.0011457984 50 - 6364 9526.394 2.4241589 0.0011457984 50 - 6366 9686.0529 1.3451679 0.0011457984 50 - 6368 9783.1581 1.5382741 0.0011457984 50 - 6370 9838.8093 2.7585361 0.0011457984 50 - 6372 9720.7706 3.8895894 0.0011457984 50 - 6374 9516.5516 3.8503907 0.0011457984 50 - 6376 9437.2155 2.8562902 0.0011457984 50 - 6378 9484.8409 2.4668168 0.0011457984 50 - 6380 9617.8774 3.2986277 0.0011457984 50 - 6382 9693.5884 4.538726 0.0011457984 50 - 6384 9582.7671 5.08112 0.0011457984 50 - 6386 9507.7158 4.3440097 0.0011457984 50 - 6388 9504.2482 3.4300535 0.0011457984 50 - 6390 9529.854 3.4743908 0.0011457984 50 - 6392 9619.924 4.1465988 0.0011457984 50 - 6394 9641.9665 4.5472982 0.0011457984 50 - 6396 9646.0139 3.6689701 0.0011457984 50 - 6398 9643.3496 1.8922098 0.0011457984 50 - 6400 9550.7224 0.78810044 0.0011457984 50 - 6402 9518.219 0.76140043 0.0011457984 50 - 6404 9480.1113 1.3310925 0.0011457984 50 - 6406 9430.6607 1.4279179 0.0011457984 50 - 6408 9528.8336 0.41719036 0.0011457984 50 - 6410 9517.5067 -0.23887578 0.0011457984 50 - 6412 9509.2189 0.2683376 0.0011457984 50 - 6414 9610.8635 1.5036072 0.0011457984 50 - 6416 9580.9492 2.7476589 0.0011457984 50 - 6418 9526.445 2.7203747 0.0011457984 50 - 6420 9491.047 1.7609024 0.0011457984 50 - 6422 9332.0354 1.6287409 0.0011457984 50 - 6424 9425.2471 2.2364284 0.0011457984 50 - 6426 9544.4397 3.1942266 0.0011457984 50 - 6428 9570.9285 3.3406159 0.0011457984 50 - 6430 9668.0361 1.8509515 0.0011457984 50 - 6432 9668.7456 0.36824782 0.0011457984 50 - 6434 9584.8751 0.33327993 0.0011457984 50 - 6436 9683.9538 1.246464 0.0011457984 50 - 6438 9588.6432 2.5209673 0.0011457984 50 - 6440 9500.4296 2.5326661 0.0011457984 50 - 6442 9544.7194 1.3443464 0.0011457984 50 - 6444 9519.127 0.86704484 0.0011457984 50 - 6446 9591.6737 1.4271621 0.0011457984 50 - 6448 9609.0228 2.4883879 0.0011457984 50 - 6450 9450.2371 2.8223434 0.0011457984 50 - 6452 9428.5145 1.2923919 0.0011457984 50 - 6454 9535.3168 -0.81269947 0.0011457984 50 - 6456 9606.6468 -1.843664 0.0011457984 50 - 6458 9780.9103 -2.0363082 0.0011457984 50 - 6460 9643.8864 -1.7412278 0.0011457984 50 - 6462 9498.9174 -2.4291832 0.0011457984 50 - 6464 9418.4471 -3.7349724 0.0011457984 50 - 6466 9376.4988 -4.0358005 0.0011457984 50 - 6468 9466.641 -2.9149438 0.0011457984 50 - 6470 9572.1969 -0.80528631 0.0011457984 50 - 6472 9500.8128 1.1712587 0.0011457984 50 - 6474 9525.13 1.6578208 0.0011457984 50 - 6476 9483.7706 1.648966 0.0011457984 50 - 6478 9426.1215 2.1430336 0.0011457984 50 - 6480 9532.4265 3.0967451 0.0011457984 50 - 6482 9586.2159 4.1597866 0.0011457984 50 - 6484 9702.8705 3.9614987 0.0011457984 50 - 6486 9812.5137 2.4781888 0.0011457984 50 - 6488 9783.0439 1.0426266 0.0011457984 50 - 6490 9786.9023 0.31640734 0.0011457984 50 - 6492 9798.5012 0.56327042 0.0011457984 50 - 6494 9725.7503 1.1843854 0.0011457984 50 - 6496 9763.3894 1.0095547 0.0011457984 50 - 6498 9754.2013 0.54200135 0.0011457984 50 - 6500 9747.7199 0.52799448 0.0011457984 50 - 6502 9825.0139 1.3472032 0.0011457984 50 - 6504 9806.6784 2.9080439 0.0011457984 50 - 6506 9739.7754 3.9790545 0.0011457984 50 - 6508 9683.515 3.8746527 0.0011457984 50 - 6510 9585.5878 3.1580565 0.0011457984 50 - 6512 9559.5437 2.6603845 0.0011457984 50 - 6514 9553.1682 3.1173833 0.0011457984 50 - 6516 9617.3126 3.8357277 0.0011457984 50 - 6518 9626.4668 3.9761292 0.0011457984 50 - 6520 9611.781 3.3021231 0.0011457984 50 - 6522 9628.0311 2.6152172 0.0011457984 50 - 6524 9591.2489 3.1468993 0.0011457984 50 - 6526 9631.1291 4.5759197 0.0011457984 50 - 6528 9694.785 5.9110989 0.0011457984 50 - 6530 9668.6226 6.4267127 0.0011457984 50 - 6532 9702.5217 5.7159704 0.0011457984 50 - 6534 9670.8943 4.9904461 0.0011457984 50 - 6536 9566.0723 5.0520415 0.0011457984 50 - 6538 9662.3465 4.9955564 0.0011457984 50 - 6540 9624.7491 4.5554432 0.0011457984 50 - 6542 9610.2655 2.935778 0.0011457984 50 - 6544 9640.991 0.78019926 0.0011457984 50 - 6546 9482.0197 -0.06082777 0.0011457984 50 - 6548 9517.953 0.049353066 0.0011457984 50 - 6550 9600.964 0.68215178 0.0011457984 50 - 6552 9502.3532 1.3797524 0.0011457984 50 - 6554 9590.7046 1.0796687 0.0011457984 50 - 6556 9562.5821 1.3001048 0.0011457984 50 - 6558 9492.4022 2.7582579 0.0011457984 50 - 6560 9685.3054 4.5270068 0.0011457984 50 - 6562 9627.4949 6.5189446 0.0011457984 50 - 6564 9545.571 7.0982162 0.0011457984 50 - 6566 9696.3483 5.9173083 0.0011457984 50 - 6568 9608.3566 5.155166 0.0011457984 50 - 6570 9798.924 4.4248249 0.0011457984 50 - 6572 9959.3866 3.9870838 0.0011457984 50 - 6574 9819.9052 3.549873 0.0011457984 50 - 6576 9834.9811 1.657563 0.0011457984 50 - 6578 9775.7119 -0.26125185 0.0011457984 50 - 6580 9566.1885 -0.83227093 0.0011457984 50 - 6582 9630.6701 -0.46258831 0.0011457984 50 - 6584 9562.4714 1.0978899 0.0011457984 50 - 6586 9567.6935 2.1431484 0.0011457984 50 - 6588 9741.3812 1.9825571 0.0011457984 50 - 6590 9601.135 2.3033609 0.0011457984 50 - 6592 9509.2215 3.0665323 0.0011457984 50 - 6594 9453.8174 4.331052 0.0011457984 50 - 6596 9355.6571 5.3819844 0.0011457984 50 - 6598 9480.7483 4.6423618 0.0011457984 50 - 6600 9561.1556 3.076253 0.0011457984 50 - 6602 9501.0943 2.0980207 0.0011457984 50 - 6604 9518.0895 2.1448739 0.0011457984 50 - 6606 9407.7483 3.3270763 0.0011457984 50 - 6608 9399.702 3.7602426 0.0011457984 50 - 6610 9418.2094 2.9607374 0.0011457984 50 - 6612 9317.8994 2.1554148 0.0011457984 50 - 6614 9404.5025 1.9811111 0.0011457984 50 - 6616 9450.3024 3.1590235 0.0011457984 50 - 6618 9430.1983 4.4687259 0.0011457984 50 - 6620 9483.1949 4.1921788 0.0011457984 50 - 6622 9360.5724 3.0184692 0.0011457984 50 - 6624 9301.5199 1.7706725 0.0011457984 50 - 6626 9358.4074 1.484283 0.0011457984 50 - 6628 9320.3863 2.3142114 0.0011457984 50 - 6630 9357.742 2.4731696 0.0011457984 50 - 6632 9289.3861 1.6933542 0.0011457984 50 - 6634 9200.1606 0.53244548 0.0011457984 50 - 6636 9285.4122 -0.21771618 0.0011457984 50 - 6638 9273.201 0.49778666 0.0011457984 50 - 6640 9277.9378 1.4890229 0.0011457984 50 - 6642 9309.8875 1.4821724 0.0011457984 50 - 6644 9212.6337 0.71477517 0.0011457984 50 - 6646 9261.9296 -0.3750363 0.0011457984 50 - 6648 9232.4584 -0.19330455 0.0011457984 50 - 6650 9138.7723 1.1930289 0.0011457984 50 - 6652 9209.3165 2.1024837 0.0011457984 50 - 6654 9210.6175 2.1006609 0.0011457984 50 - 6656 9247.419 1.0971021 0.0011457984 50 - 6658 9320.7329 0.1871267 0.0011457984 50 - 6660 9229.8721 0.61997654 0.0011457984 50 - 6662 9240.7257 1.3084329 0.0011457984 50 - 6664 9215.9737 1.4367023 0.0011457984 50 - 6666 9112.9071 0.57490944 0.0011457984 50 - 6668 9132.8078 -1.062697 0.0011457984 50 - 6670 9046.1388 -1.6518115 0.0011457984 50 - 6672 9065.662 -1.2216202 0.0011457984 50 - 6674 9211.6125 -0.71351135 0.0011457984 50 - 6676 9127.93 -0.41368587 0.0011457984 50 - 6678 9142.7655 -1.0426587 0.0011457984 50 - 6680 9132.3055 -1.1865672 0.0011457984 50 - 6682 9006.4855 0.2946137 0.0011457984 50 - 6684 9122.5655 2.1250652 0.0011457984 50 - 6686 9085.148 3.8397291 0.0011457984 50 - 6688 9012.2875 4.410528 0.0011457984 50 - 6690 9182.3707 3.690244 0.0011457984 50 - 6692 9214.2012 3.6186026 0.0011457984 50 - 6694 9300.7227 4.0300776 0.0011457984 50 - 6696 9402.6282 4.278306 0.0011457984 50 - 6698 9164.423 4.3089161 0.0011457984 50 - 6700 9120.354 2.9580788 0.0011457984 50 - 6702 9203.2662 1.3893404 0.0011457984 50 - 6704 9181.1238 1.0958729 0.0011457984 50 - 6706 9324.3846 1.485356 0.0011457984 50 - 6708 9272.2965 2.5420935 0.0011457984 50 - 6710 9136.7426 3.1878257 0.0011457984 50 - 6712 9199.9122 2.765785 0.0011457984 50 - 6714 9142.8317 2.6467469 0.0011457984 50 - 6716 9155.3753 2.8862837 0.0011457984 50 - 6718 9196.9246 3.4934651 0.0011457984 50 - 6720 9067.1701 4.3945875 0.0011457984 50 - 6722 9137.1206 4.202401 0.0011457984 50 - 6724 9232.8823 3.3789257 0.0011457984 50 - 6726 9179.6599 2.9253479 0.0011457984 50 - 6728 9247.0025 2.9044453 0.0011457984 50 - 6730 9172.3171 3.8429481 0.0011457984 50 - 6732 9098.1881 4.7163287 0.0011457984 50 - 6734 9133.5711 4.7208533 0.0011457984 50 - 6736 9049.8344 4.6670978 0.0011457984 50 - 6738 9048.7267 4.7360078 0.0011457984 50 - 6740 9119.9462 5.1393015 0.0011457984 50 - 6742 9096.1453 5.8170681 0.0011457984 50 - 6744 9148.796 5.6576858 0.0011457984 50 - 6746 9198.1038 4.6518243 0.0011457984 50 - 6748 9119.522 3.4528783 0.0011457984 50 - 6750 9163.7375 2.3742799 0.0011457984 50 - 6752 9158.9455 2.3179934 0.0011457984 50 - 6754 9200.2824 2.8007244 0.0011457984 50 - 6756 9317.021 2.996827 0.0011457984 50 - 6758 9281.32 3.0866436 0.0011457984 50 - 6760 9214.2542 3.3100198 0.0011457984 50 - 6762 9141.6297 4.2716589 0.0011457984 50 - 6764 9030.6311 6.0850048 0.0011457984 50 - 6766 8986.3202 7.7218338 0.0011457984 50 - 6768 9124.8939 8.233704 0.0011457984 50 - 6770 9181.0828 8.0567261 0.0011457984 50 - 6772 9209.2671 7.6801113 0.0011457984 50 - 6774 9122.5752 7.8305105 0.0011457984 50 - 6776 8971.9074 8.3745788 0.0011457984 50 - 6778 8961.0126 8.1704049 0.0011457984 50 - 6780 8991.452 7.0723724 0.0011457984 50 - 6782 8996.6479 5.8901461 0.0011457984 50 - 6784 9099.4595 5.2664992 0.0011457984 50 - 6786 9183.7895 5.5732067 0.0011457984 50 - 6788 9151.4641 6.1133097 0.0011457984 50 - 6790 9251.8159 5.3922335 0.0011457984 50 - 6792 9242.479 3.912959 0.0011457984 50 - 6794 9218.731 2.536709 0.0011457984 50 - 6796 9407.6498 1.6473009 0.0011457984 50 - 6798 9472.4451 1.8144248 0.0011457984 50 - 6800 9428.5911 1.9508316 0.0011457984 50 - 6802 9379.8411 1.1964955 0.0011457984 50 - 6804 9179.1839 0.5503483 0.0011457984 50 - 6806 9196.9085 0.3697523 0.0011457984 50 - 6808 9437.6308 0.9309951 0.0011457984 50 - 6810 9452.1137 2.2408358 0.0011457984 50 - 6812 9493.9746 2.5532352 0.0011457984 50 - 6814 9462.6461 1.9818521 0.0011457984 50 - 6816 9284.8303 1.6995986 0.0011457984 50 - 6818 9382.9421 1.6019612 0.0011457984 50 - 6820 9418.5061 2.1611876 0.0011457984 50 - 6822 9332.6425 2.4695103 0.0011457984 50 - 6824 9436.2739 1.289469 0.0011457984 50 - 6826 9454.9298 0.029799371 0.0011457984 50 - 6828 9467.8893 -0.40096797 0.0011457984 50 - 6830 9642.5265 -0.063364391 0.0011457984 50 - 6832 9521.2232 1.1706365 0.0011457984 50 - 6834 9485.3758 1.3674092 0.0011457984 50 - 6836 9607.1974 0.29317356 0.0011457984 50 - 6838 9576.211 -0.39980521 0.0011457984 50 - 6840 9709.349 -0.61244278 0.0011457984 50 - 6842 9790.377 -0.04841628 0.0011457984 50 - 6844 9701.5182 0.62161734 0.0011457984 50 - 6846 9782.8363 -0.038225843 0.0011457984 50 - 6848 9699.3989 -0.77828635 0.0011457984 50 - 6850 9472.2321 -0.54977139 0.0011457984 50 - 6852 9544.5917 0.29157291 0.0011457984 50 - 6854 9523.2331 1.9625881 0.0011457984 50 - 6856 9556.5287 2.9066281 0.0011457984 50 - 6858 9758.0217 2.455707 0.0011457984 50 - 6860 9720.5151 2.3155597 0.0011457984 50 - 6862 9718.898 2.8466423 0.0011457984 50 - 6864 9809.3996 3.8603313 0.0011457984 50 - 6866 9766.1581 4.6784565 0.0011457984 50 - 6868 9783.6949 3.9207863 0.0011457984 50 - 6870 9745.4637 2.4425731 0.0011457984 50 - 6872 9616.3958 1.8059494 0.0011457984 50 - 6874 9676.5806 2.2676016 0.0011457984 50 - 6876 9754.9546 3.5887651 0.0011457984 50 - 6878 9809.9564 4.4083 0.0011457984 50 - 6880 9934.5346 3.901907 0.0011457984 50 - 6882 9924.503 3.1667118 0.0011457984 50 - 6884 9892.5187 3.0940516 0.0011457984 50 - 6886 9885.7093 3.9258883 0.0011457984 50 - 6888 9857.212 4.8890991 0.0011457984 50 - 6890 9890.7579 4.7763457 0.0011457984 50 - 6892 9933.0785 3.8000778 0.0011457984 50 - 6894 9900.619 3.1976105 0.0011457984 50 - 6896 9858.432 3.7924904 0.0011457984 50 - 6898 9847.2897 5.4122494 0.0011457984 50 - 6900 9858.8995 6.969799 0.0011457984 50 - 6902 9931.5971 7.3803058 0.0011457984 50 - 6904 9917.5095 6.8833714 0.0011457984 50 - 6906 9772.3484 6.6003831 0.0011457984 50 - 6908 9615.9521 7.250668 0.0011457984 50 - 6910 9595.5589 8.2944889 0.0011457984 50 - 6912 9669.3373 8.5743927 0.0011457984 50 - 6914 9803.7043 7.2428001 0.0011457984 50 - 6916 9856.3221 5.0942255 0.0011457984 50 - 6918 9770.5344 3.8340889 0.0011457984 50 - 6920 9737.3237 3.9319718 0.0011457984 50 - 6922 9813.5645 4.5151651 0.0011457984 50 - 6924 9839.2713 4.4669171 0.0011457984 50 - 6926 9880.5785 3.1456377 0.0011457984 50 - 6928 9867.8611 1.8093077 0.0011457984 50 - 6930 9854.0491 1.8572101 0.0011457984 50 - 6932 9950.8028 3.2248345 0.0011457984 50 - 6934 10007.469 4.8800184 0.0011457984 50 - 6936 10060.405 5.2125272 0.0011457984 50 - 6938 10139.72 4.0751831 0.0011457984 50 - 6940 10103.556 3.2651112 0.0011457984 50 - 6942 10035.304 3.8806931 0.0011457984 50 - 6944 9941.4949 5.6889739 0.0011457984 50 - 6946 9748.653 7.4386549 0.0011457984 50 - 6948 9747.8782 7.5434348 0.0011457984 50 - 6950 9782.2201 6.8376514 0.0011457984 50 - 6952 9784.6755 6.7479056 0.0011457984 50 - 6954 9832.154 7.6631317 0.0011457984 50 - 6956 9744.0013 9.2453763 0.0011457984 50 - 6958 9700.4866 9.696079 0.0011457984 50 - 6960 9872.7564 8.0501877 0.0011457984 50 - 6962 9925.1225 5.8075771 0.0011457984 50 - 6964 9910.4396 4.256995 0.0011457984 50 - 6966 9830.7971 4.1976973 0.0011457984 50 - 6968 9659.6425 5.143125 0.0011457984 50 - 6970 9674.6794 5.2410296 0.0011457984 50 - 6972 9748.0172 4.3825217 0.0011457984 50 - 6974 9790.2541 3.6671921 0.0011457984 50 - 6976 9939.1812 3.9423 0.0011457984 50 - 6978 9932.8511 5.8172683 0.0011457984 50 - 6980 9884.9175 7.6922373 0.0011457984 50 - 6982 9895.2403 7.9709608 0.0011457984 50 - 6984 9762.5286 7.072368 0.0011457984 50 - 6986 9755.1631 5.5979588 0.0011457984 50 - 6988 9762.0504 4.9498373 0.0011457984 50 - 6990 9659.8034 5.3966357 0.0011457984 50 - 6992 9716.6387 5.2844339 0.0011457984 50 - 6994 9735.9467 4.2759314 0.0011457984 50 - 6996 9743.0525 2.7961936 0.0011457984 50 - 6998 9896.086 1.692222 0.0011457984 50 - 7000 9905.1475 2.2252591 0.0011457984 50 - 7002 9851.4447 3.4057239 0.0011457984 50 - 7004 9862.627 3.6016316 0.0011457984 50 - 7006 9759.465 2.6279267 0.0011457984 50 - 7008 9823.8161 0.71673442 0.0011457984 50 - 7010 9836.6571 -0.38918008 0.0011457984 50 - 7012 9742.651 -0.14535188 0.0011457984 50 - 7014 9750.9131 0.038451941 0.0011457984 50 - 7016 9720.239 -0.6333034 0.0011457984 50 - 7018 9752.3057 -2.3504903 0.0011457984 50 - 7020 9862.6501 -3.9143079 0.0011457984 50 - 7022 9836.8609 -3.6920412 0.0011457984 50 - 7024 9859.9236 -2.366967 0.0011457984 50 - 7026 9886.1452 -1.2972528 0.0011457984 50 - 7028 9759.0504 -1.1164197 0.0011457984 50 - 7030 9726.7701 -1.5244622 0.0011457984 50 - 7032 9705.1252 -0.74104909 0.0011457984 50 - 7034 9751.6131 1.5160451 0.0011457984 50 - 7036 9901.517 3.5859683 0.0011457984 50 - 7038 9920.4779 4.1768844 0.0011457984 50 - 7040 9781.1918 3.3255486 0.0011457984 50 - 7042 9672.4876 2.3834462 0.0011457984 50 - 7044 9549.8157 2.8398027 0.0011457984 50 - 7046 9523.3642 3.9150077 0.0011457984 50 - 7048 9563.0761 3.8366633 0.0011457984 50 - 7050 9517.2689 1.9767778 0.0011457984 50 - 7052 9466.1265 -0.60668872 0.0011457984 50 - 7054 9460.0101 -1.9274155 0.0011457984 50 - 7056 9478.2953 -1.2685099 0.0011457984 50 - 7058 9471.3773 -0.1073304 0.0011457984 50 - 7060 9492.9054 -0.4455594 0.0011457984 50 - 7062 9498.2241 -1.9624484 0.0011457984 50 - 7064 9551.7972 -2.5884117 0.0011457984 50 - 7066 9696.0907 -0.88024432 0.0011457984 50 - 7068 9764.5702 2.5222199 0.0011457984 50 - 7070 9740.9518 5.1339921 0.0011457984 50 - 7072 9737.3787 5.4068726 0.0011457984 50 - 7074 9630.342 4.8497948 0.0011457984 50 - 7076 9555.1194 5.3711742 0.0011457984 50 - 7078 9622.6202 7.177986 0.0011457984 50 - 7080 9578.9797 8.7394766 0.0011457984 50 - 7082 9589.5453 7.4358952 0.0011457984 50 - 7084 9672.4561 3.480566 0.0011457984 50 - 7086 9649.2968 -0.063116868 0.0011457984 50 - 7088 9645.6554 -1.3282696 0.0011457984 50 - 7090 9590.6878 -0.6524447 0.0011457984 50 - 7092 9435.5727 -0.15463847 0.0011457984 50 - 7094 9536.661 -1.8138538 0.0011457984 50 - 7096 9662.5782 -3.8494254 0.0011457984 50 - 7098 9698.9293 -3.5611364 0.0011457984 50 - 7100 9824.9231 -0.68219554 0.0011457984 50 - 7102 9784.4341 3.2622803 0.0011457984 50 - 7104 9641.4705 5.2965189 0.0011457984 50 - 7106 9683.4242 4.2100647 0.0011457984 50 - 7108 9635.9176 2.7227711 0.0011457984 50 - 7110 9657.8311 2.7728803 0.0011457984 50 - 7112 9740.3662 4.0686243 0.0011457984 50 - 7114 9610.9517 4.7455425 0.0011457984 50 - 7116 9527.4004 2.6998747 0.0011457984 50 - 7118 9488.9733 -0.60609595 0.0011457984 50 - 7120 9392.2499 -2.0143086 0.0011457984 50 - 7122 9383.3778 -0.65989418 0.0011457984 50 - 7124 9391.6481 2.0243673 0.0011457984 50 - 7126 9301.0051 3.8002685 0.0011457984 50 - 7128 9283.5382 3.7322338 0.0011457984 50 - 7130 9259.5284 3.6918727 0.0011457984 50 - 7132 9290.232 5.4416545 0.0011457984 50 - 7134 9307.6079 8.7353407 0.0011457984 50 - 7136 9320.6695 11.21586 0.0011457984 50 - 7138 9277.4608 11.165481 0.0011457984 50 - 7140 9254.2507 9.1967545 0.0011457984 50 - 7142 9298.9163 7.5227226 0.0011457984 50 - 7144 9279.7586 7.6700277 0.0011457984 50 - 7146 9216.6621 8.5381081 0.0011457984 50 - 7148 9213.4492 7.9484644 0.0011457984 50 - 7150 9221.8823 5.687558 0.0011457984 50 - 7152 9299.416 3.3114392 0.0011457984 50 - 7154 9431.6379 2.7331472 0.0011457984 50 - 7156 9418.2556 4.4086777 0.0011457984 50 - 7158 9467.3486 6.1375197 0.0011457984 50 - 7160 9497.8155 6.5764777 0.0011457984 50 - 7162 9439.7388 6.2689593 0.0011457984 50 - 7164 9445.8327 6.4266445 0.0011457984 50 - 7166 9332.322 8.4143992 0.0011457984 50 - 7168 9208.61 11.190738 0.0011457984 50 - 7170 9310.3149 12.420728 0.0011457984 50 - 7172 9351.2523 11.901528 0.0011457984 50 - 7174 9405.8964 10.335017 0.0011457984 50 - 7176 9542.4233 9.0515937 0.0011457984 50 - 7178 9474.2086 9.1449707 0.0011457984 50 - 7180 9485.7437 8.9387276 0.0011457984 50 - 7182 9550.4526 7.2951759 0.0011457984 50 - 7184 9420.8638 4.9885282 0.0011457984 50 - 7186 9440.5158 2.7685394 0.0011457984 50 - 7188 9461.3134 2.172931 0.0011457984 50 - 7190 9386.5315 3.1073231 0.0011457984 50 - 7192 9490.8781 3.7126116 0.0011457984 50 - 7194 9508.4209 3.8076901 0.0011457984 50 - 7196 9510.5281 3.4926701 0.0011457984 50 - 7198 9660.8341 3.2696957 0.0011457984 50 - 7200 9601.535 4.19073 0.0011457984 50 - 7202 9474.8425 5.2454886 0.0011457984 50 - 7204 9327.4634 5.5992572 0.0011457984 50 - 7206 9149.472 5.1619656 0.0011457984 50 - 7208 9192.9823 3.8581082 0.0011457984 50 - 7210 9255.2434 2.9255786 0.0011457984 50 - 7212 9227.6962 2.8923463 0.0011457984 50 - 7214 9255.8081 3.1432165 0.0011457984 50 - 7216 9192.628 3.4461202 0.0011457984 50 - 7218 9183.761 3.0555117 0.0011457984 50 - 7220 9247.867 2.1542773 0.0011457984 50 - 7222 9159.1068 1.8716263 0.0011457984 50 - 7224 9131.2203 2.2986379 0.0011457984 50 - 7226 9138.3216 3.4431762 0.0011457984 50 - 7228 9204.0436 4.3584618 0.0011457984 50 - 7230 9345.4984 3.962756 0.0011457984 50 - 7232 9315.6285 2.9387608 0.0011457984 50 - 7234 9192.7706 2.2882283 0.0011457984 50 - 7236 9152.6147 2.6605417 0.0011457984 50 - 7238 9097.0063 3.8442839 0.0011457984 50 - 7240 9208.8249 3.9743241 0.0011457984 50 - 7242 9369.5115 2.5468362 0.0011457984 50 - 7244 9395.1587 0.88524305 0.0011457984 50 - 7246 9395.8607 0.35110541 0.0011457984 50 - 7248 9306.3464 1.7019311 0.0011457984 50 - 7250 9141.1472 3.7093716 0.0011457984 50 - 7252 9150.9055 4.1170519 0.0011457984 50 - 7254 9225.0194 2.9947207 0.0011457984 50 - 7256 9301.5287 2.1560628 0.0011457984 50 - 7258 9420.2229 3.1245648 0.0011457984 50 - 7260 9426.5146 5.6813569 0.0011457984 50 - 7262 9314.5724 7.4774615 0.0011457984 50 - 7264 9320.0147 6.6025106 0.0011457984 50 - 7266 9307.2822 4.47175 0.0011457984 50 - 7268 9301.3998 3.5107791 0.0011457984 50 - 7270 9299.5661 4.7564319 0.0011457984 50 - 7272 9270.5218 6.7098349 0.0011457984 50 - 7274 9286.529 6.7969039 0.0011457984 50 - 7276 9410.861 4.4584762 0.0011457984 50 - 7278 9489.27 2.0011075 0.0011457984 50 - 7280 9502.3333 1.684916 0.0011457984 50 - 7282 9474.0127 3.3735745 0.0011457984 50 - 7284 9403.8255 4.638689 0.0011457984 50 - 7286 9451.1342 3.1353356 0.0011457984 50 - 7288 9480.7679 0.0066918041 0.0011457984 50 - 7290 9463.4491 -1.6395987 0.0011457984 50 - 7292 9419.4177 -0.14904997 0.0011457984 50 - 7294 9414.538 2.7399776 0.0011457984 50 - 7296 9374.7493 3.9802283 0.0011457984 50 - 7298 9364.8023 2.4941183 0.0011457984 50 - 7300 9294.6429 0.71789311 0.0011457984 50 - 7302 9298.9619 1.2068361 0.0011457984 50 - 7304 9368.068 4.0095033 0.0011457984 50 - 7306 9417.2777 6.464639 0.0011457984 50 - 7308 9408.8339 6.0709905 0.0011457984 50 - 7310 9322.6281 3.5474429 0.0011457984 50 - 7312 9281.8769 1.7436637 0.0011457984 50 - 7314 9342.533 2.3990706 0.0011457984 50 - 7316 9350.4835 4.3914393 0.0011457984 50 - 7318 9316.4467 4.6659937 0.0011457984 50 - 7320 9292.7393 2.2441799 0.0011457984 50 - 7322 9216.9193 -0.47391034 0.0011457984 50 - 7324 9315.4332 -1.1163484 0.0011457984 50 - 7326 9398.8563 0.96915884 0.0011457984 50 - 7328 9359.4189 3.434131 0.0011457984 50 - 7330 9395.2118 3.4898625 0.0011457984 50 - 7332 9387.826 1.9443663 0.0011457984 50 - 7334 9410.6837 1.2459609 0.0011457984 50 - 7336 9519.947 2.8322466 0.0011457984 50 - 7338 9484.9172 5.862886 0.0011457984 50 - 7340 9438.6075 7.2800714 0.0011457984 50 - 7342 9490.2695 5.9500588 0.0011457984 50 - 7344 9449.4263 4.0293974 0.0011457984 50 - 7346 9507.654 3.4314554 0.0011457984 50 - 7348 9496.6221 4.8283128 0.0011457984 50 - 7350 9392.7485 6.3025924 0.0011457984 50 - 7352 9441.276 5.3974276 0.0011457984 50 - 7354 9454.6318 2.9690653 0.0011457984 50 - 7356 9443.7475 1.3178664 0.0011457984 50 - 7358 9525.6456 1.7279697 0.0011457984 50 - 7360 9504.7476 3.5492429 0.0011457984 50 - 7362 9492.9302 4.143493 0.0011457984 50 - 7364 9550.7726 2.5616525 0.0011457984 50 - 7366 9526.2485 0.67866327 0.0011457984 50 - 7368 9591.2953 0.18365962 0.0011457984 50 - 7370 9664.2119 1.579754 0.0011457984 50 - 7372 9611.3609 3.4869243 0.0011457984 50 - 7374 9610.5069 3.8985181 0.0011457984 50 - 7376 9561.1861 3.3114327 0.0011457984 50 - 7378 9532.4005 3.1389618 0.0011457984 50 - 7380 9651.5365 3.9428553 0.0011457984 50 - 7382 9676.2487 5.3749563 0.0011457984 50 - 7384 9589.5116 5.8921794 0.0011457984 50 - 7386 9557.6205 4.8741386 0.0011457984 50 - 7388 9511.8686 3.7537842 0.0011457984 50 - 7390 9548.7795 3.5544484 0.0011457984 50 - 7392 9653.8805 4.2198724 0.0011457984 50 - 7394 9632.8838 5.002441 0.0011457984 50 - 7396 9719.2027 4.6499711 0.0011457984 50 - 7398 9831.2644 3.6627656 0.0011457984 50 - 7400 9883.4385 3.0827174 0.0011457984 50 - 7402 9881.9691 3.0999039 0.0011457984 50 - 7404 9749.996 3.3574858 0.0011457984 50 - 7406 9582.7862 2.9633399 0.0011457984 50 - 7408 9635.2751 1.4413803 0.0011457984 50 - 7410 9715.5639 -0.075919588 0.0011457984 50 - 7412 9757.9215 -0.83885311 0.0011457984 50 - 7414 9769.002 -0.87797105 0.0011457984 50 - 7416 9599.278 -0.33909427 0.0011457984 50 - 7418 9441.7848 0.17134883 0.0011457984 50 - 7420 9426.1066 0.68125899 0.0011457984 50 - 7422 9437.1351 1.7674849 0.0011457984 50 - 7424 9500.6425 3.2878942 0.0011457984 50 - 7426 9535.3806 4.8936619 0.0011457984 50 - 7428 9486.3862 6.1923477 0.0011457984 50 - 7430 9417.2089 6.8698959 0.0011457984 50 - 7432 9384.6502 6.9749972 0.0011457984 50 - 7434 9322.1322 6.8304123 0.0011457984 50 - 7436 9406.35 6.1073481 0.0011457984 50 - 7438 9525.9922 4.9898311 0.0011457984 50 - 7440 9559.5792 3.8870015 0.0011457984 50 - 7442 9623.884 2.7643718 0.0011457984 50 - 7444 9616.4375 1.8529093 0.0011457984 50 - 7446 9582.8656 0.9840396 0.0011457984 50 - 7448 9617.097 -0.024633469 0.0011457984 50 - 7450 9573.3835 -0.44123727 0.0011457984 50 - 7452 9476.2635 0.11013702 0.0011457984 50 - 7454 9473.8768 1.2820056 0.0011457984 50 - 7456 9459.0484 2.71048 0.0011457984 50 - 7458 9532.4938 3.5106692 0.0011457984 50 - 7460 9624.925 3.697208 0.0011457984 50 - 7462 9564.9509 4.2072021 0.0011457984 50 - 7464 9553.3086 5.0527198 0.0011457984 50 - 7466 9551.3619 5.8525434 0.0011457984 50 - 7468 9513.6267 5.6650826 0.0011457984 50 - 7470 9507.7846 3.8869282 0.0011457984 50 - 7472 9398.0642 1.8918919 0.0011457984 50 - 7474 9341.8749 0.97413899 0.0011457984 50 - 7476 9376.9782 1.4510035 0.0011457984 50 - 7478 9392.1499 2.3484419 0.0011457984 50 - 7480 9451.8765 2.1914005 0.0011457984 50 - 7482 9511.2196 1.2607779 0.0011457984 50 - 7484 9563.6374 0.88635346 0.0011457984 50 - 7486 9620.0349 1.7459739 0.0011457984 50 - 7488 9604.3505 3.2525131 0.0011457984 50 - 7490 9590.9346 3.7425664 0.0011457984 50 - 7492 9522.3988 2.8032866 0.0011457984 50 - 7494 9494.9559 1.4256268 0.0011457984 50 - 7496 9573.1982 1.0053352 0.0011457984 50 - 7498 9601.5697 1.9606036 0.0011457984 50 - 7500 9582.0828 2.6275963 0.0011457984 50 - 7502 9614.3819 1.5728655 0.0011457984 50 - 7504 9536.3627 -0.081088967 0.0011457984 50 - 7506 9585.9946 -0.92030032 0.0011457984 50 - 7508 9587.2868 0.28323303 0.0011457984 50 - 7510 9528.9131 2.5152283 0.0011457984 50 - 7512 9643.5854 3.4660557 0.0011457984 50 - 7514 9689.8607 3.2065806 0.0011457984 50 - 7516 9721.3389 2.9803491 0.0011457984 50 - 7518 9777.5554 4.1047011 0.0011457984 50 - 7520 9620.0088 6.8774095 0.0011457984 50 - 7522 9502.8216 8.9090657 0.0011457984 50 - 7524 9536.3096 8.5715993 0.0011457984 50 - 7526 9430.0745 7.0672411 0.0011457984 50 - 7528 9450.4065 5.7492142 0.0011457984 50 - 7530 9454.0207 5.7231316 0.0011457984 50 - 7532 9419.0919 5.8071811 0.0011457984 50 - 7534 9539.5751 3.8208512 0.0011457984 50 - 7536 9545.0205 0.35397896 0.0011457984 50 - 7538 9472.4819 -2.7954424 0.0011457984 50 - 7540 9417.4001 -3.9611563 0.0011457984 50 - 7542 9262.3557 -2.8579227 0.0011457984 50 - 7544 9297.3341 -1.755726 0.0011457984 50 - 7546 9427.1736 -1.6469164 0.0011457984 50 - 7548 9430.5916 -1.5166592 0.0011457984 50 - 7550 9478.5136 -0.34981721 0.0011457984 50 - 7552 9473.1761 2.6548766 0.0011457984 50 - 7554 9341.2932 6.2584298 0.0011457984 50 - 7556 9410.2365 7.8239294 0.0011457984 50 - 7558 9381.6052 7.5311417 0.0011457984 50 - 7560 9437.1569 6.3664849 0.0011457984 50 - 7562 9542.198 5.6669502 0.0011457984 50 - 7564 9477.5663 5.7225117 0.0011457984 50 - 7566 9485.1494 4.6941954 0.0011457984 50 - 7568 9535.1098 2.2509721 0.0011457984 50 - 7570 9507.2274 -0.32454484 0.0011457984 50 - 7572 9636.0736 -2.3180481 0.0011457984 50 - 7574 9658.1354 -2.7226114 0.0011457984 50 - 7576 9495.6354 -1.930176 0.0011457984 50 - 7578 9587.4497 -1.6178495 0.0011457984 50 - 7580 9622.3903 -1.3399174 0.0011457984 50 - 7582 9704.3184 -0.92434441 0.0011457984 50 - 7584 9926.6399 -0.15472678 0.0011457984 50 - 7586 9892.8863 1.6692809 0.0011457984 50 - 7588 9863.4979 3.1137697 0.0011457984 50 - 7590 9906.4139 3.4536603 0.0011457984 50 - 7592 9769.0965 3.4593296 0.0011457984 50 - 7594 9743.17 3.0424924 0.0011457984 50 - 7596 9719.9591 2.8191167 0.0011457984 50 - 7598 9558.0651 3.0322152 0.0011457984 50 - 7600 9645.6938 2.6112039 0.0011457984 50 - 7602 9714.0215 2.185614 0.0011457984 50 - 7604 9605.7654 2.3876785 0.0011457984 50 - 7606 9693.6003 2.6081601 0.0011457984 50 - 7608 9629.2089 3.4337647 0.0011457984 50 - 7610 9551.3938 4.3618115 0.0011457984 50 - 7612 9601.7189 5.042988 0.0011457984 50 - 7614 9530.2921 6.231394 0.0011457984 50 - 7616 9423.4273 7.5166546 0.0011457984 50 - 7618 9505.4428 8.0291626 0.0011457984 50 - 7620 9429.315 8.1655715 0.0011457984 50 - 7622 9410.5734 7.5124718 0.0011457984 50 - 7624 9483.015 6.434736 0.0011457984 50 - 7626 9417.367 5.8180565 0.0011457984 50 - 7628 9504.2707 4.8808406 0.0011457984 50 - 7630 9708.7689 3.1972208 0.0011457984 50 - 7632 9705.0142 1.4578035 0.0011457984 50 - 7634 9712.5013 0.041948151 0.0011457984 50 - 7636 9729.5345 -0.061359152 0.0011457984 50 - 7638 9603.3866 1.3424057 0.0011457984 50 - 7640 9659.7375 2.5412485 0.0011457984 50 - 7642 9653.7578 3.3597609 0.0011457984 50 - 7644 9526.3277 4.5019132 0.0011457984 50 - 7646 9522.1426 6.4723916 0.0011457984 50 - 7648 9551.1617 9.4539084 0.0011457984 50 - 7650 9448.6486 12.17887 0.0011457984 50 - 7652 9441.6445 12.73528 0.0011457984 50 - 7654 9372.3016 11.623139 0.0011457984 50 - 7656 9353.7281 10.159189 0.0011457984 50 - 7658 9533.6437 9.1148105 0.0011457984 50 - 7660 9720.4729 8.2979611 0.0011457984 50 - 7662 9687.7535 6.5903069 0.0011457984 50 - 7664 9679.7651 3.1582718 0.0011457984 50 - 7666 9506.8095 -0.16657303 0.0011457984 50 - 7668 9432.2748 -1.9647403 0.0011457984 50 - 7670 9562.3452 -2.0511502 0.0011457984 50 - 7672 9603.1776 -1.1215214 0.0011457984 50 - 7674 9614.5799 -0.73355736 0.0011457984 50 - 7676 9717.1466 -0.97171895 0.0011457984 50 - 7678 9660.4746 -0.065105035 0.0011457984 50 - 7680 9652.4727 2.1105705 0.0011457984 50 - 7682 9632.6572 4.7124033 0.0011457984 50 - 7684 9459.4445 6.5506091 0.0011457984 50 - 7686 9459.2384 6.5399378 0.0011457984 50 - 7688 9527.0273 5.8950819 0.0011457984 50 - 7690 9552.6913 5.8727872 0.0011457984 50 - 7692 9594.6979 6.1402731 0.0011457984 50 - 7694 9507.6571 6.0382366 0.0011457984 50 - 7696 9435.6211 4.6987185 0.0011457984 50 - 7698 9593.5298 2.4864572 0.0011457984 50 - 7700 9649.3417 1.3774067 0.0011457984 50 - 7702 9733.9587 1.3621968 0.0011457984 50 - 7704 9748.2134 1.6826187 0.0011457984 50 - 7706 9607.2673 1.730675 0.0011457984 50 - 7708 9570.3284 1.056172 0.0011457984 50 - 7710 9623.4646 0.68062243 0.0011457984 50 - 7712 9584.1504 1.5492829 0.0011457984 50 - 7714 9727.4828 2.3647176 0.0011457984 50 - 7716 9768.0882 2.5188312 0.0011457984 50 - 7718 9675.8436 1.915033 0.0011457984 50 - 7720 9742.4159 0.98004134 0.0011457984 50 - 7722 9729.339 1.348188 0.0011457984 50 - 7724 9737.0089 2.3572792 0.0011457984 50 - 7726 9867.0438 2.3334077 0.0011457984 50 - 7728 9685.1497 1.779699 0.0011457984 50 - 7730 9541.5463 1.0959201 0.0011457984 50 - 7732 9601.3202 1.360164 0.0011457984 50 - 7734 9511.1979 3.3763173 0.0011457984 50 - 7736 9691.0676 4.6273168 0.0011457984 50 - 7738 9841.6024 4.2729278 0.0011457984 50 - 7740 9648.3216 3.3438312 0.0011457984 50 - 7742 9644.2115 2.2183629 0.0011457984 50 - 7744 9588.828 2.5300306 0.0011457984 50 - 7746 9341.8422 3.7987816 0.0011457984 50 - 7748 9547.0139 3.0814107 0.0011457984 50 - 7750 9527.4193 1.3593932 0.0011457984 50 - 7752 9489.3054 -0.4087885 0.0011457984 50 - 7754 9740.3405 -1.2673367 0.0011457984 50 - 7756 9721.0147 0.00428777 0.0011457984 50 - 7758 9702.5241 0.82419258 0.0011457984 50 - 7760 9859.071 -0.6228219 0.0011457984 50 - 7762 9650.9663 -2.3957203 0.0011457984 50 - 7764 9706.9729 -3.6785526 0.0011457984 50 - 7766 9818.8903 -2.8392329 0.0011457984 50 - 7768 9663.4435 -0.34323863 0.0011457984 50 - 7770 9803.2456 0.38943494 0.0011457984 50 - 7772 9820.2274 -0.39394936 0.0011457984 50 - 7774 9713.4768 -1.0733572 0.0011457984 50 - 7776 9852.736 -0.42363135 0.0011457984 50 - 7778 9886.2509 2.3769023 0.0011457984 50 - 7780 9832.7358 4.9166992 0.0011457984 50 - 7782 9932.8973 4.712252 0.0011457984 50 - 7784 9796.5384 3.1448764 0.0011457984 50 - 7786 9753.7015 1.9309203 0.0011457984 50 - 7788 9839.8416 2.3899169 0.0011457984 50 - 7790 9872.1501 3.7655463 0.0011457984 50 - 7792 9953.7516 3.4859888 0.0011457984 50 - 7794 10034.369 1.1698958 0.0011457984 50 - 7796 9944.3003 -0.92549906 0.0011457984 50 - 7798 9965.518 -1.1278296 0.0011457984 50 - 7800 10012.5 0.80938361 0.0011457984 50 - 7802 10034.925 2.8840295 0.0011457984 50 - 7804 10097.202 3.1108041 0.0011457984 50 - 7806 10109.566 2.2692514 0.0011457984 50 - 7808 10070.186 2.6683711 0.0011457984 50 - 7810 10086.066 5.1330175 0.0011457984 50 - 7812 10101.889 8.1779122 0.0011457984 50 - 7814 9955.2551 9.6584018 0.0011457984 50 - 7816 9924.9784 8.6108988 0.0011457984 50 - 7818 9892.9233 7.3026856 0.0011457984 50 - 7820 9940.0085 7.6562588 0.0011457984 50 - 7822 10043.889 9.2169653 0.0011457984 50 - 7824 10040.433 10.071061 0.0011457984 50 - 7826 9888.6625 8.8793367 0.0011457984 50 - 7828 9843.2339 6.2958302 0.0011457984 50 - 7830 9769.9935 4.9813275 0.0011457984 50 - 7832 9817.1369 5.5036474 0.0011457984 50 - 7834 9908.1863 6.5022137 0.0011457984 50 - 7836 9836.952 6.5533027 0.0011457984 50 - 7838 9823.5066 5.1861522 0.0011457984 50 - 7840 9842.244 4.290555 0.0011457984 50 - 7842 9807.8307 5.4702915 0.0011457984 50 - 7844 9866.4119 7.5011118 0.0011457984 50 - 7846 9948.1838 8.4741237 0.0011457984 50 - 7848 9929.854 7.7316361 0.0011457984 50 - 7850 10067.409 5.8569645 0.0011457984 50 - 7852 10032.145 5.2165212 0.0011457984 50 - 7854 9899.4962 6.0924898 0.0011457984 50 - 7856 9921.7169 6.719158 0.0011457984 50 - 7858 9916.003 6.389409 0.0011457984 50 - 7860 9870.0171 5.3824146 0.0011457984 50 - 7862 9982.1614 4.6911758 0.0011457984 50 - 7864 9885.8857 5.9014244 0.0011457984 50 - 7866 9833.4896 7.7602131 0.0011457984 50 - 7868 9945.8481 8.582649 0.0011457984 50 - 7870 9940.9251 8.4512902 0.0011457984 50 - 7872 9955.2114 7.7609086 0.0011457984 50 - 7874 9947.7609 7.5875024 0.0011457984 50 - 7876 9824.999 8.1626806 0.0011457984 50 - 7878 9821.2327 8.0188501 0.0011457984 50 - 7880 9842.1396 6.8799344 0.0011457984 50 - 7882 9763.4974 5.6291783 0.0011457984 50 - 7884 9830.8014 4.8298768 0.0011457984 50 - 7886 9864.651 5.1057619 0.0011457984 50 - 7888 9897.6271 5.4523732 0.0011457984 50 - 7890 9969.4632 4.8645946 0.0011457984 50 - 7892 9905.2637 4.0683578 0.0011457984 50 - 7894 9867.218 3.7625675 0.0011457984 50 - 7896 9964.8143 4.1222515 0.0011457984 50 - 7898 9970.8383 4.8135178 0.0011457984 50 - 7900 9960.2843 4.6528207 0.0011457984 50 - 7902 9929.1614 4.0045485 0.0011457984 50 - 7904 9732.7455 4.4197682 0.0011457984 50 - 7906 9784.6307 5.46138 0.0011457984 50 - 7908 9902.0578 6.4536086 0.0011457984 50 - 7910 9835.8696 6.5806316 0.0011457984 50 - 7912 9816.4882 5.2605278 0.0011457984 50 - 7914 9678.3646 4.2597874 0.0011457984 50 - 7916 9495.2316 4.5265141 0.0011457984 50 - 7918 9625.0995 4.6607196 0.0011457984 50 - 7920 9667.4185 3.9419695 0.0011457984 50 - 7922 9602.5767 1.8452379 0.0011457984 50 - 7924 9714.4671 -0.78549348 0.0011457984 50 - 7926 9600.4719 -1.3021957 0.0011457984 50 - 7928 9595.5944 -0.40978783 0.0011457984 50 - 7930 9671.4849 0.18383962 0.0011457984 50 - 7932 9427.9403 0.13097094 0.0011457984 50 - 7934 9336.0891 -0.75045689 0.0011457984 50 - 7936 9377.7418 -0.37773788 0.0011457984 50 - 7938 9313.8567 2.3838933 0.0011457984 50 - 7940 9563.9378 4.7263846 0.0011457984 50 - 7942 9725.0125 5.1314861 0.0011457984 50 - 7944 9526.2488 3.8387064 0.0011457984 50 - 7946 9567.6993 1.6692464 0.0011457984 50 - 7948 9454.276 1.4617733 0.0011457984 50 - 7950 9353.5637 2.4804377 0.0011457984 50 - 7952 9601.2572 1.7746058 0.0011457984 50 - 7954 9621.3707 -0.54877445 0.0011457984 50 - 7956 9545.5258 -3.3532832 0.0011457984 50 - 7958 9635.7985 -4.5615531 0.0011457984 50 - 7960 9426.8802 -2.4111311 0.0011457984 50 - 7962 9415.5196 0.10777037 0.0011457984 50 - 7964 9525.2541 0.98550692 0.0011457984 50 - 7966 9409.782 1.0022769 0.0011457984 50 - 7968 9501.2728 1.0925635 0.0011457984 50 - 7970 9566.9142 2.9916085 0.0011457984 50 - 7972 9434.188 5.8343619 0.0011457984 50 - 7974 9543.452 6.3023867 0.0011457984 50 - 7976 9515.7435 4.393159 0.0011457984 50 - 7978 9397.8265 1.67238 0.0011457984 50 - 7980 9518.8853 -0.26214002 0.0011457984 50 - 7982 9464.9738 -0.20322159 0.0011457984 50 - 7984 9411.3658 -0.34294737 0.0011457984 50 - 7986 9480.5763 -2.2898799 0.0011457984 50 - 7988 9346.0022 -4.3015335 0.0011457984 50 - 7990 9323.7758 -4.7818874 0.0011457984 50 - 7992 9447.4591 -2.8155787 0.0011457984 50 - 7994 9370.0301 0.86042184 0.0011457984 50 - 7996 9414.3206 3.209964 0.0011457984 50 - 7998 9443.2413 3.7897264 0.0011457984 50 - 8000 9337.5805 4.2404387 0.0011457984 50 -Loop time of 107.636 on 8 procs for 8000 steps with 848 atoms - -Performance: 6.422 ns/day, 3.737 hours/ns, 74.325 timesteps/s -93.6% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0071581 | 0.99286 | 4.3913 | 151.9 | 0.92 -Bond | 0.023263 | 2.2103 | 10.081 | 229.9 | 2.05 -Kspace | 28.814 | 39.764 | 42.853 | 76.0 | 36.94 -Neigh | 6.4084 | 6.4395 | 6.4689 | 1.0 | 5.98 -Comm | 0.19227 | 0.25072 | 0.36267 | 12.4 | 0.23 -Output | 56.437 | 56.509 | 56.849 | 1.7 | 52.50 -Modify | 0.78657 | 1.4521 | 1.6493 | 23.1 | 1.35 -Other | | 0.0172 | | | 0.02 - -Nlocal: 106.000 ave 407 max 0 min -Histogram: 5 0 0 0 1 0 1 0 0 1 -Nghost: 71.1250 ave 338 max 0 min -Histogram: 5 0 1 0 1 0 0 0 0 1 -Neighs: 7377.88 ave 29891 max 0 min -Histogram: 5 0 0 0 1 1 0 0 0 1 - -Total # of neighbors = 59023 -Ave neighs/atom = 69.602594 -Ave special neighs/atom = 11.443396 -Neighbor list builds = 8000 -Dangerous builds = 0 -System init for write_data ... -PPPM initialization ... - using 12-bit tables for long-range coulomb (../kspace.cpp:328) - G vector (1/distance) = 0.20144813 - grid = 45 45 45 - stencil order = 5 - estimated absolute RMS force accuracy = 0.0022576485 - estimated relative force accuracy = 6.7988414e-06 - using double precision KISS FFT - 3d grid and FFT values/proc = 21952 12167 -System init for write_data ... -PPPM initialization ... - using 12-bit tables for long-range coulomb (../kspace.cpp:328) - G vector (1/distance) = 0.20144813 - grid = 45 45 45 - stencil order = 5 - estimated absolute RMS force accuracy = 0.0022576485 - estimated relative force accuracy = 6.7988414e-06 - using double precision KISS FFT - 3d grid and FFT values/proc = 21952 12167 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:01:48 diff --git a/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene b/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene index 4331bf60b7..8950cec614 100755 --- a/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene +++ b/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene @@ -1,4 +1,4 @@ -# use bond/react 'create atoms' feature to add 50 new styrene monomers to chain +# use bond/react 'create atoms' feature to add 30 new styrene monomers to chain units real @@ -20,7 +20,12 @@ improper_style class2 variable T equal 530 -read_data trimer.data +read_data trimer.data & + extra/bond/per/atom 5 & + extra/angle/per/atom 15 & + extra/dihedral/per/atom 15 & + extra/improper/per/atom 25 & + extra/special/per/atom 25 molecule mol1 grow_styrene_pre.data_template molecule mol2 grow_styrene_post.data_template @@ -28,7 +33,7 @@ molecule mol2 grow_styrene_post.data_template fix myrxns all bond/react stabilization yes statted_grp .03 & react rxn1 all 1 0 3.0 mol1 mol2 grow_styrene.map & modify_create fit create_fit overlap 2.0 & - stabilize_steps 100 max_rxn 50 + stabilize_steps 100 max_rxn 30 fix 1 statted_grp_REACT nvt temp $T $T 100 diff --git a/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 b/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 new file mode 100644 index 0000000000..5f1f2c6698 --- /dev/null +++ b/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 @@ -0,0 +1,196 @@ +LAMMPS (24 Dec 2020) +Reading data file ... + orthogonal box = (50.000000 50.000000 50.000000) to (250.00000 250.00000 250.00000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 48 atoms + reading velocities ... + 48 velocities + scanning bonds ... + 8 = max bonds/atom + scanning angles ... + 21 = max angles/atom + scanning dihedrals ... + 33 = max dihedrals/atom + scanning impropers ... + 29 = max impropers/atom + reading bonds ... + 50 bonds + reading angles ... + 84 angles + reading dihedrals ... + 127 dihedrals + reading impropers ... + 36 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 + 8 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 46 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.077 seconds +Read molecule template mol1: + 1 molecules + 30 atoms with max type 6 + 31 bonds with max type 10 + 51 angles with max type 16 + 73 dihedrals with max type 19 + 21 impropers with max type 7 +Read molecule template mol2: + 1 molecules + 46 atoms with max type 6 + 48 bonds with max type 13 + 81 angles with max type 22 + 121 dihedrals with max type 36 + 35 impropers with max type 9 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +PPPM initialization ... +WARNING: System is not charge neutral, net charge = -0.00060000000 (../kspace.cpp:324) + using 12-bit tables for long-range coulomb (../kspace.cpp:339) + G vector (1/distance) = 0.20144813 + grid = 45 45 45 + stencil order = 5 + estimated absolute RMS force accuracy = 0.00053712952 + estimated relative force accuracy = 1.6175496e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 125000 91125 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 39 39 39 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 48.02 | 48.02 | 48.02 Mbytes +Step Temp Press Density f_myrxns[1] + 0 496.23742 0.9983211 6.4856516e-05 0 + 100 534.05394 -0.76952227 6.4856516e-05 0 + 200 552.2225 -0.55375493 6.4856516e-05 0 + 300 857.52834 -0.4272061 8.6475354e-05 1 + 400 714.10681 1.5004615 8.6475354e-05 1 + 500 678.19171 0.21965471 8.6475354e-05 1 + 600 572.3234 0.87879933 8.6475354e-05 1 + 700 996.17398 -0.24269717 0.00010809419 2 + 800 904.50395 1.3662054 0.00010809419 2 + 900 1097.1568 -2.2909907 0.00012971303 3 + 1000 954.08892 1.7705672 0.00012971303 3 + 1100 1102.0377 -1.7018446 0.00015133187 4 + 1200 1239.785 -0.30442903 0.00015133187 4 + 1300 1388.4127 1.3301175 0.00017295071 5 + 1400 1559.3853 1.6709729 0.00017295071 5 + 1500 1471.8623 0.8268427 0.00017295071 5 + 1600 1543.6793 2.1987908 0.00019456955 6 + 1700 1694.5595 0.48852817 0.00019456955 6 + 1800 1632.7737 -1.4617692 0.00021618839 7 + 1900 1922.6502 1.1664257 0.00021618839 7 + 2000 2223.503 -0.95799878 0.00023780722 8 + 2100 2142.6035 0.88444463 0.00025942606 9 + 2200 2298.8636 3.4239313 0.00025942606 9 + 2300 2252.4355 0.82167302 0.00025942606 9 + 2400 2321.0788 1.7499714 0.00025942606 9 + 2500 2095.6715 0.55288444 0.00025942606 9 + 2600 2136.0316 -3.833114 0.00025942606 9 + 2700 2466.3134 -2.2519511 0.00025942606 9 + 2800 2294.3454 1.0637304 0.00025942606 9 + 2900 2340.3891 1.3997049 0.0002810449 10 + 3000 2272.0013 -0.27591886 0.0002810449 10 + 3100 2333.9696 -0.11772138 0.0002810449 10 + 3200 2409.0946 -1.025473 0.0002810449 10 + 3300 2148.023 1.6752329 0.0002810449 10 + 3400 2267.636 -0.45297583 0.0002810449 10 + 3500 2457.622 0.35627297 0.0002810449 10 + 3600 2288.008 -15.516626 0.00030266374 11 + 3700 2458.2681 1.4571773 0.00030266374 11 + 3800 2566.7623 -29.140553 0.00032428258 12 + 3900 2839.4062 0.64583638 0.00032428258 12 + 4000 2893.9852 -52.954497 0.00034590142 13 + 4100 3021.3611 -65.03731 0.00036752025 14 + 4200 3002.7136 1.5750081 0.00036752025 14 + 4300 3218.6248 -120.74039 0.00038913909 15 + 4400 3345.1482 -0.96545269 0.00038913909 15 + 4500 3603.2429 1.2438833 0.00038913909 15 + 4600 3129.8814 -249.91806 0.00041075793 16 + 4700 3769.052 -289.24351 0.00043237677 17 + 4800 3560.4714 -3.1655406 0.00043237677 17 + 4900 3452.2717 -2.1270765 0.00043237677 17 + 5000 3594.3247 -523.48506 0.00045399561 18 + 5100 3578.4199 1.0009097 0.00045399561 18 + 5200 3822.1566 1.0526914 0.00047561445 19 + 5300 3901.8883 -0.14607602 0.00047561445 19 + 5400 4059.3644 -1.7789927 0.00049723329 20 + 5500 4163.6847 1.0240127 0.00049723329 20 + 5600 4109.1649 0.80199787 0.00049723329 20 + 5700 4391.2091 2.8730036 0.00049723329 20 + 5800 4279.6579 -0.36499822 0.00051885212 21 + 5900 4296.2695 -1.3064528 0.00051885212 21 + 6000 4065.3758 -2.0483224 0.00051885212 21 + 6100 4772.5362 -2.6814694 0.00054047096 22 + 6200 4627.029 2.999215 0.0005620898 23 + 6300 5120.7881 0.65372968 0.00058370864 24 + 6400 4588.9559 3.7570705 0.00058370864 24 + 6500 5008.7814 2.3595833 0.00060532748 25 + 6600 5195.0053 1.4641612 0.00060532748 25 + 6700 5622.293 -0.33396047 0.00062694632 26 + 6800 5515.1957 -4.234874 0.00062694632 26 + 6900 5156.7455 0.40171954 0.00064856516 27 + 7000 5120.1639 -1.6065245 0.00064856516 27 + 7100 5650.0327 0.94436323 0.00067018399 28 + 7200 5985.1115 -3.8940347 0.00069180283 29 + 7300 5983.197 0.5293568 0.00069180283 29 + 7400 6001.1559 -0.13712834 0.00071342167 30 + 7500 5889.2134 0.17230892 0.00071342167 30 + 7600 5797.31 2.0920058 0.00071342167 30 + 7700 5865.2783 -0.18556395 0.00071342167 30 + 7800 6207.0659 -5.6237083 0.00071342167 30 + 7900 5627.5108 -2.3718942 0.00071342167 30 + 8000 5823.9502 -0.85418578 0.00071342167 30 +Loop time of 184.87 on 1 procs for 8000 steps with 528 atoms + +Performance: 3.739 ns/day, 6.419 hours/ns, 43.274 timesteps/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 | 3.3043 | 3.3043 | 3.3043 | 0.0 | 1.79 +Bond | 8.0003 | 8.0003 | 8.0003 | 0.0 | 4.33 +Kspace | 168.33 | 168.33 | 168.33 | 0.0 | 91.05 +Neigh | 4.6322 | 4.6322 | 4.6322 | 0.0 | 2.51 +Comm | 0.077927 | 0.077927 | 0.077927 | 0.0 | 0.04 +Output | 0.0020548 | 0.0020548 | 0.0020548 | 0.0 | 0.00 +Modify | 0.5005 | 0.5005 | 0.5005 | 0.0 | 0.27 +Other | | 0.02483 | | | 0.01 + +Nlocal: 528.000 ave 528 max 528 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 341.000 ave 341 max 341 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 35111.0 ave 35111 max 35111 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 35111 +Ave neighs/atom = 66.498106 +Ave special neighs/atom = 11.409091 +Neighbor list builds = 8000 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:03:05 diff --git a/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 b/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 new file mode 100644 index 0000000000..8daa6d8161 --- /dev/null +++ b/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 @@ -0,0 +1,196 @@ +LAMMPS (24 Dec 2020) +Reading data file ... + orthogonal box = (50.000000 50.000000 50.000000) to (250.00000 250.00000 250.00000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 48 atoms + reading velocities ... + 48 velocities + scanning bonds ... + 8 = max bonds/atom + scanning angles ... + 21 = max angles/atom + scanning dihedrals ... + 33 = max dihedrals/atom + scanning impropers ... + 29 = max impropers/atom + reading bonds ... + 50 bonds + reading angles ... + 84 angles + reading dihedrals ... + 127 dihedrals + reading impropers ... + 36 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 + 8 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 46 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.007 seconds +Read molecule template mol1: + 1 molecules + 30 atoms with max type 6 + 31 bonds with max type 10 + 51 angles with max type 16 + 73 dihedrals with max type 19 + 21 impropers with max type 7 +Read molecule template mol2: + 1 molecules + 46 atoms with max type 6 + 48 bonds with max type 13 + 81 angles with max type 22 + 121 dihedrals with max type 36 + 35 impropers with max type 9 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +PPPM initialization ... +WARNING: System is not charge neutral, net charge = -0.00060000000 (../kspace.cpp:324) + using 12-bit tables for long-range coulomb (../kspace.cpp:339) + G vector (1/distance) = 0.20144813 + grid = 45 45 45 + stencil order = 5 + estimated absolute RMS force accuracy = 0.00053712952 + estimated relative force accuracy = 1.6175496e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 39200 24300 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 39 39 39 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 38.70 | 38.92 | 39.43 Mbytes +Step Temp Press Density f_myrxns[1] + 0 496.23742 0.9983211 6.4856516e-05 0 + 100 534.05394 -0.76952227 6.4856516e-05 0 + 200 552.2225 -0.55375493 6.4856516e-05 0 + 300 857.52834 -0.4272061 8.6475354e-05 1 + 400 714.10681 1.5004615 8.6475354e-05 1 + 500 678.19171 0.21965471 8.6475354e-05 1 + 600 572.3234 0.87879933 8.6475354e-05 1 + 700 996.17398 -0.24269717 0.00010809419 2 + 800 904.50395 1.3662054 0.00010809419 2 + 900 1097.1568 -2.2909907 0.00012971303 3 + 1000 954.08892 1.7705672 0.00012971303 3 + 1100 1102.0377 -1.7018446 0.00015133187 4 + 1200 1239.785 -0.30442903 0.00015133187 4 + 1300 1388.4127 1.3301175 0.00017295071 5 + 1400 1559.3853 1.6709729 0.00017295071 5 + 1500 1471.8623 0.8268427 0.00017295071 5 + 1600 1543.6793 2.1987908 0.00019456955 6 + 1700 1694.5595 0.48852817 0.00019456955 6 + 1800 1632.7737 -1.4617692 0.00021618839 7 + 1900 1922.6502 1.1664257 0.00021618839 7 + 2000 2223.503 -0.95799878 0.00023780722 8 + 2100 2142.6035 0.88444463 0.00025942606 9 + 2200 2298.8636 3.4239313 0.00025942606 9 + 2300 2252.4355 0.82167302 0.00025942606 9 + 2400 2321.0788 1.7499714 0.00025942606 9 + 2500 2095.6715 0.55288444 0.00025942606 9 + 2600 2136.0316 -3.833114 0.00025942606 9 + 2700 2466.3134 -2.2519511 0.00025942606 9 + 2800 2294.3454 1.0637304 0.00025942606 9 + 2900 2340.3891 1.3997049 0.0002810449 10 + 3000 2272.0013 -0.27591886 0.0002810449 10 + 3100 2333.9696 -0.11772138 0.0002810449 10 + 3200 2409.0946 -1.025473 0.0002810449 10 + 3300 2148.023 1.6752329 0.0002810449 10 + 3400 2267.636 -0.45297583 0.0002810449 10 + 3500 2457.622 0.35627297 0.0002810449 10 + 3600 2288.008 -15.516626 0.00030266374 11 + 3700 2458.2681 1.4571773 0.00030266374 11 + 3800 2566.7623 -29.140553 0.00032428258 12 + 3900 2839.4062 0.64583638 0.00032428258 12 + 4000 2893.2204 -53.187892 0.00034590142 13 + 4100 3024.6375 -65.068146 0.00036752025 14 + 4200 3004.6784 1.4155214 0.00036752025 14 + 4300 3033.1895 1.8572273 0.00036752025 14 + 4400 3157.2542 -0.92462977 0.00036752025 14 + 4500 3557.7137 -194.46498 0.00038913909 15 + 4600 3096.485 -1.830492 0.00038913909 15 + 4700 3488.088 -286.81055 0.00041075793 16 + 4800 3390.5493 -372.77818 0.00043237677 17 + 4900 3773.7226 -446.58574 0.00045399561 18 + 5000 3703.0159 -0.81188551 0.00045399561 18 + 5100 4051.3067 1.2567439 0.00045399561 18 + 5200 3813.3682 0.92945737 0.00047561445 19 + 5300 4036.0078 -2.5336258 0.00049723329 20 + 5400 4219.803 -0.96928261 0.00049723329 20 + 5500 4433.7447 -0.026762463 0.00051885212 21 + 5600 4477.4505 -1.417316 0.00054047096 22 + 5700 4500.0306 -1.0551443 0.00054047096 22 + 5800 4600.3507 -4.9580056 0.00054047096 22 + 5900 4765.4978 -2.2546941 0.0005620898 23 + 6000 5442.6193 0.91161284 0.00058370864 24 + 6100 5086.8047 -0.9875332 0.00060532748 25 + 6200 5485.3437 -2.8296626 0.00062694632 26 + 6300 4988.0396 -0.15179023 0.00064856516 27 + 6400 5597.3703 4.2941885 0.00067018399 28 + 6500 5677.0263 -2.8611595 0.00069180283 29 + 6600 6058.0009 1.4111778 0.00071342167 30 + 6700 5859.0817 -2.5782466 0.00071342167 30 + 6800 5879.3941 -4.5681807 0.00071342167 30 + 6900 6398.288 2.5259412 0.00071342167 30 + 7000 6250.1096 -2.6049627 0.00071342167 30 + 7100 5849.651 -0.44062578 0.00071342167 30 + 7200 5778.6532 -0.27299118 0.00071342167 30 + 7300 5977.6661 4.2483639 0.00071342167 30 + 7400 5862.4231 1.0289519 0.00071342167 30 + 7500 6482.376 7.5412373 0.00071342167 30 + 7600 5810.4325 1.0343075 0.00071342167 30 + 7700 5916.7304 2.304302 0.00071342167 30 + 7800 5869.9504 -0.5946555 0.00071342167 30 + 7900 5804.0522 -4.1207689 0.00071342167 30 + 8000 6077.1704 0.52211243 0.00071342167 30 +Loop time of 60.5603 on 4 procs for 8000 steps with 528 atoms + +Performance: 11.413 ns/day, 2.103 hours/ns, 132.100 timesteps/s +99.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.0041695 | 0.90113 | 2.3423 | 102.8 | 1.49 +Bond | 0.011606 | 2.1188 | 5.8107 | 163.9 | 3.50 +Kspace | 47.987 | 52.817 | 55.679 | 43.7 | 87.21 +Neigh | 3.5961 | 3.6262 | 3.6496 | 1.2 | 5.99 +Comm | 0.11097 | 0.16569 | 0.26369 | 15.3 | 0.27 +Output | 0.0020366 | 0.0023427 | 0.0032469 | 1.1 | 0.00 +Modify | 0.62302 | 0.91659 | 1.1227 | 21.5 | 1.51 +Other | | 0.0126 | | | 0.02 + +Nlocal: 132.000 ave 295 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 133.000 ave 349 max 0 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 8383.50 ave 20143 max 0 min +Histogram: 2 0 0 0 0 0 1 0 0 1 + +Total # of neighbors = 33534 +Ave neighs/atom = 63.511364 +Ave special neighs/atom = 11.409091 +Neighbor list builds = 8000 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:00 From 89e47e7aaecc94010d9d51ddd55271f90f6af88d Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 4 Feb 2021 22:31:15 -0500 Subject: [PATCH 068/132] memory fix --- src/USER-REACTION/fix_bond_react.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 0ef302137e..6739e20ac6 100755 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -596,6 +596,7 @@ FixBondReact::~FixBondReact() memory->destroy(create_atoms); memory->destroy(chiral_atoms); + memory->destroy(rxn_name); memory->destroy(nevery); memory->destroy(cutsq); memory->destroy(unreacted_mol); @@ -613,7 +614,7 @@ FixBondReact::~FixBondReact() memory->destroy(molecule_keyword); memory->destroy(constraints); memory->destroy(nconstraints); - // need to delete rxn_name and constraintstr + memory->destroy(constraintstr); memory->destroy(create_atoms_flag); memory->destroy(modify_create_fragid); memory->destroy(overlapsq); From 47783aaa9cc2b37d42e5014092b20f67d55cce22 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 13:56:06 -0500 Subject: [PATCH 069/132] whitespace --- src/fix_ave_correlate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index de0cc0da6f..efd06a182a 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -74,7 +74,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): int iarg = 0; while (iarg < nargnew) { ArgInfo argi(arg[iarg]); - + if (argi.get_type() == ArgInfo::NONE) break; if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_dim() > 1)) error->all(FLERR,"Invalid fix ave/correlate command"); From ba8f7bf3d88f1e3777fffe1d8baa8bd7ff5c3c57 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 13:56:47 -0500 Subject: [PATCH 070/132] address argument indexing bug reported by stan --- src/fix_ave_histo.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index cad509e165..0d82fd6b04 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -152,17 +152,15 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : ids[i] = nullptr; } else { - ArgInfo argi(arg[iarg]); + ArgInfo argi(arg[i]); if (argi.get_type() == ArgInfo::NONE) break; if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_dim() > 1)) error->all(FLERR,"Invalid fix ave/histo command"); - which[nvalues] = argi.get_type(); - argindex[nvalues] = argi.get_index1(); - ids[nvalues] = argi.copy_name(); - - nvalues++; + which[i] = argi.get_type(); + argindex[i] = argi.get_index1(); + ids[i] = argi.copy_name(); } } From 4166235be6550f3d8254e8ad59a7b3e10fe2c592 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 16:43:18 -0500 Subject: [PATCH 071/132] synchronize settings with CMake support --- lib/gpu/Install.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/gpu/Install.py b/lib/gpu/Install.py index d06a37567a..4a14c503a6 100644 --- a/lib/gpu/Install.py +++ b/lib/gpu/Install.py @@ -46,10 +46,10 @@ parser.add_argument("-b", "--build", action="store_true", help="build the GPU library from scratch from a customized Makefile.auto") parser.add_argument("-m", "--machine", default='linux', help="suffix of Makefile.machine used as base for customizing Makefile.auto") -parser.add_argument("-a", "--arch", default='sm_30', +parser.add_argument("-a", "--arch", default='sm_50', choices=['sm_12', 'sm_13', 'sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_37', - 'sm_50', 'sm_52', 'sm_60', 'sm_61', 'sm_70', 'sm_75'], - help="set GPU architecture and instruction set (default: 'sm_30')") + 'sm_50', 'sm_52', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80'], + help="set GPU architecture and instruction set (default: 'sm_50')") parser.add_argument("-p", "--precision", default='mixed', choices=['single', 'mixed', 'double'], help="set GPU kernel precision mode (default: mixed)") parser.add_argument("-e", "--extramake", default='standard', From 754a469a01d57051b528607a4200eb425102e9ef Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 16:43:51 -0500 Subject: [PATCH 072/132] add variable for handling cuda-mps-server --- lib/gpu/Makefile.cuda | 3 +- lib/gpu/Makefile.cuda_mps | 150 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 1 deletion(-) create mode 100644 lib/gpu/Makefile.cuda_mps diff --git a/lib/gpu/Makefile.cuda b/lib/gpu/Makefile.cuda index d357ebf0e4..b18e4620eb 100644 --- a/lib/gpu/Makefile.cuda +++ b/lib/gpu/Makefile.cuda @@ -30,6 +30,7 @@ AR = ar BSH = /bin/sh CUDPP_OPT = -DUSE_CUDPP -Icudpp_mini +CUDA_MPS = # device code compiler and settings @@ -51,7 +52,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_PRECISION) $(CUDA_INCLUDE) \ +CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_PROXY) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ $(CUDPP_OPT) # Headers for Geryon diff --git a/lib/gpu/Makefile.cuda_mps b/lib/gpu/Makefile.cuda_mps new file mode 100644 index 0000000000..c6e5202adc --- /dev/null +++ b/lib/gpu/Makefile.cuda_mps @@ -0,0 +1,150 @@ +# /* ---------------------------------------------------------------------- +# Generic Linux Makefile for CUDA +# - change CUDA_ARCH for your GPU +# ------------------------------------------------------------------------- */ + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.standard + +ifeq ($(CUDA_HOME),) +CUDA_HOME = /usr/local/cuda +endif + +# this setting should match LAMMPS Makefile +# one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL + +LMP_INC = -DLAMMPS_SMALLBIG + +# precision for GPU calculations +# -D_SINGLE_SINGLE # Single precision for all calculations +# -D_DOUBLE_DOUBLE # Double precision for all calculations +# -D_SINGLE_DOUBLE # Accumulation of forces, etc. in double + +CUDA_PRECISION = -D_SINGLE_DOUBLE + +BIN_DIR = ./ +OBJ_DIR = ./ +LIB_DIR = ./ +AR = ar +BSH = /bin/sh + +CUDPP_OPT = +CUDA_MPS = -DCUDA_PROXY + +# device code compiler and settings + +NVCC = nvcc + +CUDA_ARCH = -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] \ + -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] +CUDA_INCLUDE = -I$(CUDA_HOME)/include +CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC +CUDA_LINK = $(CUDA_LIB) -lcudart +CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) -Icudpp_mini $(CUDA_ARCH) \ + $(CUDA_PRECISION) + +BIN2C = $(CUDA_HOME)/bin/bin2c + +# host code compiler and settings + +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) \ + $(CUDPP_OPT) + +# Headers for Geryon +UCL_H = $(wildcard ./geryon/ucl*.h) +NVD_H = $(wildcard ./geryon/nvd*.h) $(UCL_H) lal_preprocessor.h +ALL_H = $(NVD_H) $(wildcard ./lal_*.h) + +# Source files +SRCS := $(wildcard ./lal_*.cpp) +OBJS := $(subst ./,$(OBJ_DIR)/,$(SRCS:%.cpp=%.o)) +CUS := $(wildcard lal_*.cu) +CUHS := $(filter-out pppm_cubin.h, $(CUS:lal_%.cu=%_cubin.h)) pppm_f_cubin.h pppm_d_cubin.h +CUHS := $(addprefix $(OBJ_DIR)/, $(CUHS)) + +ifdef CUDPP_OPT +CUDPP = $(OBJ_DIR)/cudpp.o $(OBJ_DIR)/cudpp_plan.o \ + $(OBJ_DIR)/cudpp_maximal_launch.o $(OBJ_DIR)/cudpp_plan_manager.o \ + $(OBJ_DIR)/radixsort_app.cu_o $(OBJ_DIR)/scan_app.cu_o +endif + +# targets + +GPU_LIB = $(LIB_DIR)/libgpu.a + +EXECS = $(BIN_DIR)/nvc_get_devices + +all: $(OBJ_DIR) $(CUHS) $(GPU_LIB) $(EXECS) + +$(OBJ_DIR): + mkdir -p $@ + +# device code compilation + +$(OBJ_DIR)/pppm_f.cubin: lal_pppm.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -Dgrdtyp=float -Dgrdtyp4=float4 -o $@ lal_pppm.cu + +$(OBJ_DIR)/pppm_f_cubin.h: $(OBJ_DIR)/pppm_f.cubin + $(BIN2C) -c -n pppm_f $(OBJ_DIR)/pppm_f.cubin > $(OBJ_DIR)/pppm_f_cubin.h + +$(OBJ_DIR)/pppm_d.cubin: lal_pppm.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -Dgrdtyp=double -Dgrdtyp4=double4 -o $@ lal_pppm.cu + +$(OBJ_DIR)/pppm_d_cubin.h: $(OBJ_DIR)/pppm_d.cubin + $(BIN2C) -c -n pppm_d $(OBJ_DIR)/pppm_d.cubin > $(OBJ_DIR)/pppm_d_cubin.h + +$(OBJ_DIR)/%_cubin.h: lal_%.cu $(ALL_H) + $(CUDA) --fatbin -DNV_KERNEL -o $(OBJ_DIR)/$*.cubin $(OBJ_DIR)/lal_$*.cu + $(BIN2C) -c -n $* $(OBJ_DIR)/$*.cubin > $@ + @rm $(OBJ_DIR)/$*.cubin + +# host code compilation + +$(OBJ_DIR)/lal_%.o: lal_%.cpp $(CUHS) $(ALL_H) + $(CUDR) -o $@ -c $< -I$(OBJ_DIR) + +#ifdef CUDPP_OPT +$(OBJ_DIR)/cudpp.o: cudpp_mini/cudpp.cpp + $(CUDR) -o $@ -c cudpp_mini/cudpp.cpp -Icudpp_mini + +$(OBJ_DIR)/cudpp_plan.o: cudpp_mini/cudpp_plan.cpp + $(CUDR) -o $@ -c cudpp_mini/cudpp_plan.cpp -Icudpp_mini + +$(OBJ_DIR)/cudpp_maximal_launch.o: cudpp_mini/cudpp_maximal_launch.cpp + $(CUDR) -o $@ -c cudpp_mini/cudpp_maximal_launch.cpp -Icudpp_mini + +$(OBJ_DIR)/cudpp_plan_manager.o: cudpp_mini/cudpp_plan_manager.cpp + $(CUDR) -o $@ -c cudpp_mini/cudpp_plan_manager.cpp -Icudpp_mini + +$(OBJ_DIR)/radixsort_app.cu_o: cudpp_mini/radixsort_app.cu + $(CUDA) -o $@ -c cudpp_mini/radixsort_app.cu + +$(OBJ_DIR)/scan_app.cu_o: cudpp_mini/scan_app.cu + $(CUDA) -o $@ -c cudpp_mini/scan_app.cu +#endif + +# build libgpu.a + +$(GPU_LIB): $(OBJS) $(CUDPP) + $(AR) -crusv $(GPU_LIB) $(OBJS) $(CUDPP) + @cp $(EXTRAMAKE) Makefile.lammps + +# test app for querying device info + +$(BIN_DIR)/nvc_get_devices: ./geryon/ucl_get_devices.cpp $(NVD_H) + $(CUDR) -o $@ ./geryon/ucl_get_devices.cpp -DUCL_CUDADR $(CUDA_LIB) -lcuda + +clean: + -rm -f $(EXECS) $(GPU_LIB) $(OBJS) $(CUDPP) $(CUHS) *.linkinfo + +veryclean: clean + -rm -rf *~ *.linkinfo + +cleanlib: + -rm -f $(EXECS) $(GPU_LIB) $(OBJS) $(CUHS) *.linkinfo + From fc8b8d8825adf65bd1f6c2f92a47d5d7ee7e0e6e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 16:44:26 -0500 Subject: [PATCH 073/132] disallow use of CUDPP with CUDA multiprocessor server --- cmake/Modules/Packages/GPU.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index bc66ef04d2..141b086592 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -36,6 +36,9 @@ if(GPU_API STREQUAL "CUDA") option(CUDPP_OPT "Enable CUDPP_OPT" ON) 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") + endif() set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY") endif() From c74c3b3f22e575563c9ec5a3a8934143febc0ca5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 16:50:59 -0500 Subject: [PATCH 074/132] update docs for mention CUDPP and MPS support with conventional make --- doc/src/Build_extras.rst | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 0c048c53ff..8f1154a167 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -131,7 +131,7 @@ CMake build -D HIP_USE_DEVICE_SORT=value # enables GPU sorting # value = yes (default) or no -D CUDPP_OPT=value # optimization setting for GPU_API=cuda - # enables CUDA Performance Primitives Optimizations + # enables CUDA Performance Primitives Optimizations, must be "no" for CUDA_MPS_SUPPORT=yes # value = yes (default) or no -D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon # value = yes or no (default) @@ -219,11 +219,19 @@ Makefile if desired: * ``CUDA_PRECISION`` = precision (double, mixed, single) * ``EXTRAMAKE`` = which Makefile.lammps.\* file to copy to Makefile.lammps -The file Makefile.linux_multi is set up to include support for multiple +The file Makefile.cuda is set up to include support for multiple GPU architectures as supported by the CUDA toolkit in use. This is done through using the "--gencode " flag, which can be used multiple times and thus support all GPU architectures supported by your CUDA compiler. +To include CUDA performance primitives set the Makefile variable +``CUDPP_OPT = -DUSE_CUDPP -Icudpp_mini``. + +To support the CUDA multiprocessor server you can set the define +``-DCUDA_PROXY``. Please note that in this case you should **not** use +the CUDA performance primitives and thus set the variable ``CUDPP_OPT`` +to empty. + 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 960713be3bd2b13da06f8f78386492df06c24f9d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 17:01:28 -0500 Subject: [PATCH 075/132] make recent change to fix ti/spring docs use mathjax --- doc/src/fix_ti_spring.rst | 9 +++++---- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index 303564456e..806619cdb1 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -135,10 +135,11 @@ system's potential energy as part of :doc:`thermodynamic output This fix computes a global scalar and a global vector quantities which can be accessed by various :doc:`output commands `. The scalar is an energy which is the sum of the spring energy for each -atom, where the per-atom energy is 0.5 \* k \* r\^2. The vector stores -2 values. The first value is the coupling parameter lambda. The -second value is the derivative of lambda with respect to the integer -timestep *s*, i.e. d lambda / ds. In order to obtain d lambda / dt, +atom, where the per-atom energy is :math:`0.5 \cdot k \cdot r^2`. +The vector stores 2 values. The first value is the coupling parameter lambda. +The second value is the derivative of lambda with respect to the integer +timestep *s*, i.e. :math:`\frac{d \lambda}{d s}`. In order to obtain +:math:`\frac{d \lambda}{d t}`, where t is simulation time, this 2nd value needs to be divided by the timestep size (e.g. 0.5 fs). The scalar and vector values calculated by this fix are "extensive". diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index e9ba170ac5..a2f8764aee 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -597,6 +597,7 @@ Dcut de dE De +deallocated decorrelation debye Debye From 19811077b7be9f14145388ed051dd0b53f32735a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 17:16:38 -0500 Subject: [PATCH 076/132] fix strdup() vs utils::strdup() bug --- 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 ff634ba298..c09b6481f6 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -328,7 +328,7 @@ void FixAdapt::init() // strip it for pstyle arg to pair_match() and set nsub = N // this should work for appended suffixes as well - char *pstyle = strdup(ad->pstyle); + char *pstyle = utils::strdup(ad->pstyle); char *cptr; int nsub = 0; if ((cptr = strchr(pstyle,':'))) { From 9995bef9112d424a2926eb2862fd48ba36bb3d04 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Fri, 5 Feb 2021 17:50:23 -0500 Subject: [PATCH 077/132] file permissions --- doc/src/fix_bond_react.rst | 0 src/USER-REACTION/fix_bond_react.cpp | 0 src/USER-REACTION/fix_bond_react.h | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 doc/src/fix_bond_react.rst mode change 100755 => 100644 src/USER-REACTION/fix_bond_react.cpp mode change 100755 => 100644 src/USER-REACTION/fix_bond_react.h diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst old mode 100755 new mode 100644 diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp old mode 100755 new mode 100644 diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h old mode 100755 new mode 100644 From 5036adeff0d009afcc12090b870c5e03753b9a18 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 19:19:13 -0500 Subject: [PATCH 078/132] timestep processing functions must use bigint instead of int --- src/variable.cpp | 114 +++++++++++++++++++++++------------------------ 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 7cce6546bc..556633c4e0 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -3040,28 +3040,28 @@ double Variable::eval_tree(Tree *tree, int i) } if (tree->type == STAGGER) { - int ivalue1 = static_cast (eval_tree(tree->first,i)); - int ivalue2 = static_cast (eval_tree(tree->second,i)); + bigint ivalue1 = static_cast (eval_tree(tree->first,i)); + bigint ivalue2 = static_cast (eval_tree(tree->second,i)); if (ivalue1 <= 0 || ivalue2 <= 0 || ivalue1 <= ivalue2) error->one(FLERR,"Invalid math function in variable formula"); - int lower = update->ntimestep/ivalue1 * ivalue1; - int delta = update->ntimestep - lower; + bigint lower = update->ntimestep/ivalue1 * ivalue1; + bigint delta = update->ntimestep - lower; if (delta < ivalue2) arg = lower+ivalue2; else arg = lower+ivalue1; return arg; } if (tree->type == LOGFREQ) { - int ivalue1 = static_cast (eval_tree(tree->first,i)); - int ivalue2 = static_cast (eval_tree(tree->second,i)); - int ivalue3 = static_cast (eval_tree(tree->extra[0],i)); + bigint ivalue1 = static_cast (eval_tree(tree->first,i)); + bigint ivalue2 = static_cast (eval_tree(tree->second,i)); + bigint ivalue3 = static_cast (eval_tree(tree->extra[0],i)); if (ivalue1 <= 0 || ivalue2 <= 0 || ivalue3 <= 0 || ivalue2 >= ivalue3) error->one(FLERR,"Invalid math function in variable formula"); if (update->ntimestep < ivalue1) arg = ivalue1; else { - int lower = ivalue1; + bigint lower = ivalue1; while (update->ntimestep >= ivalue3*lower) lower *= ivalue3; - int multiple = update->ntimestep/lower; + bigint multiple = update->ntimestep/lower; if (multiple < ivalue2) arg = (multiple+1)*lower; else arg = lower*ivalue3; } @@ -3069,16 +3069,16 @@ double Variable::eval_tree(Tree *tree, int i) } if (tree->type == LOGFREQ2) { - int ivalue1 = static_cast (eval_tree(tree->first,i)); - int ivalue2 = static_cast (eval_tree(tree->second,i)); - int ivalue3 = static_cast (eval_tree(tree->extra[0],i)); + bigint ivalue1 = static_cast (eval_tree(tree->first,i)); + bigint ivalue2 = static_cast (eval_tree(tree->second,i)); + bigint ivalue3 = static_cast (eval_tree(tree->extra[0],i)); if (ivalue1 <= 0 || ivalue2 <= 0 || ivalue3 <= 0 ) error->all(FLERR,"Invalid math function in variable formula"); if (update->ntimestep < ivalue1) arg = ivalue1; else { arg = ivalue1; double delta = ivalue1*(ivalue3-1.0)/ivalue2; - int count = 0; + bigint count = 0; while (update->ntimestep >= arg) { arg += delta; count++; @@ -3090,14 +3090,14 @@ double Variable::eval_tree(Tree *tree, int i) } if (tree->type == STRIDE) { - int ivalue1 = static_cast (eval_tree(tree->first,i)); - int ivalue2 = static_cast (eval_tree(tree->second,i)); - int ivalue3 = static_cast (eval_tree(tree->extra[0],i)); + bigint ivalue1 = static_cast (eval_tree(tree->first,i)); + bigint ivalue2 = static_cast (eval_tree(tree->second,i)); + bigint ivalue3 = static_cast (eval_tree(tree->extra[0],i)); if (ivalue1 < 0 || ivalue2 < 0 || ivalue3 <= 0 || ivalue1 > ivalue2) error->one(FLERR,"Invalid math function in variable formula"); if (update->ntimestep < ivalue1) arg = ivalue1; else if (update->ntimestep < ivalue2) { - int offset = update->ntimestep - ivalue1; + bigint offset = update->ntimestep - ivalue1; arg = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; if (arg > ivalue2) arg = (double) MAXBIGINT; } else arg = (double) MAXBIGINT; @@ -3105,12 +3105,12 @@ double Variable::eval_tree(Tree *tree, int i) } if (tree->type == STRIDE2) { - int ivalue1 = static_cast (eval_tree(tree->first,i)); - int ivalue2 = static_cast (eval_tree(tree->second,i)); - int ivalue3 = static_cast (eval_tree(tree->extra[0],i)); - int ivalue4 = static_cast (eval_tree(tree->extra[1],i)); - int ivalue5 = static_cast (eval_tree(tree->extra[2],i)); - int ivalue6 = static_cast (eval_tree(tree->extra[3],i)); + bigint ivalue1 = static_cast (eval_tree(tree->first,i)); + bigint ivalue2 = static_cast (eval_tree(tree->second,i)); + bigint ivalue3 = static_cast (eval_tree(tree->extra[0],i)); + bigint ivalue4 = static_cast (eval_tree(tree->extra[1],i)); + bigint ivalue5 = static_cast (eval_tree(tree->extra[2],i)); + bigint ivalue6 = static_cast (eval_tree(tree->extra[3],i)); if (ivalue1 < 0 || ivalue2 < 0 || ivalue3 <= 0 || ivalue1 > ivalue2) error->one(FLERR,"Invalid math function in variable formula"); if (ivalue4 < 0 || ivalue5 < 0 || ivalue6 <= 0 || ivalue4 > ivalue5) @@ -3121,15 +3121,15 @@ double Variable::eval_tree(Tree *tree, int i) if (update->ntimestep < ivalue1) istep = ivalue1; else if (update->ntimestep < ivalue2) { if (update->ntimestep < ivalue4 || update->ntimestep > ivalue5) { - int offset = update->ntimestep - ivalue1; + bigint offset = update->ntimestep - ivalue1; istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; if (update->ntimestep < ivalue2 && istep > ivalue4) tree->value = ivalue4; } else { - int offset = update->ntimestep - ivalue4; + bigint offset = update->ntimestep - ivalue4; istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; if (istep > ivalue5) { - int offset = ivalue5 - ivalue1; + bigint offset = ivalue5 - ivalue1; istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; if (istep > ivalue2) istep = MAXBIGINT; } @@ -3571,12 +3571,12 @@ int Variable::math_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (tree) newtree->type = STAGGER; else { - int ivalue1 = static_cast (value1); - int ivalue2 = static_cast (value2); + bigint ivalue1 = static_cast (value1); + bigint ivalue2 = static_cast (value2); if (ivalue1 <= 0 || ivalue2 <= 0 || ivalue1 <= ivalue2) print_var_error(FLERR,"Invalid math function in variable formula",ivar); - int lower = update->ntimestep/ivalue1 * ivalue1; - int delta = update->ntimestep - lower; + bigint lower = update->ntimestep/ivalue1 * ivalue1; + bigint delta = update->ntimestep - lower; double value; if (delta < ivalue2) value = lower+ivalue2; else value = lower+ivalue1; @@ -3588,17 +3588,17 @@ int Variable::math_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (tree) newtree->type = LOGFREQ; else { - int ivalue1 = static_cast (value1); - int ivalue2 = static_cast (value2); - int ivalue3 = static_cast (values[0]); + bigint ivalue1 = static_cast (value1); + bigint ivalue2 = static_cast (value2); + bigint ivalue3 = static_cast (values[0]); if (ivalue1 <= 0 || ivalue2 <= 0 || ivalue3 <= 0 || ivalue2 >= ivalue3) print_var_error(FLERR,"Invalid math function in variable formula",ivar); double value; if (update->ntimestep < ivalue1) value = ivalue1; else { - int lower = ivalue1; + bigint lower = ivalue1; while (update->ntimestep >= ivalue3*lower) lower *= ivalue3; - int multiple = update->ntimestep/lower; + bigint multiple = update->ntimestep/lower; if (multiple < ivalue2) value = (multiple+1)*lower; else value = lower*ivalue3; } @@ -3610,9 +3610,9 @@ int Variable::math_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (tree) newtree->type = LOGFREQ2; else { - int ivalue1 = static_cast (value1); - int ivalue2 = static_cast (value2); - int ivalue3 = static_cast (values[0]); + bigint ivalue1 = static_cast (value1); + bigint ivalue2 = static_cast (value2); + bigint ivalue3 = static_cast (values[0]); if (ivalue1 <= 0 || ivalue2 <= 0 || ivalue3 <= 0 ) print_var_error(FLERR,"Invalid math function in variable formula",ivar); double value; @@ -3620,7 +3620,7 @@ int Variable::math_function(char *word, char *contents, Tree **tree, else { value = ivalue1; double delta = ivalue1*(ivalue3-1.0)/ivalue2; - int count = 0; + bigint count = 0; while (update->ntimestep >= value) { value += delta; count++; @@ -3635,9 +3635,9 @@ int Variable::math_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (tree) newtree->type = LOGFREQ3; else { - int ivalue1 = static_cast (value1); - int ivalue2 = static_cast (value2); - int ivalue3 = static_cast (values[0]); + bigint ivalue1 = static_cast (value1); + bigint ivalue2 = static_cast (value2); + bigint ivalue3 = static_cast (values[0]); if (ivalue1 <= 0 || ivalue2 <= 1 || ivalue3 <= 0 || ivalue3-ivalue1+1 < ivalue2 ) print_var_error(FLERR,"Invalid math function in variable formula",ivar); @@ -3648,12 +3648,12 @@ int Variable::math_function(char *word, char *contents, Tree **tree, value = ivalue1; double logsp = ivalue1; double factor = pow(((double)ivalue3)/ivalue1, 1.0/(ivalue2-1)); - int linsp = ivalue1; + bigint linsp = ivalue1; while (update->ntimestep >= value) { logsp *= factor; linsp++; if (linsp > logsp) value = linsp; - else value = ceil(logsp)-(((int)ceil(logsp)-1)/ivalue3); + else value = ceil(logsp)-(((bigint)ceil(logsp)-1)/ivalue3); } } if (update->ntimestep > ivalue3) @@ -3666,15 +3666,15 @@ int Variable::math_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (tree) newtree->type = STRIDE; else { - int ivalue1 = static_cast (value1); - int ivalue2 = static_cast (value2); - int ivalue3 = static_cast (values[0]); + bigint ivalue1 = static_cast (value1); + bigint ivalue2 = static_cast (value2); + bigint ivalue3 = static_cast (values[0]); if (ivalue1 < 0 || ivalue2 < 0 || ivalue3 <= 0 || ivalue1 > ivalue2) error->one(FLERR,"Invalid math function in variable formula"); double value; if (update->ntimestep < ivalue1) value = ivalue1; else if (update->ntimestep < ivalue2) { - int offset = update->ntimestep - ivalue1; + bigint offset = update->ntimestep - ivalue1; value = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; if (value > ivalue2) value = (double) MAXBIGINT; } else value = (double) MAXBIGINT; @@ -3686,12 +3686,12 @@ int Variable::math_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (tree) newtree->type = STRIDE2; else { - int ivalue1 = static_cast (value1); - int ivalue2 = static_cast (value2); - int ivalue3 = static_cast (values[0]); - int ivalue4 = static_cast (values[1]); - int ivalue5 = static_cast (values[2]); - int ivalue6 = static_cast (values[3]); + bigint ivalue1 = static_cast (value1); + bigint ivalue2 = static_cast (value2); + bigint ivalue3 = static_cast (values[0]); + bigint ivalue4 = static_cast (values[1]); + bigint ivalue5 = static_cast (values[2]); + bigint ivalue6 = static_cast (values[3]); if (ivalue1 < 0 || ivalue2 < 0 || ivalue3 <= 0 || ivalue1 > ivalue2) error->one(FLERR,"Invalid math function in variable formula"); if (ivalue4 < 0 || ivalue5 < 0 || ivalue6 <= 0 || ivalue4 > ivalue5) @@ -3702,14 +3702,14 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (update->ntimestep < ivalue1) istep = ivalue1; else if (update->ntimestep < ivalue2) { if (update->ntimestep < ivalue4 || update->ntimestep > ivalue5) { - int offset = update->ntimestep - ivalue1; + bigint offset = update->ntimestep - ivalue1; istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; if (update->ntimestep < ivalue4 && istep > ivalue4) istep = ivalue4; } else { - int offset = update->ntimestep - ivalue4; + bigint offset = update->ntimestep - ivalue4; istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; if (istep > ivalue5) { - int offset = ivalue5 - ivalue1; + bigint offset = ivalue5 - ivalue1; istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; if (istep > ivalue2) istep = MAXBIGINT; } From e223ea3784cbe7b7a8616e763405b90f6335af55 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 19:41:17 -0500 Subject: [PATCH 079/132] cast timestep related expressions to bigint before they can overflow --- src/fix_ave_atom.cpp | 6 +++--- src/fix_ave_chunk.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fix_ave_atom.cpp b/src/fix_ave_atom.cpp index 7182855766..affdf001f9 100644 --- a/src/fix_ave_atom.cpp +++ b/src/fix_ave_atom.cpp @@ -374,7 +374,7 @@ void FixAveAtom::end_of_step() } irepeat = 0; - nvalid = ntimestep+peratom_freq - (nrepeat-1)*nevery; + nvalid = ntimestep+peratom_freq - ((bigint)nrepeat-1)*nevery; modify->addstep_compute(nvalid); if (array == nullptr) return; @@ -394,7 +394,7 @@ void FixAveAtom::end_of_step() double FixAveAtom::memory_usage() { double bytes; - bytes = atom->nmax*nvalues * sizeof(double); + bytes = (double)atom->nmax*nvalues * sizeof(double); return bytes; } @@ -452,7 +452,7 @@ bigint FixAveAtom::nextvalid() if (nvalid-peratom_freq == update->ntimestep && nrepeat == 1) nvalid = update->ntimestep; else - nvalid -= (nrepeat-1)*nevery; + nvalid -= ((bigint)nrepeat-1)*nevery; if (nvalid < update->ntimestep) nvalid += peratom_freq; return nvalid; } diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index c65e0030c5..d13d46fc20 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -583,7 +583,7 @@ void FixAveChunk::end_of_step() } allocate(); if (nrepeat > 1 && ave == ONE) - cchunk->lock(this,ntimestep,ntimestep+(nrepeat-1)*nevery); + cchunk->lock(this,ntimestep,ntimestep+((bigint)nrepeat-1)*nevery); else if ((ave == RUNNING || ave == WINDOW) && !lockforever) { cchunk->lock(this,update->ntimestep,-1); lockforever = 1; @@ -841,7 +841,7 @@ void FixAveChunk::end_of_step() } irepeat = 0; - nvalid = ntimestep+nfreq - (nrepeat-1)*nevery; + nvalid = ntimestep+nfreq - ((bigint)nrepeat-1)*nevery; modify->addstep_compute(nvalid); // unlock compute chunk/atom at end of Nfreq epoch @@ -1120,7 +1120,7 @@ bigint FixAveChunk::nextvalid() if (nvalid-nfreq == update->ntimestep && nrepeat == 1) nvalid = update->ntimestep; else - nvalid -= (nrepeat-1)*nevery; + nvalid -= ((bigint)nrepeat-1)*nevery; if (nvalid < update->ntimestep) nvalid += nfreq; return nvalid; } From 12f49c4c89616c2f7adfe4eea582717db8f5a6ce Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 19:42:07 -0500 Subject: [PATCH 080/132] avoid overflow when computing memory address offsets on 64-bit machines --- src/fix_store.cpp | 4 ++-- src/irregular.cpp | 4 ++-- src/my_pool_chunk.cpp | 10 +++++----- src/pair_table.cpp | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/fix_store.cpp b/src/fix_store.cpp index 9df9fcd3bd..f979cf9da0 100644 --- a/src/fix_store.cpp +++ b/src/fix_store.cpp @@ -167,8 +167,8 @@ void FixStore::write_restart(FILE *fp) rbuf[0] = nrow; rbuf[1] = ncol; - if (vecflag) memcpy(&rbuf[2],vstore,nrow*sizeof(double)); - else memcpy(&rbuf[2],&astore[0][0],nrow*ncol*sizeof(double)); + if (vecflag) memcpy(&rbuf[2],vstore,sizeof(double)*nrow); + else memcpy(&rbuf[2],&astore[0][0],sizeof(double)*nrow*ncol); int n = nrow*ncol + 2; if (comm->me == 0) { diff --git a/src/irregular.cpp b/src/irregular.cpp index 330a96f514..c1c4ff44fb 100644 --- a/src/irregular.cpp +++ b/src/irregular.cpp @@ -930,11 +930,11 @@ void Irregular::exchange_data(char *sendbuf, int nbytes, char *recvbuf) // post all receives, starting after self copies - bigint offset = num_self*(bigint)nbytes; + bigint offset = (bigint)num_self*(bigint)nbytes; for (int irecv = 0; irecv < nrecv_proc; irecv++) { MPI_Irecv(&recvbuf[offset],num_recv[irecv]*nbytes,MPI_CHAR, proc_recv[irecv],0,world,&request[irecv]); - offset += num_recv[irecv]*nbytes; + offset += (bigint)num_recv[irecv]*nbytes; } // reallocate buf for largest send if necessary diff --git a/src/my_pool_chunk.cpp b/src/my_pool_chunk.cpp index 8bf40840fe..d866804adc 100644 --- a/src/my_pool_chunk.cpp +++ b/src/my_pool_chunk.cpp @@ -174,9 +174,9 @@ template void MyPoolChunk::allocate(int ibin) { int oldpage = npage; npage += pagedelta; - freelist = (int *) realloc(freelist,npage*chunkperpage*sizeof(int)); - pages = (T **) realloc(pages,npage*sizeof(T *)); - whichbin = (int *) realloc(whichbin,npage*sizeof(int)); + freelist = (int *) realloc(freelist,sizeof(int)*npage*chunkperpage); + pages = (T **) realloc(pages,sizeof(T *)*npage); + whichbin = (int *) realloc(whichbin,sizeof(int)*npage); if (!freelist || !pages) { errorflag = 2; return; @@ -189,11 +189,11 @@ void MyPoolChunk::allocate(int ibin) { #if defined(LAMMPS_MEMALIGN) void *ptr; if (posix_memalign(&ptr, LAMMPS_MEMALIGN, - chunkperpage*chunksize[ibin]*sizeof(T))) + sizeof(T)*chunkperpage*chunksize[ibin])) errorflag = 2; pages[i] = (T *) ptr; #else - pages[i] = (T *) malloc(chunkperpage*chunksize[ibin]*sizeof(T)); + pages[i] = (T *) malloc(sizeof(T)*chunkperpage*chunksize[ibin]); if (!pages[i]) errorflag = 2; #endif } diff --git a/src/pair_table.cpp b/src/pair_table.cpp index 124e9139ec..7e331a16a4 100644 --- a/src/pair_table.cpp +++ b/src/pair_table.cpp @@ -195,9 +195,9 @@ void PairTable::allocate() memory->create(cutsq,nt,nt,"pair:cutsq"); memory->create(tabindex,nt,nt,"pair:tabindex"); - memset(&setflag[0][0],0,nt*nt*sizeof(int)); - memset(&cutsq[0][0],0,nt*nt*sizeof(double)); - memset(&tabindex[0][0],0,nt*nt*sizeof(int)); + memset(&setflag[0][0],0,sizeof(int)*nt*nt); + memset(&cutsq[0][0],0,sizeof(double)*nt*nt); + memset(&tabindex[0][0],0,sizeof(int)*nt*nt); } /* ---------------------------------------------------------------------- From 26037982bce6cb962aed34ec469b8bf9ff0d8a97 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Feb 2021 19:42:40 -0500 Subject: [PATCH 081/132] convert to double early when computing memory usage --- src/QEQ/fix_qeq.cpp | 2 +- src/USER-DIFFRACTION/compute_xrd.cpp | 2 +- src/USER-MISC/pair_gauss_cut.cpp | 4 ++-- src/USER-REAXC/fix_qeq_reax.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 1ad01e5c4e..a63e008b36 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -524,7 +524,7 @@ double FixQEq::memory_usage() { double bytes; - bytes = atom->nmax*nprev*2 * sizeof(double); // s_hist & t_hist + bytes = (double)atom->nmax*nprev*2 * sizeof(double); // s_hist & t_hist bytes += (double)atom->nmax*11 * sizeof(double); // storage bytes += (double)n_cap*2 * sizeof(int); // matrix... bytes += (double)m_cap * sizeof(int); diff --git a/src/USER-DIFFRACTION/compute_xrd.cpp b/src/USER-DIFFRACTION/compute_xrd.cpp index 7c3cb28e49..a077df0183 100644 --- a/src/USER-DIFFRACTION/compute_xrd.cpp +++ b/src/USER-DIFFRACTION/compute_xrd.cpp @@ -524,7 +524,7 @@ void ComputeXRD::compute_array() double ComputeXRD::memory_usage() { - double bytes = size_array_rows * size_array_cols * sizeof(double); //array + double bytes = (double)size_array_rows * size_array_cols * sizeof(double); //array bytes += (double) 4.0 * size_array_rows * sizeof(double); //Fvec1 & 2, scratch1 & 2 bytes += (double)3.0 * nlocalgroup * sizeof(double); // xlocal bytes += (double)nlocalgroup * sizeof(int); // typelocal diff --git a/src/USER-MISC/pair_gauss_cut.cpp b/src/USER-MISC/pair_gauss_cut.cpp index 80101b8f97..85f4446358 100644 --- a/src/USER-MISC/pair_gauss_cut.cpp +++ b/src/USER-MISC/pair_gauss_cut.cpp @@ -392,8 +392,8 @@ double PairGaussCut::memory_usage() double bytes = Pair::memory_usage(); - bytes += (double)7*((n+1)*(n+1) * sizeof(double) + (n+1)*sizeof(double *)); - bytes += (double)1*((n+1)*(n+1) * sizeof(int) + (n+1)*sizeof(int *)); + bytes += 7.0*((n+1.0)*(n+1.0) * sizeof(double) + (n+1.0)*sizeof(double *)); + bytes += 1.0*((n+1.0)*(n+1.0) * sizeof(int) + (n+1.0)*sizeof(int *)); return bytes; } diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index dd978c7582..355cbbb770 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -899,7 +899,7 @@ double FixQEqReax::memory_usage() { double bytes; - bytes = atom->nmax*nprev*2 * sizeof(double); // s_hist & t_hist + bytes = (double)atom->nmax*nprev*2 * sizeof(double); // s_hist & t_hist bytes += (double)atom->nmax*11 * sizeof(double); // storage bytes += (double)n_cap*2 * sizeof(int); // matrix... bytes += (double)m_cap * sizeof(int); From 1380b7b142ab1bf2b510cd21a0c3056405f44a86 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 6 Feb 2021 18:04:41 -0500 Subject: [PATCH 082/132] replace (temporary) long double with double. --- src/KSPACE/pppm_disp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 28aa68ff14..b6f05606b6 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -742,8 +742,8 @@ void PPPMDisp::setup() fkz2_6[i] = unitkz*per; } double sqk,vterm; - long double erft,expt,nom,denom; - long double b,bs,bt; + double erft,expt,nom,denom; + double b,bs,bt; double rtpi = sqrt(MY_PI); double gewinv = 1/g_ewald_6; n = 0; From 77402bdbc877746eacb5a9e2f4d4ea422bd50eff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 6 Feb 2021 18:12:47 -0500 Subject: [PATCH 083/132] avoid overflows when computing memory offsets and allocating memory --- src/KSPACE/remap.cpp | 2 +- src/OPT/pair_eam_opt.cpp | 4 ++-- src/USER-DPD/pair_multi_lucy.cpp | 6 +++--- src/USER-DPD/pair_multi_lucy_rx.cpp | 6 +++--- src/USER-MISC/fix_imd.cpp | 4 ++-- src/USER-MISC/fix_ttm_mod.cpp | 2 +- src/USER-PHONON/fix_phonon.cpp | 2 +- src/USER-REAXC/reaxc_allocate.cpp | 4 ++-- src/angle_hybrid.cpp | 2 +- src/bond_hybrid.cpp | 2 +- src/comm.cpp | 9 +++++---- src/compute_orientorder_atom.cpp | 2 +- src/memory.h | 10 +++++----- 13 files changed, 28 insertions(+), 27 deletions(-) diff --git a/src/KSPACE/remap.cpp b/src/KSPACE/remap.cpp index c3c3703d1d..ab2ec687d7 100644 --- a/src/KSPACE/remap.cpp +++ b/src/KSPACE/remap.cpp @@ -597,7 +597,7 @@ struct remap_plan_3d *remap_3d_create_plan( if (memory == 1) { if (nrecv > 0) { plan->scratch = - (FFT_SCALAR *) malloc(nqty*out.isize*out.jsize*out.ksize * + (FFT_SCALAR *) malloc((size_t)nqty*out.isize*out.jsize*out.ksize * sizeof(FFT_SCALAR)); if (plan->scratch == nullptr) return nullptr; } diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index c7d3541e67..67923515c9 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -112,7 +112,7 @@ void PairEAMOpt::eval() int ntypes2 = ntypes*ntypes; fast_alpha_t* _noalias fast_alpha = - (fast_alpha_t*) malloc(ntypes2*(nr+1)*sizeof(fast_alpha_t)); + (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++) { fast_alpha_t* _noalias tab = &fast_alpha[i*ntypes*nr+j*nr]; if (type2rhor[i+1][j+1] >= 0) { @@ -135,7 +135,7 @@ void PairEAMOpt::eval() fast_alpha_t* _noalias tabeight = fast_alpha; fast_gamma_t* _noalias fast_gamma = - (fast_gamma_t*) malloc(ntypes2*(nr+1)*sizeof(fast_gamma_t)); + (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++) { fast_gamma_t* _noalias tab = &fast_gamma[i*ntypes*nr+j*nr]; if (type2rhor[i+1][j+1] >= 0) { diff --git a/src/USER-DPD/pair_multi_lucy.cpp b/src/USER-DPD/pair_multi_lucy.cpp index 11bc1c7ba5..70ea8b40ad 100644 --- a/src/USER-DPD/pair_multi_lucy.cpp +++ b/src/USER-DPD/pair_multi_lucy.cpp @@ -221,9 +221,9 @@ void PairMultiLucy::allocate() memory->create(cutsq,nt,nt,"pair:cutsq"); memory->create(tabindex,nt,nt,"pair:tabindex"); - memset(&setflag[0][0],0,nt*nt*sizeof(int)); - memset(&cutsq[0][0],0,nt*nt*sizeof(double)); - memset(&tabindex[0][0],0,nt*nt*sizeof(int)); + memset(&setflag[0][0],0,sizeof(int)*nt*nt); + memset(&cutsq[0][0],0,sizeof(double)*nt*nt); + memset(&tabindex[0][0],0,sizeof(int)*nt*nt); } /* ---------------------------------------------------------------------- diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/USER-DPD/pair_multi_lucy_rx.cpp index e1a263b7dc..bd720ae138 100644 --- a/src/USER-DPD/pair_multi_lucy_rx.cpp +++ b/src/USER-DPD/pair_multi_lucy_rx.cpp @@ -310,9 +310,9 @@ void PairMultiLucyRX::allocate() memory->create(cutsq,nt,nt,"pair:cutsq"); memory->create(tabindex,nt,nt,"pair:tabindex"); - memset(&setflag[0][0],0,nt*nt*sizeof(int)); - memset(&cutsq[0][0],0,nt*nt*sizeof(double)); - memset(&tabindex[0][0],0,nt*nt*sizeof(int)); + memset(&setflag[0][0],0,sizeof(int)*nt*nt); + memset(&cutsq[0][0],0,sizeof(double)*nt*nt); + memset(&tabindex[0][0],0,sizeof(int)*nt*nt); } /* ---------------------------------------------------------------------- diff --git a/src/USER-MISC/fix_imd.cpp b/src/USER-MISC/fix_imd.cpp index 0da5b29b62..8796de289e 100644 --- a/src/USER-MISC/fix_imd.cpp +++ b/src/USER-MISC/fix_imd.cpp @@ -919,7 +919,7 @@ void FixIMD::post_force(int /*vflag*/) if (imd_forces < length) { /* grow holding space for forces, if needed. */ memory->destroy(force_buf); - force_buf = (void *) memory->smalloc(length*size_one, + force_buf = (void *) memory->smalloc((bigint)length*size_one, "imd:force_buf"); } imd_forces = length; @@ -960,7 +960,7 @@ void FixIMD::post_force(int /*vflag*/) if (old_imd_forces < imd_forces) { /* grow holding space for forces, if needed. */ if (force_buf != nullptr) memory->sfree(force_buf); - force_buf = memory->smalloc(imd_forces*size_one, "imd:force_buf"); + force_buf = memory->smalloc((bigint)imd_forces*size_one, "imd:force_buf"); } } MPI_Bcast(force_buf, imd_forces*size_one, MPI_BYTE, 0, world); diff --git a/src/USER-MISC/fix_ttm_mod.cpp b/src/USER-MISC/fix_ttm_mod.cpp index 9cac1c02b2..7056ad6a00 100644 --- a/src/USER-MISC/fix_ttm_mod.cpp +++ b/src/USER-MISC/fix_ttm_mod.cpp @@ -136,7 +136,7 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : gfactor1 = new double[atom->ntypes+1]; gfactor2 = new double[atom->ntypes+1]; // allocate 3d grid variables - total_nnodes = nxnodes*nynodes*nznodes; + total_nnodes = (bigint)nxnodes*nynodes*nznodes; memory->create(nsum,nxnodes,nynodes,nznodes,"ttm/mod:nsum"); memory->create(nsum_all,nxnodes,nynodes,nznodes,"ttm/mod:nsum_all"); memory->create(sum_vsq,nxnodes,nynodes,nznodes,"ttm/mod:sum_vsq"); diff --git a/src/USER-PHONON/fix_phonon.cpp b/src/USER-PHONON/fix_phonon.cpp index 455ca80b12..30fb7baad5 100644 --- a/src/USER-PHONON/fix_phonon.cpp +++ b/src/USER-PHONON/fix_phonon.cpp @@ -723,7 +723,7 @@ void FixPhonon::postprocess( ) fwrite(&nucell, sizeof(int), 1, fp_bin); fwrite(&boltz, sizeof(double), 1, fp_bin); - fwrite(Phi_all[0],sizeof(double),ntotal*fft_dim2*2,fp_bin); + fwrite(Phi_all[0],sizeof(double),(bigint)ntotal*fft_dim2*2,fp_bin); fwrite(&TempAve, sizeof(double),1, fp_bin); fwrite(&basevec[0], sizeof(double),9, fp_bin); diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index f043dc85d6..9ba92b9dfa 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -302,10 +302,10 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, // storage for reductions with multiple threads #ifdef LMP_USER_OMP - workspace->CdDeltaReduction = (double *) scalloc(control->error_ptr, sizeof(double), total_cap*control->nthreads, + workspace->CdDeltaReduction = (double *) scalloc(control->error_ptr, sizeof(double), (rc_bigint)total_cap*control->nthreads, "cddelta_reduce"); - workspace->forceReduction = (rvec *) scalloc(control->error_ptr, sizeof(rvec), total_cap*control->nthreads, + workspace->forceReduction = (rvec *) scalloc(control->error_ptr, sizeof(rvec), (rc_bigint)total_cap*control->nthreads, "forceReduction"); workspace->valence_angle_atom_myoffset = (int *) scalloc(control->error_ptr, sizeof(int), total_cap, "valence_angle_atom_myoffset"); diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index 1e4ade3ca8..d7e3051b90 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -113,7 +113,7 @@ void AngleHybrid::compute(int eflag, int vflag) const int nthreads = comm->nthreads; if (comm->nthreads > 1) { - const int nall = atom->nlocal + atom->nghost; + const bigint nall = atom->nlocal + atom->nghost; if (eflag_atom) memset(&eatom[0],0,nall*nthreads*sizeof(double)); if (vflag_atom) diff --git a/src/bond_hybrid.cpp b/src/bond_hybrid.cpp index 3a6bb4b7de..f1debc0676 100644 --- a/src/bond_hybrid.cpp +++ b/src/bond_hybrid.cpp @@ -113,7 +113,7 @@ void BondHybrid::compute(int eflag, int vflag) const int nthreads = comm->nthreads; if (nthreads > 1) { - const int nall = atom->nlocal + atom->nghost; + const bigint nall = atom->nlocal + atom->nghost; if (eflag_atom) memset(&eatom[0],0,nall*nthreads*sizeof(double)); if (vflag_atom) diff --git a/src/comm.cpp b/src/comm.cpp index 77d1ade148..8e119744fc 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -979,7 +979,7 @@ rendezvous_all2all(int n, char *inbuf, int insize, int inorder, int *procs, offsets[0] = 0; for (int i = 1; i < nprocs; i++) - offsets[i] = offsets[i-1] + insize*procs_a2a[i-1]; + offsets[i] = offsets[i-1] + (bigint)insize*procs_a2a[i-1]; bigint offset = 0; for (int i = 0; i < n; i++) { @@ -989,7 +989,8 @@ rendezvous_all2all(int n, char *inbuf, int insize, int inorder, int *procs, offset += insize; } - all2all1_bytes = nprocs*sizeof(int) + nprocs*sizeof(bigint) + n*insize; + all2all1_bytes = nprocs*sizeof(int) + nprocs*sizeof(bigint) + + (bigint)n*insize; } else { procs_a2a = procs; @@ -1085,7 +1086,7 @@ rendezvous_all2all(int n, char *inbuf, int insize, int inorder, int *procs, offsets[0] = 0; for (int i = 1; i < nprocs; i++) - offsets[i] = offsets[i-1] + outsize*procs_a2a[i-1]; + offsets[i] = offsets[i-1] + (bigint)outsize*procs_a2a[i-1]; bigint offset = 0; for (int i = 0; i < nrvous_out; i++) { @@ -1096,7 +1097,7 @@ rendezvous_all2all(int n, char *inbuf, int insize, int inorder, int *procs, } all2all2_bytes = nprocs*sizeof(int) + nprocs*sizeof(bigint) + - nrvous_out*outsize; + (bigint)nrvous_out*outsize; } else { procs_a2a = procs_rvous; diff --git a/src/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp index eb5a96b706..8a836a97b8 100644 --- a/src/compute_orientorder_atom.cpp +++ b/src/compute_orientorder_atom.cpp @@ -258,7 +258,7 @@ void ComputeOrientOrderAtom::compute_peratom() double **x = atom->x; int *mask = atom->mask; - memset(&qnarray[0][0],0,nmax*ncol*sizeof(double)); + memset(&qnarray[0][0],0,sizeof(double)*nmax*ncol); for (ii = 0; ii < inum; ii++) { i = ilist[ii]; diff --git a/src/memory.h b/src/memory.h index 64685feac0..d85eb64a36 100644 --- a/src/memory.h +++ b/src/memory.h @@ -410,18 +410,18 @@ class Memory : protected Pointers { nbytes = ((bigint) sizeof(TYPE ***)) * n1; array = (TYPE ****) smalloc(nbytes,name); - int i,j,k; + bigint i,j,k; bigint m1,m2; bigint n = 0; for (i = 0; i < n1; i++) { - m2 = ((bigint) i) * n2; + m2 = i * n2; array[i] = &plane[m2]; for (j = 0; j < n2; j++) { - m1 = ((bigint) i) * n2 + j; - m2 = ((bigint) i) * n2*n3 + j*n3; + m1 = i * n2 + j; + m2 = i * n2*n3 + j*n3; plane[m1] = &cube[m2]; for (k = 0; k < n3; k++) { - m1 = ((bigint) i) * n2*n3 + j*n3 + k; + m1 = i * n2*n3 + j*n3 + k; cube[m1] = &data[n]; n += n4; } From 779bbd0853b8be4530b25bfdc31ca4b4df2730a3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 6 Feb 2021 18:15:24 -0500 Subject: [PATCH 084/132] avoid overflows when computing time or timestep related values --- src/GRANULAR/fix_pour.cpp | 10 +++++----- src/REPLICA/prd.cpp | 2 +- src/USER-DIFFRACTION/fix_saed_vtk.cpp | 4 ++-- src/USER-OMP/reaxc_forces_omp.cpp | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index 9ecde81f53..54b7366003 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -263,7 +263,7 @@ FixPour::FixPour(LAMMPS *lmp, int narg, char **arg) : nper = static_cast (volfrac*volume/volume_one); if (nper == 0) error->all(FLERR,"Fix pour insertion count per timestep is 0"); - int nfinal = update->ntimestep + 1 + (ninsert-1)/nper * nfreq; + int nfinal = update->ntimestep + 1 + ((bigint)ninsert-1)/nper * nfreq; // print stats @@ -705,10 +705,10 @@ void FixPour::pre_exchange() if (atom->natoms < 0) error->all(FLERR,"Too many total atoms"); if (mode == MOLECULE) { - atom->nbonds += onemols[imol]->nbonds * ninserted_mols; - atom->nangles += onemols[imol]->nangles * ninserted_mols; - atom->ndihedrals += onemols[imol]->ndihedrals * ninserted_mols; - atom->nimpropers += onemols[imol]->nimpropers * ninserted_mols; + atom->nbonds += (bigint)onemols[imol]->nbonds * ninserted_mols; + atom->nangles += (bigint)onemols[imol]->nangles * ninserted_mols; + atom->ndihedrals += (bigint)onemols[imol]->ndihedrals * ninserted_mols; + atom->nimpropers += (bigint)onemols[imol]->nimpropers * ninserted_mols; } if (maxtag_all >= MAXTAGINT) error->all(FLERR,"New atom IDs exceed maximum allowed ID"); diff --git a/src/REPLICA/prd.cpp b/src/REPLICA/prd.cpp index bd9525ea10..de45116194 100644 --- a/src/REPLICA/prd.cpp +++ b/src/REPLICA/prd.cpp @@ -310,7 +310,7 @@ void PRD::command(int narg, char **arg) dynamics(t_event,time_dynamics); fix_event->store_state_quench(); quench(); - clock = clock + t_event*universe->nworlds; + clock += (bigint)t_event*universe->nworlds; ireplica = check_event(); if (ireplica >= 0) break; fix_event->restore_state_quench(); diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/USER-DIFFRACTION/fix_saed_vtk.cpp index 26bc4dc0a1..90eedb1127 100644 --- a/src/USER-DIFFRACTION/fix_saed_vtk.cpp +++ b/src/USER-DIFFRACTION/fix_saed_vtk.cpp @@ -343,7 +343,7 @@ void FixSAEDVTK::invoke_vector(bigint ntimestep) } irepeat = 0; - nvalid = ntimestep+nfreq - (nrepeat-1)*nevery; + nvalid = ntimestep+nfreq - ((bigint)nrepeat-1)*nevery; modify->addstep_compute(nvalid); // average the final result for the Nfreq timestep @@ -554,7 +554,7 @@ bigint FixSAEDVTK::nextvalid() if (nvalid-nfreq == update->ntimestep && nrepeat == 1) nvalid = update->ntimestep; else - nvalid -= (nrepeat-1)*nevery; + nvalid -= ((bigint)nrepeat-1)*nevery; if (nvalid < update->ntimestep) nvalid += nfreq; return nvalid; } diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 7fe6a41e9d..5eb939cf8c 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -145,7 +145,7 @@ void Compute_Total_ForceOMP( reax_system *system, control_params *control, int natoms = system->N; int nthreads = control->nthreads; - long totalReductionSize = system->N * nthreads; + long totalReductionSize = (bigint)system->N * nthreads; reax_list *bonds = (*lists) + BONDS; #if defined(_OPENMP) @@ -381,8 +381,8 @@ void Init_Forces_noQEq_OMP( reax_system *system, control_params *control, #else int tid = 0; #endif - long reductionOffset = system->N * tid; - long totalReductionSize = system->N * nthreads; + long reductionOffset = (bigint)system->N * tid; + long totalReductionSize = (bigint)system->N * nthreads; #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) reduction(+:num_bonds) From 1609c498bcd0f9caa3ef60dcf4d490982da0c248 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 6 Feb 2021 18:15:48 -0500 Subject: [PATCH 085/132] avoid integer overflow when computing memory usage --- src/MANYBODY/pair_vashishta_table.cpp | 3 +-- src/RIGID/fix_rigid.cpp | 4 ++-- src/RIGID/fix_rigid_small.cpp | 4 ++-- src/USER-MISC/fix_ave_correlate_long.cpp | 4 ++-- src/USER-MISC/fix_pimd.cpp | 4 +--- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/MANYBODY/pair_vashishta_table.cpp b/src/MANYBODY/pair_vashishta_table.cpp index 475710a396..76b44d8664 100644 --- a/src/MANYBODY/pair_vashishta_table.cpp +++ b/src/MANYBODY/pair_vashishta_table.cpp @@ -289,6 +289,5 @@ void PairVashishtaTable::create_tables() double PairVashishtaTable::memory_usage() { - double bytes = 2*nelements*nelements*sizeof(double)*ntable; - return bytes; + return (double)2*nelements*nelements*sizeof(double)*ntable; } diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 8a8456393c..53b1f4c897 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -2452,8 +2452,8 @@ double FixRigid::memory_usage() bytes += (double)maxvatom*6 * sizeof(double); // vatom if (extended) { bytes += (double)nmax * sizeof(int); - if (orientflag) bytes = nmax*orientflag * sizeof(double); - if (dorientflag) bytes = nmax*3 * sizeof(double); + if (orientflag) bytes = (double)nmax*orientflag * sizeof(double); + if (dorientflag) bytes = (double)nmax*3 * sizeof(double); } return bytes; } diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 8129526d9c..a33703efa4 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -3564,8 +3564,8 @@ double FixRigidSmall::memory_usage() bytes += (double)maxvatom*6 * sizeof(double); // vatom if (extended) { bytes += (double)nmax * sizeof(int); - if (orientflag) bytes = nmax*orientflag * sizeof(double); - if (dorientflag) bytes = nmax*3 * sizeof(double); + if (orientflag) bytes = (double)nmax*orientflag * sizeof(double); + if (dorientflag) bytes = (double)nmax*3 * sizeof(double); } bytes += (double)nmax_body * sizeof(Body); return bytes; diff --git a/src/USER-MISC/fix_ave_correlate_long.cpp b/src/USER-MISC/fix_ave_correlate_long.cpp index 2aafe9bac0..deeec0f1c7 100644 --- a/src/USER-MISC/fix_ave_correlate_long.cpp +++ b/src/USER-MISC/fix_ave_correlate_long.cpp @@ -702,8 +702,8 @@ double FixAveCorrelateLong::memory_usage() { // f: npair x numcorrelators x p double bytes = (4*npair*numcorrelators*p + 2*npair*numcorrelators + numcorrelators*p)*sizeof(double) - + numcorrelators*p*sizeof(unsigned long int) - + 2*numcorrelators*sizeof(unsigned int); + + (double)numcorrelators*p*sizeof(unsigned long int) + + 2.0*numcorrelators*sizeof(unsigned int); return bytes; } diff --git a/src/USER-MISC/fix_pimd.cpp b/src/USER-MISC/fix_pimd.cpp index 5571f1cf35..097eb0b28f 100644 --- a/src/USER-MISC/fix_pimd.cpp +++ b/src/USER-MISC/fix_pimd.cpp @@ -726,9 +726,7 @@ void FixPIMD::unpack_forward_comm(int n, int first, double *buf) double FixPIMD::memory_usage() { - double bytes = 0; - bytes = atom->nmax * size_peratom_cols * sizeof(double); - return bytes; + return (double)atom->nmax * size_peratom_cols * sizeof(double); } /* ---------------------------------------------------------------------- */ From 5573d01079d72885286e184fffa69da2cb91fbf1 Mon Sep 17 00:00:00 2001 From: Giacomo Fiorin Date: Sat, 6 Feb 2021 17:30:01 -0500 Subject: [PATCH 086/132] Use typecast to silence CodeQL warnings --- lib/colvars/colvargrid.cpp | 24 ++++++++++++------------ lib/colvars/colvargrid.h | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/colvars/colvargrid.cpp b/lib/colvars/colvargrid.cpp index 7c2fe3b33c..6cf2cdee45 100644 --- a/lib/colvars/colvargrid.cpp +++ b/lib/colvars/colvargrid.cpp @@ -423,8 +423,8 @@ void integrate_potential::atimes(const std::vector &A, std::vector(w - 1); // Follows right edge if (periodic[0]) { xm = h * (w - 1); xp = h; @@ -478,7 +478,7 @@ void integrate_potential::atimes(const std::vector &A, std::vector &A, std::vector(h); // Skip left slab fact = facty * factz; for (i=1; i &A, std::vector(w - 1); // Follows right slab if (periodic[0]) { xm = d * h * (w - 1); xp = d * h; @@ -639,8 +639,8 @@ void integrate_potential::atimes(const std::vector &A, std::vector(d - 1); // Follows back slab if (periodic[1]) { ym = h * (d - 1); yp = h; @@ -664,8 +664,8 @@ void integrate_potential::atimes(const std::vector &A, std::vector(d - 1); + index2 += h * static_cast(d - 1); } } else { ym = -h; @@ -691,8 +691,8 @@ void integrate_potential::atimes(const std::vector &A, std::vector(d - 1); + index2 += h * static_cast(d - 1); } } diff --git a/lib/colvars/colvargrid.h b/lib/colvars/colvargrid.h index 427e5b0825..17d049a6eb 100644 --- a/lib/colvars/colvargrid.h +++ b/lib/colvars/colvargrid.h @@ -59,7 +59,7 @@ protected: { size_t addr = 0; for (size_t i = 0; i < nd; i++) { - addr += ix[i]*nxc[i]; + addr += ix[i]*static_cast(nxc[i]); if (cvm::debug()) { if (ix[i] >= nx[i]) { cvm::error("Error: exceeding bounds in colvar_grid.\n", BUG_ERROR); From 7c1569459c664bcc45a98cac080187e5d2d8b841 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 6 Feb 2021 18:28:18 -0500 Subject: [PATCH 087/132] Step version strings for next patch release --- doc/lammps.1 | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 299f8538b0..12cff4eeec 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "24 December 2020" "2020-12-24" +.TH LAMMPS "9 February 2021" "2021-02-09" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. diff --git a/src/version.h b/src/version.h index f812b62821..c04929c145 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "24 Dec 2020" +#define LAMMPS_VERSION "9 Feb 2021" From 813429631128ee752fb50b237fa70ee9b69bad48 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 7 Feb 2021 09:39:07 -0500 Subject: [PATCH 088/132] fix typo --- doc/src/compute_reduce_chunk.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_reduce_chunk.rst b/doc/src/compute_reduce_chunk.rst index e63f4b7b54..342c6ceb05 100644 --- a/doc/src/compute_reduce_chunk.rst +++ b/doc/src/compute_reduce_chunk.rst @@ -30,7 +30,7 @@ Examples .. code-block:: LAMMPS - compute 1 all reduce/chunk/atom mychunk min c_cluster + compute 1 all reduce/chunk mychunk min c_cluster Description """"""""""" From 06e484d3e0a03e0a1bf3479ede1aa0c89876dced Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 7 Feb 2021 15:30:55 -0500 Subject: [PATCH 089/132] make flags for supporting GPU archs consistent, add ampere consumer GPU arch --- cmake/Modules/Packages/GPU.cmake | 4 ++-- lib/gpu/Makefile.cuda | 3 ++- lib/gpu/Makefile.cuda_mps | 3 ++- lib/gpu/Makefile.linux | 4 ++++ lib/gpu/Makefile.linux_multi | 17 ++++++++++++++++- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index 141b086592..4c52eee68b 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -97,9 +97,9 @@ if(GPU_API STREQUAL "CUDA") if(CUDA_VERSION VERSION_GREATER_EQUAL "10.0") string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]") endif() - # Ampere (GPU Arch 8.0) is supported by CUDA 11 and later + # Ampere (GPU Arch 8.0 and 8.6) is supported by CUDA 11 and later if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0") - string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]") + string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80] -gencode arch=compute_86,code=[sm_86,compute_86]") endif() if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0") message(WARNING "Unsupported CUDA version. Use at your own risk.") diff --git a/lib/gpu/Makefile.cuda b/lib/gpu/Makefile.cuda index b18e4620eb..e03b59979a 100644 --- a/lib/gpu/Makefile.cuda +++ b/lib/gpu/Makefile.cuda @@ -38,7 +38,8 @@ NVCC = nvcc CUDA_ARCH = -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] \ -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ - -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] \ + -gencode arch=compute_80,code=[sm_80,compute_80] -gencode arch=compute_86,code=[sm_86,compute_86] CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC diff --git a/lib/gpu/Makefile.cuda_mps b/lib/gpu/Makefile.cuda_mps index c6e5202adc..172640ce6a 100644 --- a/lib/gpu/Makefile.cuda_mps +++ b/lib/gpu/Makefile.cuda_mps @@ -38,7 +38,8 @@ NVCC = nvcc CUDA_ARCH = -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] \ -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ - -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] \ + -gencode arch=compute_80,code=[sm_80,compute_80] -gencode arch=compute_86,code=[sm_86,compute_86] CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux index da18ae41ca..5fff81072b 100644 --- a/lib/gpu/Makefile.linux +++ b/lib/gpu/Makefile.linux @@ -41,6 +41,10 @@ CUDA_ARCH = -arch=sm_50 # Turing hardware #CUDA_ARCH = -arch=sm_75 +# Ampere hardware +#CUDA_ARCH = -arch=sm_80 +#CUDA_ARCH = -arch=sm_86 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL diff --git a/lib/gpu/Makefile.linux_multi b/lib/gpu/Makefile.linux_multi index e0c250a951..aa7d92572d 100644 --- a/lib/gpu/Makefile.linux_multi +++ b/lib/gpu/Makefile.linux_multi @@ -31,9 +31,24 @@ NVCC = nvcc CUDA_ARCH = -arch=sm_50 #CUDA_ARCH = -arch=sm_52 +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + +# Ampere hardware +#CUDA_ARCH = -arch=sm_80 +#CUDA_ARCH = -arch=sm_86 + CUDA_CODE = -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] \ -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ - -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] \ + -gencode arch=compute_80,code=[sm_80,compute_80] -gencode arch=compute_86,code=[sm_86,compute_86] CUDA_ARCH += $(CUDA_CODE) From 9cdacbdebd033b9d8f40b38f62320afdfaa6c977 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 7 Feb 2021 21:18:54 -0500 Subject: [PATCH 090/132] apply cast to first variable in sequence of multiplications --- lib/colvars/colvargrid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/colvars/colvargrid.cpp b/lib/colvars/colvargrid.cpp index 6cf2cdee45..df122b1be4 100644 --- a/lib/colvars/colvargrid.cpp +++ b/lib/colvars/colvargrid.cpp @@ -565,7 +565,7 @@ void integrate_potential::atimes(const std::vector &A, std::vector(w - 1); // Follows right slab + index2 = static_cast(d) * h * (w - 1); // Follows right slab if (periodic[0]) { xm = d * h * (w - 1); xp = d * h; From 92605393f7686cb5e7b5063fc04babcf47b9d57e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 10:07:11 -0500 Subject: [PATCH 091/132] correct initialization and memory leaks issues detected by valgrind --- src/USER-FEP/pair_morse_soft.h | 2 +- src/USER-MISC/angle_gaussian.cpp | 21 ++++++++++++--------- src/USER-MISC/bond_gaussian.cpp | 21 ++++++++++++--------- src/USER-MISC/pair_edip_multi.cpp | 8 ++++---- src/create_atoms.cpp | 4 ++-- 5 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/USER-FEP/pair_morse_soft.h b/src/USER-FEP/pair_morse_soft.h index f5be4de0b0..3a8d5a777f 100644 --- a/src/USER-FEP/pair_morse_soft.h +++ b/src/USER-FEP/pair_morse_soft.h @@ -29,7 +29,7 @@ namespace LAMMPS_NS { class PairMorseSoft : public PairMorse { public: - PairMorseSoft(class LAMMPS *lmp) : PairMorse(lmp) {}; + PairMorseSoft(class LAMMPS *lmp) : PairMorse(lmp), lambda(nullptr) {}; virtual ~PairMorseSoft(); virtual void compute(int, int); diff --git a/src/USER-MISC/angle_gaussian.cpp b/src/USER-MISC/angle_gaussian.cpp index 2150ef7a4b..ad311fdb5d 100644 --- a/src/USER-MISC/angle_gaussian.cpp +++ b/src/USER-MISC/angle_gaussian.cpp @@ -32,7 +32,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -AngleGaussian::AngleGaussian(LAMMPS *lmp) : Angle(lmp) +AngleGaussian::AngleGaussian(LAMMPS *lmp) + : Angle(lmp), nterms(nullptr), angle_temperature(nullptr), + alpha(nullptr), width(nullptr), theta0(nullptr) { } @@ -45,9 +47,9 @@ AngleGaussian::~AngleGaussian() memory->destroy(nterms); memory->destroy(angle_temperature); for (int i = 1; i <= atom->nangletypes; i++) { - if (alpha[i]) delete [] alpha[i]; - if (width[i]) delete [] width[i]; - if (theta0[i]) delete [] theta0[i]; + delete [] alpha[i]; + delete [] width[i]; + delete [] theta0[i]; } delete [] alpha; delete [] width; @@ -180,11 +182,9 @@ void AngleGaussian::allocate() alpha = new double *[n+1]; width = new double *[n+1]; theta0 = new double *[n+1]; - for (int i = 1; i <= n; i++) { - alpha[i] = 0; - width[i] = 0; - theta0[i] = 0; - } + memset(alpha,0,sizeof(double)*(n+1)); + memset(width,0,sizeof(double)*(n+1)); + memset(theta0,0,sizeof(double)*(n+1)); memory->create(setflag,n+1,"angle:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; @@ -214,8 +214,11 @@ void AngleGaussian::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { angle_temperature[i] = angle_temperature_one; nterms[i] = n; + delete[] alpha[i]; alpha[i] = new double [n]; + delete[] width[i]; width[i] = new double [n]; + delete[] theta0[i]; theta0[i] = new double [n]; for (int j = 0; j < n; j++) { alpha[i][j] = utils::numeric(FLERR,arg[3+3*j],false,lmp); diff --git a/src/USER-MISC/bond_gaussian.cpp b/src/USER-MISC/bond_gaussian.cpp index dcb8d7a4ad..350377f5d3 100644 --- a/src/USER-MISC/bond_gaussian.cpp +++ b/src/USER-MISC/bond_gaussian.cpp @@ -31,7 +31,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -BondGaussian::BondGaussian(LAMMPS *lmp) : Bond(lmp) +BondGaussian::BondGaussian(LAMMPS *lmp) + : Bond(lmp), nterms(nullptr), bond_temperature(nullptr), + alpha(nullptr), width(nullptr), r0(nullptr) { reinitflag = 1; } @@ -45,9 +47,9 @@ BondGaussian::~BondGaussian() memory->destroy(nterms); memory->destroy(bond_temperature); for (int i = 1; i <= atom->nbondtypes; i++) { - if (alpha[i]) delete [] alpha[i]; - if (width[i]) delete [] width[i]; - if (r0[i]) delete [] r0[i]; + delete [] alpha[i]; + delete [] width[i]; + delete [] r0[i]; } delete [] alpha; delete [] width; @@ -136,11 +138,9 @@ void BondGaussian::allocate() alpha = new double *[n+1]; width = new double *[n+1]; r0 = new double *[n+1]; - for (int i = 1; i <= n; i++) { - alpha[i] = 0; - width[i] = 0; - r0[i] = 0; - } + memset(alpha,0,sizeof(double)*(n+1)); + memset(width,0,sizeof(double)*(n+1)); + memset(r0,0,sizeof(double)*(n+1)); memory->create(setflag,n+1,"bond:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; @@ -168,8 +168,11 @@ void BondGaussian::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { bond_temperature[i] = bond_temp_one; nterms[i] = n; + delete[] alpha[i]; alpha[i] = new double [n]; + delete[] width[i]; width[i] = new double [n]; + delete[] r0[i]; r0[i] = new double [n]; for (int j = 0; j < n; j++) { alpha[i][j] = utils::numeric(FLERR,arg[3+3*j],false,lmp); diff --git a/src/USER-MISC/pair_edip_multi.cpp b/src/USER-MISC/pair_edip_multi.cpp index 312b829ede..c0969831b9 100644 --- a/src/USER-MISC/pair_edip_multi.cpp +++ b/src/USER-MISC/pair_edip_multi.cpp @@ -72,7 +72,7 @@ static inline void costheta_d(const double *dr_ij, const double r_ij, /* ---------------------------------------------------------------------- */ -PairEDIPMulti::PairEDIPMulti(LAMMPS *lmp) : Pair(lmp) +PairEDIPMulti::PairEDIPMulti(LAMMPS *lmp) : Pair(lmp), preForceCoord(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_pair_edip); @@ -105,9 +105,8 @@ PairEDIPMulti::~PairEDIPMulti() memory->destroy(setflag); memory->destroy(cutsq); delete [] map; - - deallocatePreLoops(); } + deallocatePreLoops(); } /* ---------------------------------------------------------------------- */ @@ -603,8 +602,9 @@ void PairEDIPMulti::coeff(int narg, char **arg) if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); - // allocate tables and internal structures + // (re-)allocate tables and internal structures + deallocatePreLoops(); allocatePreLoops(); } diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 4abb2c4696..46aff081d9 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -52,7 +52,7 @@ enum{NONE,RATIO,SUBSET}; /* ---------------------------------------------------------------------- */ -CreateAtoms::CreateAtoms(LAMMPS *lmp) : Pointers(lmp) {} +CreateAtoms::CreateAtoms(LAMMPS *lmp) : Pointers(lmp), basistype(nullptr) {} /* ---------------------------------------------------------------------- */ @@ -573,7 +573,7 @@ void CreateAtoms::command(int narg, char **arg) delete ranmol; delete ranlatt; - if (domain->lattice) delete [] basistype; + delete [] basistype; delete [] vstr; delete [] xstr; delete [] ystr; From c810cda64c8d1579426ed53e1e5f2dc51c7224a4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 10:40:20 -0500 Subject: [PATCH 092/132] must free MPI communicators created by MPI_Comm_split() --- unittest/c-library/test_library_open.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unittest/c-library/test_library_open.cpp b/unittest/c-library/test_library_open.cpp index d6234c1c04..377f3c53ef 100644 --- a/unittest/c-library/test_library_open.cpp +++ b/unittest/c-library/test_library_open.cpp @@ -72,6 +72,7 @@ TEST(lammps_open, with_args) output = ::testing::internal::GetCapturedStdout(); EXPECT_THAT(output, HasSubstr("Total wall time:")); if (verbose) std::cout << output; + MPI_Comm_free(&mycomm); } TEST(lammps_open, with_kokkos) @@ -195,4 +196,5 @@ TEST(lammps_open_fortran, no_args) output = ::testing::internal::GetCapturedStdout(); EXPECT_THAT(output, HasSubstr("Total wall time:")); if (verbose) std::cout << output; + MPI_Comm_free(&mycomm); } From 01a05b88b47b99ee40854cebb9468d4bf148d1d5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 10:43:18 -0500 Subject: [PATCH 093/132] avoid memory leak in unit test fixture --- unittest/python/test_python_package.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/unittest/python/test_python_package.cpp b/unittest/python/test_python_package.cpp index d8ab860c26..cba77ee2b0 100644 --- a/unittest/python/test_python_package.cpp +++ b/unittest/python/test_python_package.cpp @@ -67,6 +67,7 @@ protected: void TearDown() override { if (!verbose) ::testing::internal::CaptureStdout(); + delete info; delete lmp; if (!verbose) ::testing::internal::GetCapturedStdout(); } From b8282a1152b852029b30bf7719f69909a687f191 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 11:07:13 -0500 Subject: [PATCH 094/132] search for python 3.9 as preferred version as well --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a4736740cf..755ee02b12 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -652,7 +652,7 @@ install( if(BUILD_SHARED_LIBS) 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.8 3.7 3.6 3.5) + set(Python_ADDITIONAL_VERSIONS 3.9 3.8 3.7 3.6 3.5) find_package(PythonInterp) # Deprecated since version 3.12 if(PYTHONINTERP_FOUND) set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) From 3d46b084e829d8f56fc888fb6047dc2da2fb3690 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 11:08:00 -0500 Subject: [PATCH 095/132] must include LAMMPS_MACHINE suffix when installing python package --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 755ee02b12..c1fef4d4e1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -665,7 +665,7 @@ if(BUILD_SHARED_LIBS) install-python ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h -p ${LAMMPS_PYTHON_DIR}/lammps - -l ${CMAKE_BINARY_DIR}/liblammps${CMAKE_SHARED_LIBRARY_SUFFIX} + -l ${CMAKE_BINARY_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX} WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR} COMMENT "Installing LAMMPS Python module") else() From ca1a5731e72872164770f87262ff4fe2c91a4e7e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 12:32:27 -0500 Subject: [PATCH 096/132] remove files left behind by accident --- examples/hBN-momolayer-5nm.data | 892 -------------------------------- examples/in.hBN_shift | 37 -- 2 files changed, 929 deletions(-) delete mode 100644 examples/hBN-momolayer-5nm.data delete mode 100644 examples/in.hBN_shift diff --git a/examples/hBN-momolayer-5nm.data b/examples/hBN-momolayer-5nm.data deleted file mode 100644 index 18ae541279..0000000000 --- a/examples/hBN-momolayer-5nm.data +++ /dev/null @@ -1,892 +0,0 @@ - Makeup graphene nanoribbon on hBN - - 880 atoms - - 2 atom types - - 0.000000000000000 46.152979739999999 xlo xhi - 0.000000000000000 48.443364211584992 ylo yhi - 0.000000000000000 100.000000000000000 zlo zhi - - Atoms - - 1 1 0.420 0.000000000000000 0.000000000000000 0.000000000000000 - 2 2 -0.420 0.698900000000000 1.210530287683010 0.000000000000000 - 3 1 0.420 2.096700000000000 1.210530287683010 0.000000000000000 - 4 2 -0.420 2.795600000000000 0.000000000000000 0.000000000000000 - 5 1 0.420 4.193400000000000 0.000000000000000 0.000000000000000 - 6 2 -0.420 4.892300000000000 1.210530287683010 0.000000000000000 - 7 1 0.420 6.290100000000000 1.210530287683010 0.000000000000000 - 8 2 -0.420 6.989000000000000 0.000000000000000 0.000000000000000 - 9 1 0.420 8.386799999999999 0.000000000000000 0.000000000000000 - 10 2 -0.420 9.085699999999999 1.210530287683010 0.000000000000000 - 11 1 0.420 10.483499999999999 1.210530287683010 0.000000000000000 - 12 2 -0.420 11.182399999999999 0.000000000000000 0.000000000000000 - 13 1 0.420 12.580200000000000 0.000000000000000 0.000000000000000 - 14 2 -0.420 13.279100000000000 1.210530287683010 0.000000000000000 - 15 1 0.420 14.676900000000000 1.210530287683010 0.000000000000000 - 16 2 -0.420 15.375800000000000 0.000000000000000 0.000000000000000 - 17 1 0.420 16.773599999999998 0.000000000000000 0.000000000000000 - 18 2 -0.420 17.472500000000000 1.210530287683010 0.000000000000000 - 19 1 0.420 18.870300000000000 1.210530287683010 0.000000000000000 - 20 2 -0.420 19.569199999999999 0.000000000000000 0.000000000000000 - 21 1 0.420 20.966999999999999 0.000000000000000 0.000000000000000 - 22 2 -0.420 21.665900000000001 1.210530287683010 0.000000000000000 - 23 1 0.420 23.063699999999997 1.210530287683010 0.000000000000000 - 24 2 -0.420 23.762599999999999 0.000000000000000 0.000000000000000 - 25 1 0.420 25.160399999999999 0.000000000000000 0.000000000000000 - 26 2 -0.420 25.859299999999998 1.210530287683010 0.000000000000000 - 27 1 0.420 27.257099999999998 1.210530287683010 0.000000000000000 - 28 2 -0.420 27.956000000000000 0.000000000000000 0.000000000000000 - 29 1 0.420 29.353800000000000 0.000000000000000 0.000000000000000 - 30 2 -0.420 30.052699999999998 1.210530287683010 0.000000000000000 - 31 1 0.420 31.450499999999998 1.210530287683010 0.000000000000000 - 32 2 -0.420 32.149400000000000 0.000000000000000 0.000000000000000 - 33 1 0.420 33.547199999999997 0.000000000000000 0.000000000000000 - 34 2 -0.420 34.246099999999998 1.210530287683010 0.000000000000000 - 35 1 0.420 35.643899999999995 1.210530287683010 0.000000000000000 - 36 2 -0.420 36.342799999999997 0.000000000000000 0.000000000000000 - 37 1 0.420 37.740600000000001 0.000000000000000 0.000000000000000 - 38 2 -0.420 38.439499999999995 1.210530287683010 0.000000000000000 - 39 1 0.420 39.837299999999999 1.210530287683010 0.000000000000000 - 40 2 -0.420 40.536200000000001 0.000000000000000 0.000000000000000 - 41 1 0.420 41.933999999999997 0.000000000000000 0.000000000000000 - 42 2 -0.420 42.632899999999999 1.210530287683010 0.000000000000000 - 43 1 0.420 44.030699999999996 1.210530287683010 0.000000000000000 - 44 2 -0.420 44.729599999999998 0.000000000000000 0.000000000000000 - 45 1 0.420 0.000000000000000 2.421060575366020 0.000000000000000 - 46 2 -0.420 0.698900000000000 3.631590863049030 0.000000000000000 - 47 1 0.420 2.096700000000000 3.631590863049030 0.000000000000000 - 48 2 -0.420 2.795600000000000 2.421060575366020 0.000000000000000 - 49 1 0.420 4.193400000000000 2.421060575366020 0.000000000000000 - 50 2 -0.420 4.892300000000000 3.631590863049030 0.000000000000000 - 51 1 0.420 6.290100000000000 3.631590863049030 0.000000000000000 - 52 2 -0.420 6.989000000000000 2.421060575366020 0.000000000000000 - 53 1 0.420 8.386799999999999 2.421060575366020 0.000000000000000 - 54 2 -0.420 9.085699999999999 3.631590863049030 0.000000000000000 - 55 1 0.420 10.483499999999999 3.631590863049030 0.000000000000000 - 56 2 -0.420 11.182399999999999 2.421060575366020 0.000000000000000 - 57 1 0.420 12.580200000000000 2.421060575366020 0.000000000000000 - 58 2 -0.420 13.279100000000000 3.631590863049030 0.000000000000000 - 59 1 0.420 14.676900000000000 3.631590863049030 0.000000000000000 - 60 2 -0.420 15.375800000000000 2.421060575366020 0.000000000000000 - 61 1 0.420 16.773599999999998 2.421060575366020 0.000000000000000 - 62 2 -0.420 17.472500000000000 3.631590863049030 0.000000000000000 - 63 1 0.420 18.870300000000000 3.631590863049030 0.000000000000000 - 64 2 -0.420 19.569199999999999 2.421060575366020 0.000000000000000 - 65 1 0.420 20.966999999999999 2.421060575366020 0.000000000000000 - 66 2 -0.420 21.665900000000001 3.631590863049030 0.000000000000000 - 67 1 0.420 23.063699999999997 3.631590863049030 0.000000000000000 - 68 2 -0.420 23.762599999999999 2.421060575366020 0.000000000000000 - 69 1 0.420 25.160399999999999 2.421060575366020 0.000000000000000 - 70 2 -0.420 25.859299999999998 3.631590863049030 0.000000000000000 - 71 1 0.420 27.257099999999998 3.631590863049030 0.000000000000000 - 72 2 -0.420 27.956000000000000 2.421060575366020 0.000000000000000 - 73 1 0.420 29.353800000000000 2.421060575366020 0.000000000000000 - 74 2 -0.420 30.052699999999998 3.631590863049030 0.000000000000000 - 75 1 0.420 31.450499999999998 3.631590863049030 0.000000000000000 - 76 2 -0.420 32.149400000000000 2.421060575366020 0.000000000000000 - 77 1 0.420 33.547199999999997 2.421060575366020 0.000000000000000 - 78 2 -0.420 34.246099999999998 3.631590863049030 0.000000000000000 - 79 1 0.420 35.643899999999995 3.631590863049030 0.000000000000000 - 80 2 -0.420 36.342799999999997 2.421060575366020 0.000000000000000 - 81 1 0.420 37.740600000000001 2.421060575366020 0.000000000000000 - 82 2 -0.420 38.439499999999995 3.631590863049030 0.000000000000000 - 83 1 0.420 39.837299999999999 3.631590863049030 0.000000000000000 - 84 2 -0.420 40.536200000000001 2.421060575366020 0.000000000000000 - 85 1 0.420 41.933999999999997 2.421060575366020 0.000000000000000 - 86 2 -0.420 42.632899999999999 3.631590863049030 0.000000000000000 - 87 1 0.420 44.030699999999996 3.631590863049030 0.000000000000000 - 88 2 -0.420 44.729599999999998 2.421060575366020 0.000000000000000 - 89 1 0.420 0.000000000000000 4.842121150732040 0.000000000000000 - 90 2 -0.420 0.698900000000000 6.052651438415050 0.000000000000000 - 91 1 0.420 2.096700000000000 6.052651438415050 0.000000000000000 - 92 2 -0.420 2.795600000000000 4.842121150732040 0.000000000000000 - 93 1 0.420 4.193400000000000 4.842121150732040 0.000000000000000 - 94 2 -0.420 4.892300000000000 6.052651438415050 0.000000000000000 - 95 1 0.420 6.290100000000000 6.052651438415050 0.000000000000000 - 96 2 -0.420 6.989000000000000 4.842121150732040 0.000000000000000 - 97 1 0.420 8.386799999999999 4.842121150732040 0.000000000000000 - 98 2 -0.420 9.085699999999999 6.052651438415050 0.000000000000000 - 99 1 0.420 10.483499999999999 6.052651438415050 0.000000000000000 - 100 2 -0.420 11.182399999999999 4.842121150732040 0.000000000000000 - 101 1 0.420 12.580200000000000 4.842121150732040 0.000000000000000 - 102 2 -0.420 13.279100000000000 6.052651438415050 0.000000000000000 - 103 1 0.420 14.676900000000000 6.052651438415050 0.000000000000000 - 104 2 -0.420 15.375800000000000 4.842121150732040 0.000000000000000 - 105 1 0.420 16.773599999999998 4.842121150732040 0.000000000000000 - 106 2 -0.420 17.472500000000000 6.052651438415050 0.000000000000000 - 107 1 0.420 18.870300000000000 6.052651438415050 0.000000000000000 - 108 2 -0.420 19.569199999999999 4.842121150732040 0.000000000000000 - 109 1 0.420 20.966999999999999 4.842121150732040 0.000000000000000 - 110 2 -0.420 21.665900000000001 6.052651438415050 0.000000000000000 - 111 1 0.420 23.063699999999997 6.052651438415050 0.000000000000000 - 112 2 -0.420 23.762599999999999 4.842121150732040 0.000000000000000 - 113 1 0.420 25.160399999999999 4.842121150732040 0.000000000000000 - 114 2 -0.420 25.859299999999998 6.052651438415050 0.000000000000000 - 115 1 0.420 27.257099999999998 6.052651438415050 0.000000000000000 - 116 2 -0.420 27.956000000000000 4.842121150732040 0.000000000000000 - 117 1 0.420 29.353800000000000 4.842121150732040 0.000000000000000 - 118 2 -0.420 30.052699999999998 6.052651438415050 0.000000000000000 - 119 1 0.420 31.450499999999998 6.052651438415050 0.000000000000000 - 120 2 -0.420 32.149400000000000 4.842121150732040 0.000000000000000 - 121 1 0.420 33.547199999999997 4.842121150732040 0.000000000000000 - 122 2 -0.420 34.246099999999998 6.052651438415050 0.000000000000000 - 123 1 0.420 35.643899999999995 6.052651438415050 0.000000000000000 - 124 2 -0.420 36.342799999999997 4.842121150732040 0.000000000000000 - 125 1 0.420 37.740600000000001 4.842121150732040 0.000000000000000 - 126 2 -0.420 38.439499999999995 6.052651438415050 0.000000000000000 - 127 1 0.420 39.837299999999999 6.052651438415050 0.000000000000000 - 128 2 -0.420 40.536200000000001 4.842121150732040 0.000000000000000 - 129 1 0.420 41.933999999999997 4.842121150732040 0.000000000000000 - 130 2 -0.420 42.632899999999999 6.052651438415050 0.000000000000000 - 131 1 0.420 44.030699999999996 6.052651438415050 0.000000000000000 - 132 2 -0.420 44.729599999999998 4.842121150732040 0.000000000000000 - 133 1 0.420 0.000000000000000 7.263181726098059 0.000000000000000 - 134 2 -0.420 0.698900000000000 8.473712013781070 0.000000000000000 - 135 1 0.420 2.096700000000000 8.473712013781070 0.000000000000000 - 136 2 -0.420 2.795600000000000 7.263181726098059 0.000000000000000 - 137 1 0.420 4.193400000000000 7.263181726098059 0.000000000000000 - 138 2 -0.420 4.892300000000000 8.473712013781070 0.000000000000000 - 139 1 0.420 6.290100000000000 8.473712013781070 0.000000000000000 - 140 2 -0.420 6.989000000000000 7.263181726098059 0.000000000000000 - 141 1 0.420 8.386799999999999 7.263181726098059 0.000000000000000 - 142 2 -0.420 9.085699999999999 8.473712013781070 0.000000000000000 - 143 1 0.420 10.483499999999999 8.473712013781070 0.000000000000000 - 144 2 -0.420 11.182399999999999 7.263181726098059 0.000000000000000 - 145 1 0.420 12.580200000000000 7.263181726098059 0.000000000000000 - 146 2 -0.420 13.279100000000000 8.473712013781070 0.000000000000000 - 147 1 0.420 14.676900000000000 8.473712013781070 0.000000000000000 - 148 2 -0.420 15.375800000000000 7.263181726098059 0.000000000000000 - 149 1 0.420 16.773599999999998 7.263181726098059 0.000000000000000 - 150 2 -0.420 17.472500000000000 8.473712013781070 0.000000000000000 - 151 1 0.420 18.870300000000000 8.473712013781070 0.000000000000000 - 152 2 -0.420 19.569199999999999 7.263181726098059 0.000000000000000 - 153 1 0.420 20.966999999999999 7.263181726098059 0.000000000000000 - 154 2 -0.420 21.665900000000001 8.473712013781070 0.000000000000000 - 155 1 0.420 23.063699999999997 8.473712013781070 0.000000000000000 - 156 2 -0.420 23.762599999999999 7.263181726098059 0.000000000000000 - 157 1 0.420 25.160399999999999 7.263181726098059 0.000000000000000 - 158 2 -0.420 25.859299999999998 8.473712013781070 0.000000000000000 - 159 1 0.420 27.257099999999998 8.473712013781070 0.000000000000000 - 160 2 -0.420 27.956000000000000 7.263181726098059 0.000000000000000 - 161 1 0.420 29.353800000000000 7.263181726098059 0.000000000000000 - 162 2 -0.420 30.052699999999998 8.473712013781070 0.000000000000000 - 163 1 0.420 31.450499999999998 8.473712013781070 0.000000000000000 - 164 2 -0.420 32.149400000000000 7.263181726098059 0.000000000000000 - 165 1 0.420 33.547199999999997 7.263181726098059 0.000000000000000 - 166 2 -0.420 34.246099999999998 8.473712013781070 0.000000000000000 - 167 1 0.420 35.643899999999995 8.473712013781070 0.000000000000000 - 168 2 -0.420 36.342799999999997 7.263181726098059 0.000000000000000 - 169 1 0.420 37.740600000000001 7.263181726098059 0.000000000000000 - 170 2 -0.420 38.439499999999995 8.473712013781070 0.000000000000000 - 171 1 0.420 39.837299999999999 8.473712013781070 0.000000000000000 - 172 2 -0.420 40.536200000000001 7.263181726098059 0.000000000000000 - 173 1 0.420 41.933999999999997 7.263181726098059 0.000000000000000 - 174 2 -0.420 42.632899999999999 8.473712013781070 0.000000000000000 - 175 1 0.420 44.030699999999996 8.473712013781070 0.000000000000000 - 176 2 -0.420 44.729599999999998 7.263181726098059 0.000000000000000 - 177 1 0.420 0.000000000000000 9.684242301464080 0.000000000000000 - 178 2 -0.420 0.698900000000000 10.894772589147090 0.000000000000000 - 179 1 0.420 2.096700000000000 10.894772589147090 0.000000000000000 - 180 2 -0.420 2.795600000000000 9.684242301464080 0.000000000000000 - 181 1 0.420 4.193400000000000 9.684242301464080 0.000000000000000 - 182 2 -0.420 4.892300000000000 10.894772589147090 0.000000000000000 - 183 1 0.420 6.290100000000000 10.894772589147090 0.000000000000000 - 184 2 -0.420 6.989000000000000 9.684242301464080 0.000000000000000 - 185 1 0.420 8.386799999999999 9.684242301464080 0.000000000000000 - 186 2 -0.420 9.085699999999999 10.894772589147090 0.000000000000000 - 187 1 0.420 10.483499999999999 10.894772589147090 0.000000000000000 - 188 2 -0.420 11.182399999999999 9.684242301464080 0.000000000000000 - 189 1 0.420 12.580200000000000 9.684242301464080 0.000000000000000 - 190 2 -0.420 13.279100000000000 10.894772589147090 0.000000000000000 - 191 1 0.420 14.676900000000000 10.894772589147090 0.000000000000000 - 192 2 -0.420 15.375800000000000 9.684242301464080 0.000000000000000 - 193 1 0.420 16.773599999999998 9.684242301464080 0.000000000000000 - 194 2 -0.420 17.472500000000000 10.894772589147090 0.000000000000000 - 195 1 0.420 18.870300000000000 10.894772589147090 0.000000000000000 - 196 2 -0.420 19.569199999999999 9.684242301464080 0.000000000000000 - 197 1 0.420 20.966999999999999 9.684242301464080 0.000000000000000 - 198 2 -0.420 21.665900000000001 10.894772589147090 0.000000000000000 - 199 1 0.420 23.063699999999997 10.894772589147090 0.000000000000000 - 200 2 -0.420 23.762599999999999 9.684242301464080 0.000000000000000 - 201 1 0.420 25.160399999999999 9.684242301464080 0.000000000000000 - 202 2 -0.420 25.859299999999998 10.894772589147090 0.000000000000000 - 203 1 0.420 27.257099999999998 10.894772589147090 0.000000000000000 - 204 2 -0.420 27.956000000000000 9.684242301464080 0.000000000000000 - 205 1 0.420 29.353800000000000 9.684242301464080 0.000000000000000 - 206 2 -0.420 30.052699999999998 10.894772589147090 0.000000000000000 - 207 1 0.420 31.450499999999998 10.894772589147090 0.000000000000000 - 208 2 -0.420 32.149400000000000 9.684242301464080 0.000000000000000 - 209 1 0.420 33.547199999999997 9.684242301464080 0.000000000000000 - 210 2 -0.420 34.246099999999998 10.894772589147090 0.000000000000000 - 211 1 0.420 35.643899999999995 10.894772589147090 0.000000000000000 - 212 2 -0.420 36.342799999999997 9.684242301464080 0.000000000000000 - 213 1 0.420 37.740600000000001 9.684242301464080 0.000000000000000 - 214 2 -0.420 38.439499999999995 10.894772589147090 0.000000000000000 - 215 1 0.420 39.837299999999999 10.894772589147090 0.000000000000000 - 216 2 -0.420 40.536200000000001 9.684242301464080 0.000000000000000 - 217 1 0.420 41.933999999999997 9.684242301464080 0.000000000000000 - 218 2 -0.420 42.632899999999999 10.894772589147090 0.000000000000000 - 219 1 0.420 44.030699999999996 10.894772589147090 0.000000000000000 - 220 2 -0.420 44.729599999999998 9.684242301464080 0.000000000000000 - 221 1 0.420 0.000000000000000 12.105302876830100 0.000000000000000 - 222 2 -0.420 0.698900000000000 13.315833164513110 0.000000000000000 - 223 1 0.420 2.096700000000000 13.315833164513110 0.000000000000000 - 224 2 -0.420 2.795600000000000 12.105302876830100 0.000000000000000 - 225 1 0.420 4.193400000000000 12.105302876830100 0.000000000000000 - 226 2 -0.420 4.892300000000000 13.315833164513110 0.000000000000000 - 227 1 0.420 6.290100000000000 13.315833164513110 0.000000000000000 - 228 2 -0.420 6.989000000000000 12.105302876830100 0.000000000000000 - 229 1 0.420 8.386799999999999 12.105302876830100 0.000000000000000 - 230 2 -0.420 9.085699999999999 13.315833164513110 0.000000000000000 - 231 1 0.420 10.483499999999999 13.315833164513110 0.000000000000000 - 232 2 -0.420 11.182399999999999 12.105302876830100 0.000000000000000 - 233 1 0.420 12.580200000000000 12.105302876830100 0.000000000000000 - 234 2 -0.420 13.279100000000000 13.315833164513110 0.000000000000000 - 235 1 0.420 14.676900000000000 13.315833164513110 0.000000000000000 - 236 2 -0.420 15.375800000000000 12.105302876830100 0.000000000000000 - 237 1 0.420 16.773599999999998 12.105302876830100 0.000000000000000 - 238 2 -0.420 17.472500000000000 13.315833164513110 0.000000000000000 - 239 1 0.420 18.870300000000000 13.315833164513110 0.000000000000000 - 240 2 -0.420 19.569199999999999 12.105302876830100 0.000000000000000 - 241 1 0.420 20.966999999999999 12.105302876830100 0.000000000000000 - 242 2 -0.420 21.665900000000001 13.315833164513110 0.000000000000000 - 243 1 0.420 23.063699999999997 13.315833164513110 0.000000000000000 - 244 2 -0.420 23.762599999999999 12.105302876830100 0.000000000000000 - 245 1 0.420 25.160399999999999 12.105302876830100 0.000000000000000 - 246 2 -0.420 25.859299999999998 13.315833164513110 0.000000000000000 - 247 1 0.420 27.257099999999998 13.315833164513110 0.000000000000000 - 248 2 -0.420 27.956000000000000 12.105302876830100 0.000000000000000 - 249 1 0.420 29.353800000000000 12.105302876830100 0.000000000000000 - 250 2 -0.420 30.052699999999998 13.315833164513110 0.000000000000000 - 251 1 0.420 31.450499999999998 13.315833164513110 0.000000000000000 - 252 2 -0.420 32.149400000000000 12.105302876830100 0.000000000000000 - 253 1 0.420 33.547199999999997 12.105302876830100 0.000000000000000 - 254 2 -0.420 34.246099999999998 13.315833164513110 0.000000000000000 - 255 1 0.420 35.643899999999995 13.315833164513110 0.000000000000000 - 256 2 -0.420 36.342799999999997 12.105302876830100 0.000000000000000 - 257 1 0.420 37.740600000000001 12.105302876830100 0.000000000000000 - 258 2 -0.420 38.439499999999995 13.315833164513110 0.000000000000000 - 259 1 0.420 39.837299999999999 13.315833164513110 0.000000000000000 - 260 2 -0.420 40.536200000000001 12.105302876830100 0.000000000000000 - 261 1 0.420 41.933999999999997 12.105302876830100 0.000000000000000 - 262 2 -0.420 42.632899999999999 13.315833164513110 0.000000000000000 - 263 1 0.420 44.030699999999996 13.315833164513110 0.000000000000000 - 264 2 -0.420 44.729599999999998 12.105302876830100 0.000000000000000 - 265 1 0.420 0.000000000000000 14.526363452196119 0.000000000000000 - 266 2 -0.420 0.698900000000000 15.736893739879129 0.000000000000000 - 267 1 0.420 2.096700000000000 15.736893739879129 0.000000000000000 - 268 2 -0.420 2.795600000000000 14.526363452196119 0.000000000000000 - 269 1 0.420 4.193400000000000 14.526363452196119 0.000000000000000 - 270 2 -0.420 4.892300000000000 15.736893739879129 0.000000000000000 - 271 1 0.420 6.290100000000000 15.736893739879129 0.000000000000000 - 272 2 -0.420 6.989000000000000 14.526363452196119 0.000000000000000 - 273 1 0.420 8.386799999999999 14.526363452196119 0.000000000000000 - 274 2 -0.420 9.085699999999999 15.736893739879129 0.000000000000000 - 275 1 0.420 10.483499999999999 15.736893739879129 0.000000000000000 - 276 2 -0.420 11.182399999999999 14.526363452196119 0.000000000000000 - 277 1 0.420 12.580200000000000 14.526363452196119 0.000000000000000 - 278 2 -0.420 13.279100000000000 15.736893739879129 0.000000000000000 - 279 1 0.420 14.676900000000000 15.736893739879129 0.000000000000000 - 280 2 -0.420 15.375800000000000 14.526363452196119 0.000000000000000 - 281 1 0.420 16.773599999999998 14.526363452196119 0.000000000000000 - 282 2 -0.420 17.472500000000000 15.736893739879129 0.000000000000000 - 283 1 0.420 18.870300000000000 15.736893739879129 0.000000000000000 - 284 2 -0.420 19.569199999999999 14.526363452196119 0.000000000000000 - 285 1 0.420 20.966999999999999 14.526363452196119 0.000000000000000 - 286 2 -0.420 21.665900000000001 15.736893739879129 0.000000000000000 - 287 1 0.420 23.063699999999997 15.736893739879129 0.000000000000000 - 288 2 -0.420 23.762599999999999 14.526363452196119 0.000000000000000 - 289 1 0.420 25.160399999999999 14.526363452196119 0.000000000000000 - 290 2 -0.420 25.859299999999998 15.736893739879129 0.000000000000000 - 291 1 0.420 27.257099999999998 15.736893739879129 0.000000000000000 - 292 2 -0.420 27.956000000000000 14.526363452196119 0.000000000000000 - 293 1 0.420 29.353800000000000 14.526363452196119 0.000000000000000 - 294 2 -0.420 30.052699999999998 15.736893739879129 0.000000000000000 - 295 1 0.420 31.450499999999998 15.736893739879129 0.000000000000000 - 296 2 -0.420 32.149400000000000 14.526363452196119 0.000000000000000 - 297 1 0.420 33.547199999999997 14.526363452196119 0.000000000000000 - 298 2 -0.420 34.246099999999998 15.736893739879129 0.000000000000000 - 299 1 0.420 35.643899999999995 15.736893739879129 0.000000000000000 - 300 2 -0.420 36.342799999999997 14.526363452196119 0.000000000000000 - 301 1 0.420 37.740600000000001 14.526363452196119 0.000000000000000 - 302 2 -0.420 38.439499999999995 15.736893739879129 0.000000000000000 - 303 1 0.420 39.837299999999999 15.736893739879129 0.000000000000000 - 304 2 -0.420 40.536200000000001 14.526363452196119 0.000000000000000 - 305 1 0.420 41.933999999999997 14.526363452196119 0.000000000000000 - 306 2 -0.420 42.632899999999999 15.736893739879129 0.000000000000000 - 307 1 0.420 44.030699999999996 15.736893739879129 0.000000000000000 - 308 2 -0.420 44.729599999999998 14.526363452196119 0.000000000000000 - 309 1 0.420 0.000000000000000 16.947424027562139 0.000000000000000 - 310 2 -0.420 0.698900000000000 18.157954315245149 0.000000000000000 - 311 1 0.420 2.096700000000000 18.157954315245149 0.000000000000000 - 312 2 -0.420 2.795600000000000 16.947424027562139 0.000000000000000 - 313 1 0.420 4.193400000000000 16.947424027562139 0.000000000000000 - 314 2 -0.420 4.892300000000000 18.157954315245149 0.000000000000000 - 315 1 0.420 6.290100000000000 18.157954315245149 0.000000000000000 - 316 2 -0.420 6.989000000000000 16.947424027562139 0.000000000000000 - 317 1 0.420 8.386799999999999 16.947424027562139 0.000000000000000 - 318 2 -0.420 9.085699999999999 18.157954315245149 0.000000000000000 - 319 1 0.420 10.483499999999999 18.157954315245149 0.000000000000000 - 320 2 -0.420 11.182399999999999 16.947424027562139 0.000000000000000 - 321 1 0.420 12.580200000000000 16.947424027562139 0.000000000000000 - 322 2 -0.420 13.279100000000000 18.157954315245149 0.000000000000000 - 323 1 0.420 14.676900000000000 18.157954315245149 0.000000000000000 - 324 2 -0.420 15.375800000000000 16.947424027562139 0.000000000000000 - 325 1 0.420 16.773599999999998 16.947424027562139 0.000000000000000 - 326 2 -0.420 17.472500000000000 18.157954315245149 0.000000000000000 - 327 1 0.420 18.870300000000000 18.157954315245149 0.000000000000000 - 328 2 -0.420 19.569199999999999 16.947424027562139 0.000000000000000 - 329 1 0.420 20.966999999999999 16.947424027562139 0.000000000000000 - 330 2 -0.420 21.665900000000001 18.157954315245149 0.000000000000000 - 331 1 0.420 23.063699999999997 18.157954315245149 0.000000000000000 - 332 2 -0.420 23.762599999999999 16.947424027562139 0.000000000000000 - 333 1 0.420 25.160399999999999 16.947424027562139 0.000000000000000 - 334 2 -0.420 25.859299999999998 18.157954315245149 0.000000000000000 - 335 1 0.420 27.257099999999998 18.157954315245149 0.000000000000000 - 336 2 -0.420 27.956000000000000 16.947424027562139 0.000000000000000 - 337 1 0.420 29.353800000000000 16.947424027562139 0.000000000000000 - 338 2 -0.420 30.052699999999998 18.157954315245149 0.000000000000000 - 339 1 0.420 31.450499999999998 18.157954315245149 0.000000000000000 - 340 2 -0.420 32.149400000000000 16.947424027562139 0.000000000000000 - 341 1 0.420 33.547199999999997 16.947424027562139 0.000000000000000 - 342 2 -0.420 34.246099999999998 18.157954315245149 0.000000000000000 - 343 1 0.420 35.643899999999995 18.157954315245149 0.000000000000000 - 344 2 -0.420 36.342799999999997 16.947424027562139 0.000000000000000 - 345 1 0.420 37.740600000000001 16.947424027562139 0.000000000000000 - 346 2 -0.420 38.439499999999995 18.157954315245149 0.000000000000000 - 347 1 0.420 39.837299999999999 18.157954315245149 0.000000000000000 - 348 2 -0.420 40.536200000000001 16.947424027562139 0.000000000000000 - 349 1 0.420 41.933999999999997 16.947424027562139 0.000000000000000 - 350 2 -0.420 42.632899999999999 18.157954315245149 0.000000000000000 - 351 1 0.420 44.030699999999996 18.157954315245149 0.000000000000000 - 352 2 -0.420 44.729599999999998 16.947424027562139 0.000000000000000 - 353 1 0.420 0.000000000000000 19.368484602928159 0.000000000000000 - 354 2 -0.420 0.698900000000000 20.579014890611170 0.000000000000000 - 355 1 0.420 2.096700000000000 20.579014890611170 0.000000000000000 - 356 2 -0.420 2.795600000000000 19.368484602928159 0.000000000000000 - 357 1 0.420 4.193400000000000 19.368484602928159 0.000000000000000 - 358 2 -0.420 4.892300000000000 20.579014890611170 0.000000000000000 - 359 1 0.420 6.290100000000000 20.579014890611170 0.000000000000000 - 360 2 -0.420 6.989000000000000 19.368484602928159 0.000000000000000 - 361 1 0.420 8.386799999999999 19.368484602928159 0.000000000000000 - 362 2 -0.420 9.085699999999999 20.579014890611170 0.000000000000000 - 363 1 0.420 10.483499999999999 20.579014890611170 0.000000000000000 - 364 2 -0.420 11.182399999999999 19.368484602928159 0.000000000000000 - 365 1 0.420 12.580200000000000 19.368484602928159 0.000000000000000 - 366 2 -0.420 13.279100000000000 20.579014890611170 0.000000000000000 - 367 1 0.420 14.676900000000000 20.579014890611170 0.000000000000000 - 368 2 -0.420 15.375800000000000 19.368484602928159 0.000000000000000 - 369 1 0.420 16.773599999999998 19.368484602928159 0.000000000000000 - 370 2 -0.420 17.472500000000000 20.579014890611170 0.000000000000000 - 371 1 0.420 18.870300000000000 20.579014890611170 0.000000000000000 - 372 2 -0.420 19.569199999999999 19.368484602928159 0.000000000000000 - 373 1 0.420 20.966999999999999 19.368484602928159 0.000000000000000 - 374 2 -0.420 21.665900000000001 20.579014890611170 0.000000000000000 - 375 1 0.420 23.063699999999997 20.579014890611170 0.000000000000000 - 376 2 -0.420 23.762599999999999 19.368484602928159 0.000000000000000 - 377 1 0.420 25.160399999999999 19.368484602928159 0.000000000000000 - 378 2 -0.420 25.859299999999998 20.579014890611170 0.000000000000000 - 379 1 0.420 27.257099999999998 20.579014890611170 0.000000000000000 - 380 2 -0.420 27.956000000000000 19.368484602928159 0.000000000000000 - 381 1 0.420 29.353800000000000 19.368484602928159 0.000000000000000 - 382 2 -0.420 30.052699999999998 20.579014890611170 0.000000000000000 - 383 1 0.420 31.450499999999998 20.579014890611170 0.000000000000000 - 384 2 -0.420 32.149400000000000 19.368484602928159 0.000000000000000 - 385 1 0.420 33.547199999999997 19.368484602928159 0.000000000000000 - 386 2 -0.420 34.246099999999998 20.579014890611170 0.000000000000000 - 387 1 0.420 35.643899999999995 20.579014890611170 0.000000000000000 - 388 2 -0.420 36.342799999999997 19.368484602928159 0.000000000000000 - 389 1 0.420 37.740600000000001 19.368484602928159 0.000000000000000 - 390 2 -0.420 38.439499999999995 20.579014890611170 0.000000000000000 - 391 1 0.420 39.837299999999999 20.579014890611170 0.000000000000000 - 392 2 -0.420 40.536200000000001 19.368484602928159 0.000000000000000 - 393 1 0.420 41.933999999999997 19.368484602928159 0.000000000000000 - 394 2 -0.420 42.632899999999999 20.579014890611170 0.000000000000000 - 395 1 0.420 44.030699999999996 20.579014890611170 0.000000000000000 - 396 2 -0.420 44.729599999999998 19.368484602928159 0.000000000000000 - 397 1 0.420 0.000000000000000 21.789545178294180 0.000000000000000 - 398 2 -0.420 0.698900000000000 23.000075465977190 0.000000000000000 - 399 1 0.420 2.096700000000000 23.000075465977190 0.000000000000000 - 400 2 -0.420 2.795600000000000 21.789545178294180 0.000000000000000 - 401 1 0.420 4.193400000000000 21.789545178294180 0.000000000000000 - 402 2 -0.420 4.892300000000000 23.000075465977190 0.000000000000000 - 403 1 0.420 6.290100000000000 23.000075465977190 0.000000000000000 - 404 2 -0.420 6.989000000000000 21.789545178294180 0.000000000000000 - 405 1 0.420 8.386799999999999 21.789545178294180 0.000000000000000 - 406 2 -0.420 9.085699999999999 23.000075465977190 0.000000000000000 - 407 1 0.420 10.483499999999999 23.000075465977190 0.000000000000000 - 408 2 -0.420 11.182399999999999 21.789545178294180 0.000000000000000 - 409 1 0.420 12.580200000000000 21.789545178294180 0.000000000000000 - 410 2 -0.420 13.279100000000000 23.000075465977190 0.000000000000000 - 411 1 0.420 14.676900000000000 23.000075465977190 0.000000000000000 - 412 2 -0.420 15.375800000000000 21.789545178294180 0.000000000000000 - 413 1 0.420 16.773599999999998 21.789545178294180 0.000000000000000 - 414 2 -0.420 17.472500000000000 23.000075465977190 0.000000000000000 - 415 1 0.420 18.870300000000000 23.000075465977190 0.000000000000000 - 416 2 -0.420 19.569199999999999 21.789545178294180 0.000000000000000 - 417 1 0.420 20.966999999999999 21.789545178294180 0.000000000000000 - 418 2 -0.420 21.665900000000001 23.000075465977190 0.000000000000000 - 419 1 0.420 23.063699999999997 23.000075465977190 0.000000000000000 - 420 2 -0.420 23.762599999999999 21.789545178294180 0.000000000000000 - 421 1 0.420 25.160399999999999 21.789545178294180 0.000000000000000 - 422 2 -0.420 25.859299999999998 23.000075465977190 0.000000000000000 - 423 1 0.420 27.257099999999998 23.000075465977190 0.000000000000000 - 424 2 -0.420 27.956000000000000 21.789545178294180 0.000000000000000 - 425 1 0.420 29.353800000000000 21.789545178294180 0.000000000000000 - 426 2 -0.420 30.052699999999998 23.000075465977190 0.000000000000000 - 427 1 0.420 31.450499999999998 23.000075465977190 0.000000000000000 - 428 2 -0.420 32.149400000000000 21.789545178294180 0.000000000000000 - 429 1 0.420 33.547199999999997 21.789545178294180 0.000000000000000 - 430 2 -0.420 34.246099999999998 23.000075465977190 0.000000000000000 - 431 1 0.420 35.643899999999995 23.000075465977190 0.000000000000000 - 432 2 -0.420 36.342799999999997 21.789545178294180 0.000000000000000 - 433 1 0.420 37.740600000000001 21.789545178294180 0.000000000000000 - 434 2 -0.420 38.439499999999995 23.000075465977190 0.000000000000000 - 435 1 0.420 39.837299999999999 23.000075465977190 0.000000000000000 - 436 2 -0.420 40.536200000000001 21.789545178294180 0.000000000000000 - 437 1 0.420 41.933999999999997 21.789545178294180 0.000000000000000 - 438 2 -0.420 42.632899999999999 23.000075465977190 0.000000000000000 - 439 1 0.420 44.030699999999996 23.000075465977190 0.000000000000000 - 440 2 -0.420 44.729599999999998 21.789545178294180 0.000000000000000 - 441 1 0.420 0.000000000000000 24.210605753660200 0.000000000000000 - 442 2 -0.420 0.698900000000000 25.421136041343210 0.000000000000000 - 443 1 0.420 2.096700000000000 25.421136041343210 0.000000000000000 - 444 2 -0.420 2.795600000000000 24.210605753660200 0.000000000000000 - 445 1 0.420 4.193400000000000 24.210605753660200 0.000000000000000 - 446 2 -0.420 4.892300000000000 25.421136041343210 0.000000000000000 - 447 1 0.420 6.290100000000000 25.421136041343210 0.000000000000000 - 448 2 -0.420 6.989000000000000 24.210605753660200 0.000000000000000 - 449 1 0.420 8.386799999999999 24.210605753660200 0.000000000000000 - 450 2 -0.420 9.085699999999999 25.421136041343210 0.000000000000000 - 451 1 0.420 10.483499999999999 25.421136041343210 0.000000000000000 - 452 2 -0.420 11.182399999999999 24.210605753660200 0.000000000000000 - 453 1 0.420 12.580200000000000 24.210605753660200 0.000000000000000 - 454 2 -0.420 13.279100000000000 25.421136041343210 0.000000000000000 - 455 1 0.420 14.676900000000000 25.421136041343210 0.000000000000000 - 456 2 -0.420 15.375800000000000 24.210605753660200 0.000000000000000 - 457 1 0.420 16.773599999999998 24.210605753660200 0.000000000000000 - 458 2 -0.420 17.472500000000000 25.421136041343210 0.000000000000000 - 459 1 0.420 18.870300000000000 25.421136041343210 0.000000000000000 - 460 2 -0.420 19.569199999999999 24.210605753660200 0.000000000000000 - 461 1 0.420 20.966999999999999 24.210605753660200 0.000000000000000 - 462 2 -0.420 21.665900000000001 25.421136041343210 0.000000000000000 - 463 1 0.420 23.063699999999997 25.421136041343210 0.000000000000000 - 464 2 -0.420 23.762599999999999 24.210605753660200 0.000000000000000 - 465 1 0.420 25.160399999999999 24.210605753660200 0.000000000000000 - 466 2 -0.420 25.859299999999998 25.421136041343210 0.000000000000000 - 467 1 0.420 27.257099999999998 25.421136041343210 0.000000000000000 - 468 2 -0.420 27.956000000000000 24.210605753660200 0.000000000000000 - 469 1 0.420 29.353800000000000 24.210605753660200 0.000000000000000 - 470 2 -0.420 30.052699999999998 25.421136041343210 0.000000000000000 - 471 1 0.420 31.450499999999998 25.421136041343210 0.000000000000000 - 472 2 -0.420 32.149400000000000 24.210605753660200 0.000000000000000 - 473 1 0.420 33.547199999999997 24.210605753660200 0.000000000000000 - 474 2 -0.420 34.246099999999998 25.421136041343210 0.000000000000000 - 475 1 0.420 35.643899999999995 25.421136041343210 0.000000000000000 - 476 2 -0.420 36.342799999999997 24.210605753660200 0.000000000000000 - 477 1 0.420 37.740600000000001 24.210605753660200 0.000000000000000 - 478 2 -0.420 38.439499999999995 25.421136041343210 0.000000000000000 - 479 1 0.420 39.837299999999999 25.421136041343210 0.000000000000000 - 480 2 -0.420 40.536200000000001 24.210605753660200 0.000000000000000 - 481 1 0.420 41.933999999999997 24.210605753660200 0.000000000000000 - 482 2 -0.420 42.632899999999999 25.421136041343210 0.000000000000000 - 483 1 0.420 44.030699999999996 25.421136041343210 0.000000000000000 - 484 2 -0.420 44.729599999999998 24.210605753660200 0.000000000000000 - 485 1 0.420 0.000000000000000 26.631666329026221 0.000000000000000 - 486 2 -0.420 0.698900000000000 27.842196616709231 0.000000000000000 - 487 1 0.420 2.096700000000000 27.842196616709231 0.000000000000000 - 488 2 -0.420 2.795600000000000 26.631666329026221 0.000000000000000 - 489 1 0.420 4.193400000000000 26.631666329026221 0.000000000000000 - 490 2 -0.420 4.892300000000000 27.842196616709231 0.000000000000000 - 491 1 0.420 6.290100000000000 27.842196616709231 0.000000000000000 - 492 2 -0.420 6.989000000000000 26.631666329026221 0.000000000000000 - 493 1 0.420 8.386799999999999 26.631666329026221 0.000000000000000 - 494 2 -0.420 9.085699999999999 27.842196616709231 0.000000000000000 - 495 1 0.420 10.483499999999999 27.842196616709231 0.000000000000000 - 496 2 -0.420 11.182399999999999 26.631666329026221 0.000000000000000 - 497 1 0.420 12.580200000000000 26.631666329026221 0.000000000000000 - 498 2 -0.420 13.279100000000000 27.842196616709231 0.000000000000000 - 499 1 0.420 14.676900000000000 27.842196616709231 0.000000000000000 - 500 2 -0.420 15.375800000000000 26.631666329026221 0.000000000000000 - 501 1 0.420 16.773599999999998 26.631666329026221 0.000000000000000 - 502 2 -0.420 17.472500000000000 27.842196616709231 0.000000000000000 - 503 1 0.420 18.870300000000000 27.842196616709231 0.000000000000000 - 504 2 -0.420 19.569199999999999 26.631666329026221 0.000000000000000 - 505 1 0.420 20.966999999999999 26.631666329026221 0.000000000000000 - 506 2 -0.420 21.665900000000001 27.842196616709231 0.000000000000000 - 507 1 0.420 23.063699999999997 27.842196616709231 0.000000000000000 - 508 2 -0.420 23.762599999999999 26.631666329026221 0.000000000000000 - 509 1 0.420 25.160399999999999 26.631666329026221 0.000000000000000 - 510 2 -0.420 25.859299999999998 27.842196616709231 0.000000000000000 - 511 1 0.420 27.257099999999998 27.842196616709231 0.000000000000000 - 512 2 -0.420 27.956000000000000 26.631666329026221 0.000000000000000 - 513 1 0.420 29.353800000000000 26.631666329026221 0.000000000000000 - 514 2 -0.420 30.052699999999998 27.842196616709231 0.000000000000000 - 515 1 0.420 31.450499999999998 27.842196616709231 0.000000000000000 - 516 2 -0.420 32.149400000000000 26.631666329026221 0.000000000000000 - 517 1 0.420 33.547199999999997 26.631666329026221 0.000000000000000 - 518 2 -0.420 34.246099999999998 27.842196616709231 0.000000000000000 - 519 1 0.420 35.643899999999995 27.842196616709231 0.000000000000000 - 520 2 -0.420 36.342799999999997 26.631666329026221 0.000000000000000 - 521 1 0.420 37.740600000000001 26.631666329026221 0.000000000000000 - 522 2 -0.420 38.439499999999995 27.842196616709231 0.000000000000000 - 523 1 0.420 39.837299999999999 27.842196616709231 0.000000000000000 - 524 2 -0.420 40.536200000000001 26.631666329026221 0.000000000000000 - 525 1 0.420 41.933999999999997 26.631666329026221 0.000000000000000 - 526 2 -0.420 42.632899999999999 27.842196616709231 0.000000000000000 - 527 1 0.420 44.030699999999996 27.842196616709231 0.000000000000000 - 528 2 -0.420 44.729599999999998 26.631666329026221 0.000000000000000 - 529 1 0.420 0.000000000000000 29.052726904392237 0.000000000000000 - 530 2 -0.420 0.698900000000000 30.263257192075248 0.000000000000000 - 531 1 0.420 2.096700000000000 30.263257192075248 0.000000000000000 - 532 2 -0.420 2.795600000000000 29.052726904392237 0.000000000000000 - 533 1 0.420 4.193400000000000 29.052726904392237 0.000000000000000 - 534 2 -0.420 4.892300000000000 30.263257192075248 0.000000000000000 - 535 1 0.420 6.290100000000000 30.263257192075248 0.000000000000000 - 536 2 -0.420 6.989000000000000 29.052726904392237 0.000000000000000 - 537 1 0.420 8.386799999999999 29.052726904392237 0.000000000000000 - 538 2 -0.420 9.085699999999999 30.263257192075248 0.000000000000000 - 539 1 0.420 10.483499999999999 30.263257192075248 0.000000000000000 - 540 2 -0.420 11.182399999999999 29.052726904392237 0.000000000000000 - 541 1 0.420 12.580200000000000 29.052726904392237 0.000000000000000 - 542 2 -0.420 13.279100000000000 30.263257192075248 0.000000000000000 - 543 1 0.420 14.676900000000000 30.263257192075248 0.000000000000000 - 544 2 -0.420 15.375800000000000 29.052726904392237 0.000000000000000 - 545 1 0.420 16.773599999999998 29.052726904392237 0.000000000000000 - 546 2 -0.420 17.472500000000000 30.263257192075248 0.000000000000000 - 547 1 0.420 18.870300000000000 30.263257192075248 0.000000000000000 - 548 2 -0.420 19.569199999999999 29.052726904392237 0.000000000000000 - 549 1 0.420 20.966999999999999 29.052726904392237 0.000000000000000 - 550 2 -0.420 21.665900000000001 30.263257192075248 0.000000000000000 - 551 1 0.420 23.063699999999997 30.263257192075248 0.000000000000000 - 552 2 -0.420 23.762599999999999 29.052726904392237 0.000000000000000 - 553 1 0.420 25.160399999999999 29.052726904392237 0.000000000000000 - 554 2 -0.420 25.859299999999998 30.263257192075248 0.000000000000000 - 555 1 0.420 27.257099999999998 30.263257192075248 0.000000000000000 - 556 2 -0.420 27.956000000000000 29.052726904392237 0.000000000000000 - 557 1 0.420 29.353800000000000 29.052726904392237 0.000000000000000 - 558 2 -0.420 30.052699999999998 30.263257192075248 0.000000000000000 - 559 1 0.420 31.450499999999998 30.263257192075248 0.000000000000000 - 560 2 -0.420 32.149400000000000 29.052726904392237 0.000000000000000 - 561 1 0.420 33.547199999999997 29.052726904392237 0.000000000000000 - 562 2 -0.420 34.246099999999998 30.263257192075248 0.000000000000000 - 563 1 0.420 35.643899999999995 30.263257192075248 0.000000000000000 - 564 2 -0.420 36.342799999999997 29.052726904392237 0.000000000000000 - 565 1 0.420 37.740600000000001 29.052726904392237 0.000000000000000 - 566 2 -0.420 38.439499999999995 30.263257192075248 0.000000000000000 - 567 1 0.420 39.837299999999999 30.263257192075248 0.000000000000000 - 568 2 -0.420 40.536200000000001 29.052726904392237 0.000000000000000 - 569 1 0.420 41.933999999999997 29.052726904392237 0.000000000000000 - 570 2 -0.420 42.632899999999999 30.263257192075248 0.000000000000000 - 571 1 0.420 44.030699999999996 30.263257192075248 0.000000000000000 - 572 2 -0.420 44.729599999999998 29.052726904392237 0.000000000000000 - 573 1 0.420 0.000000000000000 31.473787479758258 0.000000000000000 - 574 2 -0.420 0.698900000000000 32.684317767441271 0.000000000000000 - 575 1 0.420 2.096700000000000 32.684317767441271 0.000000000000000 - 576 2 -0.420 2.795600000000000 31.473787479758258 0.000000000000000 - 577 1 0.420 4.193400000000000 31.473787479758258 0.000000000000000 - 578 2 -0.420 4.892300000000000 32.684317767441271 0.000000000000000 - 579 1 0.420 6.290100000000000 32.684317767441271 0.000000000000000 - 580 2 -0.420 6.989000000000000 31.473787479758258 0.000000000000000 - 581 1 0.420 8.386799999999999 31.473787479758258 0.000000000000000 - 582 2 -0.420 9.085699999999999 32.684317767441271 0.000000000000000 - 583 1 0.420 10.483499999999999 32.684317767441271 0.000000000000000 - 584 2 -0.420 11.182399999999999 31.473787479758258 0.000000000000000 - 585 1 0.420 12.580200000000000 31.473787479758258 0.000000000000000 - 586 2 -0.420 13.279100000000000 32.684317767441271 0.000000000000000 - 587 1 0.420 14.676900000000000 32.684317767441271 0.000000000000000 - 588 2 -0.420 15.375800000000000 31.473787479758258 0.000000000000000 - 589 1 0.420 16.773599999999998 31.473787479758258 0.000000000000000 - 590 2 -0.420 17.472500000000000 32.684317767441271 0.000000000000000 - 591 1 0.420 18.870300000000000 32.684317767441271 0.000000000000000 - 592 2 -0.420 19.569199999999999 31.473787479758258 0.000000000000000 - 593 1 0.420 20.966999999999999 31.473787479758258 0.000000000000000 - 594 2 -0.420 21.665900000000001 32.684317767441271 0.000000000000000 - 595 1 0.420 23.063699999999997 32.684317767441271 0.000000000000000 - 596 2 -0.420 23.762599999999999 31.473787479758258 0.000000000000000 - 597 1 0.420 25.160399999999999 31.473787479758258 0.000000000000000 - 598 2 -0.420 25.859299999999998 32.684317767441271 0.000000000000000 - 599 1 0.420 27.257099999999998 32.684317767441271 0.000000000000000 - 600 2 -0.420 27.956000000000000 31.473787479758258 0.000000000000000 - 601 1 0.420 29.353800000000000 31.473787479758258 0.000000000000000 - 602 2 -0.420 30.052699999999998 32.684317767441271 0.000000000000000 - 603 1 0.420 31.450499999999998 32.684317767441271 0.000000000000000 - 604 2 -0.420 32.149400000000000 31.473787479758258 0.000000000000000 - 605 1 0.420 33.547199999999997 31.473787479758258 0.000000000000000 - 606 2 -0.420 34.246099999999998 32.684317767441271 0.000000000000000 - 607 1 0.420 35.643899999999995 32.684317767441271 0.000000000000000 - 608 2 -0.420 36.342799999999997 31.473787479758258 0.000000000000000 - 609 1 0.420 37.740600000000001 31.473787479758258 0.000000000000000 - 610 2 -0.420 38.439499999999995 32.684317767441271 0.000000000000000 - 611 1 0.420 39.837299999999999 32.684317767441271 0.000000000000000 - 612 2 -0.420 40.536200000000001 31.473787479758258 0.000000000000000 - 613 1 0.420 41.933999999999997 31.473787479758258 0.000000000000000 - 614 2 -0.420 42.632899999999999 32.684317767441271 0.000000000000000 - 615 1 0.420 44.030699999999996 32.684317767441271 0.000000000000000 - 616 2 -0.420 44.729599999999998 31.473787479758258 0.000000000000000 - 617 1 0.420 0.000000000000000 33.894848055124278 0.000000000000000 - 618 2 -0.420 0.698900000000000 35.105378342807292 0.000000000000000 - 619 1 0.420 2.096700000000000 35.105378342807292 0.000000000000000 - 620 2 -0.420 2.795600000000000 33.894848055124278 0.000000000000000 - 621 1 0.420 4.193400000000000 33.894848055124278 0.000000000000000 - 622 2 -0.420 4.892300000000000 35.105378342807292 0.000000000000000 - 623 1 0.420 6.290100000000000 35.105378342807292 0.000000000000000 - 624 2 -0.420 6.989000000000000 33.894848055124278 0.000000000000000 - 625 1 0.420 8.386799999999999 33.894848055124278 0.000000000000000 - 626 2 -0.420 9.085699999999999 35.105378342807292 0.000000000000000 - 627 1 0.420 10.483499999999999 35.105378342807292 0.000000000000000 - 628 2 -0.420 11.182399999999999 33.894848055124278 0.000000000000000 - 629 1 0.420 12.580200000000000 33.894848055124278 0.000000000000000 - 630 2 -0.420 13.279100000000000 35.105378342807292 0.000000000000000 - 631 1 0.420 14.676900000000000 35.105378342807292 0.000000000000000 - 632 2 -0.420 15.375800000000000 33.894848055124278 0.000000000000000 - 633 1 0.420 16.773599999999998 33.894848055124278 0.000000000000000 - 634 2 -0.420 17.472500000000000 35.105378342807292 0.000000000000000 - 635 1 0.420 18.870300000000000 35.105378342807292 0.000000000000000 - 636 2 -0.420 19.569199999999999 33.894848055124278 0.000000000000000 - 637 1 0.420 20.966999999999999 33.894848055124278 0.000000000000000 - 638 2 -0.420 21.665900000000001 35.105378342807292 0.000000000000000 - 639 1 0.420 23.063699999999997 35.105378342807292 0.000000000000000 - 640 2 -0.420 23.762599999999999 33.894848055124278 0.000000000000000 - 641 1 0.420 25.160399999999999 33.894848055124278 0.000000000000000 - 642 2 -0.420 25.859299999999998 35.105378342807292 0.000000000000000 - 643 1 0.420 27.257099999999998 35.105378342807292 0.000000000000000 - 644 2 -0.420 27.956000000000000 33.894848055124278 0.000000000000000 - 645 1 0.420 29.353800000000000 33.894848055124278 0.000000000000000 - 646 2 -0.420 30.052699999999998 35.105378342807292 0.000000000000000 - 647 1 0.420 31.450499999999998 35.105378342807292 0.000000000000000 - 648 2 -0.420 32.149400000000000 33.894848055124278 0.000000000000000 - 649 1 0.420 33.547199999999997 33.894848055124278 0.000000000000000 - 650 2 -0.420 34.246099999999998 35.105378342807292 0.000000000000000 - 651 1 0.420 35.643899999999995 35.105378342807292 0.000000000000000 - 652 2 -0.420 36.342799999999997 33.894848055124278 0.000000000000000 - 653 1 0.420 37.740600000000001 33.894848055124278 0.000000000000000 - 654 2 -0.420 38.439499999999995 35.105378342807292 0.000000000000000 - 655 1 0.420 39.837299999999999 35.105378342807292 0.000000000000000 - 656 2 -0.420 40.536200000000001 33.894848055124278 0.000000000000000 - 657 1 0.420 41.933999999999997 33.894848055124278 0.000000000000000 - 658 2 -0.420 42.632899999999999 35.105378342807292 0.000000000000000 - 659 1 0.420 44.030699999999996 35.105378342807292 0.000000000000000 - 660 2 -0.420 44.729599999999998 33.894848055124278 0.000000000000000 - 661 1 0.420 0.000000000000000 36.315908630490298 0.000000000000000 - 662 2 -0.420 0.698900000000000 37.526438918173312 0.000000000000000 - 663 1 0.420 2.096700000000000 37.526438918173312 0.000000000000000 - 664 2 -0.420 2.795600000000000 36.315908630490298 0.000000000000000 - 665 1 0.420 4.193400000000000 36.315908630490298 0.000000000000000 - 666 2 -0.420 4.892300000000000 37.526438918173312 0.000000000000000 - 667 1 0.420 6.290100000000000 37.526438918173312 0.000000000000000 - 668 2 -0.420 6.989000000000000 36.315908630490298 0.000000000000000 - 669 1 0.420 8.386799999999999 36.315908630490298 0.000000000000000 - 670 2 -0.420 9.085699999999999 37.526438918173312 0.000000000000000 - 671 1 0.420 10.483499999999999 37.526438918173312 0.000000000000000 - 672 2 -0.420 11.182399999999999 36.315908630490298 0.000000000000000 - 673 1 0.420 12.580200000000000 36.315908630490298 0.000000000000000 - 674 2 -0.420 13.279100000000000 37.526438918173312 0.000000000000000 - 675 1 0.420 14.676900000000000 37.526438918173312 0.000000000000000 - 676 2 -0.420 15.375800000000000 36.315908630490298 0.000000000000000 - 677 1 0.420 16.773599999999998 36.315908630490298 0.000000000000000 - 678 2 -0.420 17.472500000000000 37.526438918173312 0.000000000000000 - 679 1 0.420 18.870300000000000 37.526438918173312 0.000000000000000 - 680 2 -0.420 19.569199999999999 36.315908630490298 0.000000000000000 - 681 1 0.420 20.966999999999999 36.315908630490298 0.000000000000000 - 682 2 -0.420 21.665900000000001 37.526438918173312 0.000000000000000 - 683 1 0.420 23.063699999999997 37.526438918173312 0.000000000000000 - 684 2 -0.420 23.762599999999999 36.315908630490298 0.000000000000000 - 685 1 0.420 25.160399999999999 36.315908630490298 0.000000000000000 - 686 2 -0.420 25.859299999999998 37.526438918173312 0.000000000000000 - 687 1 0.420 27.257099999999998 37.526438918173312 0.000000000000000 - 688 2 -0.420 27.956000000000000 36.315908630490298 0.000000000000000 - 689 1 0.420 29.353800000000000 36.315908630490298 0.000000000000000 - 690 2 -0.420 30.052699999999998 37.526438918173312 0.000000000000000 - 691 1 0.420 31.450499999999998 37.526438918173312 0.000000000000000 - 692 2 -0.420 32.149400000000000 36.315908630490298 0.000000000000000 - 693 1 0.420 33.547199999999997 36.315908630490298 0.000000000000000 - 694 2 -0.420 34.246099999999998 37.526438918173312 0.000000000000000 - 695 1 0.420 35.643899999999995 37.526438918173312 0.000000000000000 - 696 2 -0.420 36.342799999999997 36.315908630490298 0.000000000000000 - 697 1 0.420 37.740600000000001 36.315908630490298 0.000000000000000 - 698 2 -0.420 38.439499999999995 37.526438918173312 0.000000000000000 - 699 1 0.420 39.837299999999999 37.526438918173312 0.000000000000000 - 700 2 -0.420 40.536200000000001 36.315908630490298 0.000000000000000 - 701 1 0.420 41.933999999999997 36.315908630490298 0.000000000000000 - 702 2 -0.420 42.632899999999999 37.526438918173312 0.000000000000000 - 703 1 0.420 44.030699999999996 37.526438918173312 0.000000000000000 - 704 2 -0.420 44.729599999999998 36.315908630490298 0.000000000000000 - 705 1 0.420 0.000000000000000 38.736969205856319 0.000000000000000 - 706 2 -0.420 0.698900000000000 39.947499493539325 0.000000000000000 - 707 1 0.420 2.096700000000000 39.947499493539325 0.000000000000000 - 708 2 -0.420 2.795600000000000 38.736969205856319 0.000000000000000 - 709 1 0.420 4.193400000000000 38.736969205856319 0.000000000000000 - 710 2 -0.420 4.892300000000000 39.947499493539325 0.000000000000000 - 711 1 0.420 6.290100000000000 39.947499493539325 0.000000000000000 - 712 2 -0.420 6.989000000000000 38.736969205856319 0.000000000000000 - 713 1 0.420 8.386799999999999 38.736969205856319 0.000000000000000 - 714 2 -0.420 9.085699999999999 39.947499493539325 0.000000000000000 - 715 1 0.420 10.483499999999999 39.947499493539325 0.000000000000000 - 716 2 -0.420 11.182399999999999 38.736969205856319 0.000000000000000 - 717 1 0.420 12.580200000000000 38.736969205856319 0.000000000000000 - 718 2 -0.420 13.279100000000000 39.947499493539325 0.000000000000000 - 719 1 0.420 14.676900000000000 39.947499493539325 0.000000000000000 - 720 2 -0.420 15.375800000000000 38.736969205856319 0.000000000000000 - 721 1 0.420 16.773599999999998 38.736969205856319 0.000000000000000 - 722 2 -0.420 17.472500000000000 39.947499493539325 0.000000000000000 - 723 1 0.420 18.870300000000000 39.947499493539325 0.000000000000000 - 724 2 -0.420 19.569199999999999 38.736969205856319 0.000000000000000 - 725 1 0.420 20.966999999999999 38.736969205856319 0.000000000000000 - 726 2 -0.420 21.665900000000001 39.947499493539325 0.000000000000000 - 727 1 0.420 23.063699999999997 39.947499493539325 0.000000000000000 - 728 2 -0.420 23.762599999999999 38.736969205856319 0.000000000000000 - 729 1 0.420 25.160399999999999 38.736969205856319 0.000000000000000 - 730 2 -0.420 25.859299999999998 39.947499493539325 0.000000000000000 - 731 1 0.420 27.257099999999998 39.947499493539325 0.000000000000000 - 732 2 -0.420 27.956000000000000 38.736969205856319 0.000000000000000 - 733 1 0.420 29.353800000000000 38.736969205856319 0.000000000000000 - 734 2 -0.420 30.052699999999998 39.947499493539325 0.000000000000000 - 735 1 0.420 31.450499999999998 39.947499493539325 0.000000000000000 - 736 2 -0.420 32.149400000000000 38.736969205856319 0.000000000000000 - 737 1 0.420 33.547199999999997 38.736969205856319 0.000000000000000 - 738 2 -0.420 34.246099999999998 39.947499493539325 0.000000000000000 - 739 1 0.420 35.643899999999995 39.947499493539325 0.000000000000000 - 740 2 -0.420 36.342799999999997 38.736969205856319 0.000000000000000 - 741 1 0.420 37.740600000000001 38.736969205856319 0.000000000000000 - 742 2 -0.420 38.439499999999995 39.947499493539325 0.000000000000000 - 743 1 0.420 39.837299999999999 39.947499493539325 0.000000000000000 - 744 2 -0.420 40.536200000000001 38.736969205856319 0.000000000000000 - 745 1 0.420 41.933999999999997 38.736969205856319 0.000000000000000 - 746 2 -0.420 42.632899999999999 39.947499493539325 0.000000000000000 - 747 1 0.420 44.030699999999996 39.947499493539325 0.000000000000000 - 748 2 -0.420 44.729599999999998 38.736969205856319 0.000000000000000 - 749 1 0.420 0.000000000000000 41.158029781222339 0.000000000000000 - 750 2 -0.420 0.698900000000000 42.368560068905346 0.000000000000000 - 751 1 0.420 2.096700000000000 42.368560068905346 0.000000000000000 - 752 2 -0.420 2.795600000000000 41.158029781222339 0.000000000000000 - 753 1 0.420 4.193400000000000 41.158029781222339 0.000000000000000 - 754 2 -0.420 4.892300000000000 42.368560068905346 0.000000000000000 - 755 1 0.420 6.290100000000000 42.368560068905346 0.000000000000000 - 756 2 -0.420 6.989000000000000 41.158029781222339 0.000000000000000 - 757 1 0.420 8.386799999999999 41.158029781222339 0.000000000000000 - 758 2 -0.420 9.085699999999999 42.368560068905346 0.000000000000000 - 759 1 0.420 10.483499999999999 42.368560068905346 0.000000000000000 - 760 2 -0.420 11.182399999999999 41.158029781222339 0.000000000000000 - 761 1 0.420 12.580200000000000 41.158029781222339 0.000000000000000 - 762 2 -0.420 13.279100000000000 42.368560068905346 0.000000000000000 - 763 1 0.420 14.676900000000000 42.368560068905346 0.000000000000000 - 764 2 -0.420 15.375800000000000 41.158029781222339 0.000000000000000 - 765 1 0.420 16.773599999999998 41.158029781222339 0.000000000000000 - 766 2 -0.420 17.472500000000000 42.368560068905346 0.000000000000000 - 767 1 0.420 18.870300000000000 42.368560068905346 0.000000000000000 - 768 2 -0.420 19.569199999999999 41.158029781222339 0.000000000000000 - 769 1 0.420 20.966999999999999 41.158029781222339 0.000000000000000 - 770 2 -0.420 21.665900000000001 42.368560068905346 0.000000000000000 - 771 1 0.420 23.063699999999997 42.368560068905346 0.000000000000000 - 772 2 -0.420 23.762599999999999 41.158029781222339 0.000000000000000 - 773 1 0.420 25.160399999999999 41.158029781222339 0.000000000000000 - 774 2 -0.420 25.859299999999998 42.368560068905346 0.000000000000000 - 775 1 0.420 27.257099999999998 42.368560068905346 0.000000000000000 - 776 2 -0.420 27.956000000000000 41.158029781222339 0.000000000000000 - 777 1 0.420 29.353800000000000 41.158029781222339 0.000000000000000 - 778 2 -0.420 30.052699999999998 42.368560068905346 0.000000000000000 - 779 1 0.420 31.450499999999998 42.368560068905346 0.000000000000000 - 780 2 -0.420 32.149400000000000 41.158029781222339 0.000000000000000 - 781 1 0.420 33.547199999999997 41.158029781222339 0.000000000000000 - 782 2 -0.420 34.246099999999998 42.368560068905346 0.000000000000000 - 783 1 0.420 35.643899999999995 42.368560068905346 0.000000000000000 - 784 2 -0.420 36.342799999999997 41.158029781222339 0.000000000000000 - 785 1 0.420 37.740600000000001 41.158029781222339 0.000000000000000 - 786 2 -0.420 38.439499999999995 42.368560068905346 0.000000000000000 - 787 1 0.420 39.837299999999999 42.368560068905346 0.000000000000000 - 788 2 -0.420 40.536200000000001 41.158029781222339 0.000000000000000 - 789 1 0.420 41.933999999999997 41.158029781222339 0.000000000000000 - 790 2 -0.420 42.632899999999999 42.368560068905346 0.000000000000000 - 791 1 0.420 44.030699999999996 42.368560068905346 0.000000000000000 - 792 2 -0.420 44.729599999999998 41.158029781222339 0.000000000000000 - 793 1 0.420 0.000000000000000 43.579090356588360 0.000000000000000 - 794 2 -0.420 0.698900000000000 44.789620644271366 0.000000000000000 - 795 1 0.420 2.096700000000000 44.789620644271366 0.000000000000000 - 796 2 -0.420 2.795600000000000 43.579090356588360 0.000000000000000 - 797 1 0.420 4.193400000000000 43.579090356588360 0.000000000000000 - 798 2 -0.420 4.892300000000000 44.789620644271366 0.000000000000000 - 799 1 0.420 6.290100000000000 44.789620644271366 0.000000000000000 - 800 2 -0.420 6.989000000000000 43.579090356588360 0.000000000000000 - 801 1 0.420 8.386799999999999 43.579090356588360 0.000000000000000 - 802 2 -0.420 9.085699999999999 44.789620644271366 0.000000000000000 - 803 1 0.420 10.483499999999999 44.789620644271366 0.000000000000000 - 804 2 -0.420 11.182399999999999 43.579090356588360 0.000000000000000 - 805 1 0.420 12.580200000000000 43.579090356588360 0.000000000000000 - 806 2 -0.420 13.279100000000000 44.789620644271366 0.000000000000000 - 807 1 0.420 14.676900000000000 44.789620644271366 0.000000000000000 - 808 2 -0.420 15.375800000000000 43.579090356588360 0.000000000000000 - 809 1 0.420 16.773599999999998 43.579090356588360 0.000000000000000 - 810 2 -0.420 17.472500000000000 44.789620644271366 0.000000000000000 - 811 1 0.420 18.870300000000000 44.789620644271366 0.000000000000000 - 812 2 -0.420 19.569199999999999 43.579090356588360 0.000000000000000 - 813 1 0.420 20.966999999999999 43.579090356588360 0.000000000000000 - 814 2 -0.420 21.665900000000001 44.789620644271366 0.000000000000000 - 815 1 0.420 23.063699999999997 44.789620644271366 0.000000000000000 - 816 2 -0.420 23.762599999999999 43.579090356588360 0.000000000000000 - 817 1 0.420 25.160399999999999 43.579090356588360 0.000000000000000 - 818 2 -0.420 25.859299999999998 44.789620644271366 0.000000000000000 - 819 1 0.420 27.257099999999998 44.789620644271366 0.000000000000000 - 820 2 -0.420 27.956000000000000 43.579090356588360 0.000000000000000 - 821 1 0.420 29.353800000000000 43.579090356588360 0.000000000000000 - 822 2 -0.420 30.052699999999998 44.789620644271366 0.000000000000000 - 823 1 0.420 31.450499999999998 44.789620644271366 0.000000000000000 - 824 2 -0.420 32.149400000000000 43.579090356588360 0.000000000000000 - 825 1 0.420 33.547199999999997 43.579090356588360 0.000000000000000 - 826 2 -0.420 34.246099999999998 44.789620644271366 0.000000000000000 - 827 1 0.420 35.643899999999995 44.789620644271366 0.000000000000000 - 828 2 -0.420 36.342799999999997 43.579090356588360 0.000000000000000 - 829 1 0.420 37.740600000000001 43.579090356588360 0.000000000000000 - 830 2 -0.420 38.439499999999995 44.789620644271366 0.000000000000000 - 831 1 0.420 39.837299999999999 44.789620644271366 0.000000000000000 - 832 2 -0.420 40.536200000000001 43.579090356588360 0.000000000000000 - 833 1 0.420 41.933999999999997 43.579090356588360 0.000000000000000 - 834 2 -0.420 42.632899999999999 44.789620644271366 0.000000000000000 - 835 1 0.420 44.030699999999996 44.789620644271366 0.000000000000000 - 836 2 -0.420 44.729599999999998 43.579090356588360 0.000000000000000 - 837 1 0.420 0.000000000000000 46.000150931954380 0.000000000000000 - 838 2 -0.420 0.698900000000000 47.210681219637387 0.000000000000000 - 839 1 0.420 2.096700000000000 47.210681219637387 0.000000000000000 - 840 2 -0.420 2.795600000000000 46.000150931954380 0.000000000000000 - 841 1 0.420 4.193400000000000 46.000150931954380 0.000000000000000 - 842 2 -0.420 4.892300000000000 47.210681219637387 0.000000000000000 - 843 1 0.420 6.290100000000000 47.210681219637387 0.000000000000000 - 844 2 -0.420 6.989000000000000 46.000150931954380 0.000000000000000 - 845 1 0.420 8.386799999999999 46.000150931954380 0.000000000000000 - 846 2 -0.420 9.085699999999999 47.210681219637387 0.000000000000000 - 847 1 0.420 10.483499999999999 47.210681219637387 0.000000000000000 - 848 2 -0.420 11.182399999999999 46.000150931954380 0.000000000000000 - 849 1 0.420 12.580200000000000 46.000150931954380 0.000000000000000 - 850 2 -0.420 13.279100000000000 47.210681219637387 0.000000000000000 - 851 1 0.420 14.676900000000000 47.210681219637387 0.000000000000000 - 852 2 -0.420 15.375800000000000 46.000150931954380 0.000000000000000 - 853 1 0.420 16.773599999999998 46.000150931954380 0.000000000000000 - 854 2 -0.420 17.472500000000000 47.210681219637387 0.000000000000000 - 855 1 0.420 18.870300000000000 47.210681219637387 0.000000000000000 - 856 2 -0.420 19.569199999999999 46.000150931954380 0.000000000000000 - 857 1 0.420 20.966999999999999 46.000150931954380 0.000000000000000 - 858 2 -0.420 21.665900000000001 47.210681219637387 0.000000000000000 - 859 1 0.420 23.063699999999997 47.210681219637387 0.000000000000000 - 860 2 -0.420 23.762599999999999 46.000150931954380 0.000000000000000 - 861 1 0.420 25.160399999999999 46.000150931954380 0.000000000000000 - 862 2 -0.420 25.859299999999998 47.210681219637387 0.000000000000000 - 863 1 0.420 27.257099999999998 47.210681219637387 0.000000000000000 - 864 2 -0.420 27.956000000000000 46.000150931954380 0.000000000000000 - 865 1 0.420 29.353800000000000 46.000150931954380 0.000000000000000 - 866 2 -0.420 30.052699999999998 47.210681219637387 0.000000000000000 - 867 1 0.420 31.450499999999998 47.210681219637387 0.000000000000000 - 868 2 -0.420 32.149400000000000 46.000150931954380 0.000000000000000 - 869 1 0.420 33.547199999999997 46.000150931954380 0.000000000000000 - 870 2 -0.420 34.246099999999998 47.210681219637387 0.000000000000000 - 871 1 0.420 35.643899999999995 47.210681219637387 0.000000000000000 - 872 2 -0.420 36.342799999999997 46.000150931954380 0.000000000000000 - 873 1 0.420 37.740600000000001 46.000150931954380 0.000000000000000 - 874 2 -0.420 38.439499999999995 47.210681219637387 0.000000000000000 - 875 1 0.420 39.837299999999999 47.210681219637387 0.000000000000000 - 876 2 -0.420 40.536200000000001 46.000150931954380 0.000000000000000 - 877 1 0.420 41.933999999999997 46.000150931954380 0.000000000000000 - 878 2 -0.420 42.632899999999999 47.210681219637387 0.000000000000000 - 879 1 0.420 44.030699999999996 47.210681219637387 0.000000000000000 - 880 2 -0.420 44.729599999999998 46.000150931954380 0.000000000000000 diff --git a/examples/in.hBN_shift b/examples/in.hBN_shift deleted file mode 100644 index b3035dc715..0000000000 --- a/examples/in.hBN_shift +++ /dev/null @@ -1,37 +0,0 @@ -# Initialization -units metal -boundary p p p -atom_style charge -processors * * 1 # domain decomposition over x and y - -# System and atom definition -# we use different molecule ids for each layer of hBN -# so that inter- and intra-layer -# interactions can be specified separately -read_data hBN-momolayer-5nm.data -mass 1 10.8110 # boron mass (g/mole) | membrane -mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate - -######################## Potential defition ######################## -pair_style tersoff shift 0.05 -pair_coeff * * BNC.tersoff B N -#################################################################### -# Neighbor update settings -neighbor 2.0 bin -neigh_modify every 1 -neigh_modify delay 0 -neigh_modify check yes - -#### Simulation settings #### -timestep 0.001 -velocity all create 300.0 4928459 loop geom -fix thermostat all nve - -############# Output ############### -thermo 100 -thermo_style custom step etotal pe ke temp -#thermo_modify lost warn -thermo_modify line one format float %20.16g lost warn - -###### Run molecular dynamics ###### -run 1000 From 6909cf9dd5f8696fab2d0684408ab381b11b79f9 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 8 Feb 2021 14:14:38 -0700 Subject: [PATCH 097/132] Uncomment Kokkos code --- src/KOKKOS/modify_kokkos.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/modify_kokkos.cpp b/src/KOKKOS/modify_kokkos.cpp index c3d94f8dc5..40ed1cdfdc 100644 --- a/src/KOKKOS/modify_kokkos.cpp +++ b/src/KOKKOS/modify_kokkos.cpp @@ -399,11 +399,11 @@ void ModifyKokkos::energy_atom(int nlocal, double *energy) int i,j; double *eatom; - //for (i = 0; i < n_energy_atom; i++) { - // eatom = fix[list_energy_atom[i]]->eatom; - // if (!eatom) continue; - // for (j = 0; j < nlocal; j++) energy[j] += eatom[j]; - //} + for (i = 0; i < n_energy_atom; i++) { + eatom = fix[list_energy_atom[i]]->eatom; + if (!eatom) continue; + for (j = 0; j < nlocal; j++) energy[j] += eatom[j]; + } } /* ---------------------------------------------------------------------- From c5bb414c377581b44579654a13a44c4431f513ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 17:26:39 -0500 Subject: [PATCH 098/132] remove dead code --- src/USER-REACTION/fix_bond_react.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 657caf1e68..3098a1bd67 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -3273,7 +3273,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) // inserting atoms based off fix_deposit->pre_exchange int flag; imageint *imageflags; - double **coords,lamda[3],rotmat[3][3],vnew[3]; + double **coords,lamda[3],rotmat[3][3]; double *newcoord; double **v = atom->v; double t,delx,dely,delz,rsq; @@ -3352,7 +3352,7 @@ int FixBondReact::insert_atoms(tagint **my_mega_glove, int iupdate) fit_incr++; } } - double rmsd = superposer.Superpose(xfrozen, xmobile); + superposer.Superpose(xfrozen, xmobile); for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) rotmat[i][j] = superposer.R[i][j]; From 56ae49881467b0aca16ecd6549325a03de1f41c8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 17:27:54 -0500 Subject: [PATCH 099/132] reduce memory leakage in kspace style msm --- src/KSPACE/msm.cpp | 50 ++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index febf37029b..1e980e856f 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -640,6 +640,7 @@ void MSM::allocate() // create commgrid object for rho and electric field communication if (active_flag[n]) { + delete gc[n]; int **procneigh = procneigh_levels[n]; gc[n] = new GridComm(lmp,world_levels[n],2,nx_msm[n],ny_msm[n],nz_msm[n], nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], @@ -655,6 +656,9 @@ void MSM::allocate() memory->create(gc_buf2[n],npergrid*ngc_buf2[n],"msm:gc_buf2"); } else { + delete gc[n]; + memory->destroy(gc_buf1[n]); + memory->destroy(gc_buf2[n]); gc[n] = nullptr; gc_buf1[n] = gc_buf2[n] = nullptr; } @@ -675,28 +679,6 @@ void MSM::deallocate() memory->destroy(gcall_buf2); gcall = nullptr; gcall_buf1 = gcall_buf2 = nullptr; - - for (int n=0; ndestroy3d_offset(qgrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); - - if (egrid[n]) - memory->destroy3d_offset(egrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); - - if (world_levels) - if (world_levels[n] != MPI_COMM_NULL) - MPI_Comm_free(&world_levels[n]); - - if (gc) { - if (gc[n]) { - delete gc[n]; - memory->destroy(gc_buf1[n]); - memory->destroy(gc_buf2[n]); - gc[n] = nullptr; - gc_buf1[n] = gc_buf2[n] = nullptr; - } - } - } } /* ---------------------------------------------------------------------- @@ -846,6 +828,30 @@ void MSM::allocate_levels() void MSM::deallocate_levels() { + if (world_levels) { + for (int n=0; n < levels; ++n) { + if (qgrid[n]) + memory->destroy3d_offset(qgrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); + + if (egrid[n]) + memory->destroy3d_offset(egrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); + + if (gc) { + if (gc[n]) { + delete gc[n]; + memory->destroy(gc_buf1[n]); + memory->destroy(gc_buf2[n]); + gc[n] = nullptr; + gc_buf1[n] = gc_buf2[n] = nullptr; + } + } + + if (world_levels[n] != MPI_COMM_NULL) { + MPI_Comm_free(&world_levels[n]); + } + } + } + delete [] ngrid; ngrid = nullptr; From a6aabc0a938d9ab1b29b7ff351d8b6b8ae7d28ce Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 20:03:13 -0500 Subject: [PATCH 100/132] fix typo --- src/compute_stress_atom.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index 5043797233..28abc13453 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -222,7 +222,7 @@ void ComputeStressAtom::compute_peratom() Fix **fix = modify->fix; int nfix = modify->nfix; for (int ifix = 0; ifix < nfix; ifix++) - if (fix[i]->virial_peratom_flag && fix[ifix]->thermo_virial) { + if (fix[ifix]->virial_peratom_flag && fix[ifix]->thermo_virial) { double **vatom = fix[ifix]->vatom; if (vatom) for (i = 0; i < nlocal; i++) From 5e55ab0e9bf0fa90154c37e0bbdc5447382a7d86 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 20:18:37 -0500 Subject: [PATCH 101/132] silence compiler warnings --- src/KOKKOS/compute_orientorder_atom_kokkos.cpp | 4 ++-- src/KOKKOS/fix_neigh_history_kokkos.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/compute_orientorder_atom_kokkos.cpp b/src/KOKKOS/compute_orientorder_atom_kokkos.cpp index 2325288c8c..65c4737ab4 100644 --- a/src/KOKKOS/compute_orientorder_atom_kokkos.cpp +++ b/src/KOKKOS/compute_orientorder_atom_kokkos.cpp @@ -143,7 +143,7 @@ void ComputeOrientOrderAtomKokkos::compute_peratom() chunk_size = MIN(chunksize,inum); // "chunksize" variable is set by user chunk_offset = 0; - if (chunk_size > d_ncount.extent(0)) { + if (chunk_size > (int)d_ncount.extent(0)) { d_qnm = t_sna_3c("orientorder/atom:qnm",chunk_size,nqlist,2*qmax+1); d_ncount = t_sna_1i("orientorder/atom:ncount",chunk_size); } @@ -155,7 +155,7 @@ void ComputeOrientOrderAtomKokkos::compute_peratom() maxneigh = 0; Kokkos::parallel_reduce("ComputeOrientOrderAtomKokkos::find_max_neighs",inum, FindMaxNumNeighs(k_list), Kokkos::Max(maxneigh)); - if (chunk_size > d_distsq.extent(0) || maxneigh > d_distsq.extent(1)) { + if (chunk_size > (int)d_distsq.extent(0) || maxneigh > (int)d_distsq.extent(1)) { d_distsq = t_sna_2d_lr("orientorder/atom:distsq",chunk_size,maxneigh); d_nearest = t_sna_2i_lr("orientorder/atom:nearest",chunk_size,maxneigh); d_rlist = t_sna_3d_lr("orientorder/atom:rlist",chunk_size,maxneigh,3); diff --git a/src/KOKKOS/fix_neigh_history_kokkos.cpp b/src/KOKKOS/fix_neigh_history_kokkos.cpp index 0f57b67a0e..3d351f7a73 100644 --- a/src/KOKKOS/fix_neigh_history_kokkos.cpp +++ b/src/KOKKOS/fix_neigh_history_kokkos.cpp @@ -182,7 +182,7 @@ void FixNeighHistoryKokkos::post_neighbor() // realloc firstflag and firstvalue if needed - if (maxatom < nlocal || k_list->maxneighs > d_firstflag.extent(1)) { + if (maxatom < nlocal || k_list->maxneighs > (int)d_firstflag.extent(1)) { maxatom = nall; d_firstflag = Kokkos::View("neighbor_history:firstflag",maxatom,k_list->maxneighs); d_firstvalue = Kokkos::View("neighbor_history:firstvalue",maxatom,k_list->maxneighs*dnum); From 6f08e81bf81327f2f46cf8b70b88cc51fecbc89c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 20:19:22 -0500 Subject: [PATCH 102/132] don't access uninitialized data and avoid shadowing a class member variable --- src/KOKKOS/fix_langevin_kokkos.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/fix_langevin_kokkos.cpp b/src/KOKKOS/fix_langevin_kokkos.cpp index 0dcaabb39c..054302b9c5 100644 --- a/src/KOKKOS/fix_langevin_kokkos.cpp +++ b/src/KOKKOS/fix_langevin_kokkos.cpp @@ -765,11 +765,11 @@ template KOKKOS_INLINE_FUNCTION double FixLangevinKokkos::compute_energy_item(int i) const { - double energy; + double my_energy = 0.0; if (mask[i] & groupbit) - energy = d_flangevin(i,0)*v(i,0) + d_flangevin(i,1)*v(i,1) + + my_energy = d_flangevin(i,0)*v(i,0) + d_flangevin(i,1)*v(i,1) + d_flangevin(i,2)*v(i,2); - return energy; + return my_energy; } /* ---------------------------------------------------------------------- From 82dc03ab3daf58c193e2bddd5664b56f585e07b5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 21:17:52 -0500 Subject: [PATCH 103/132] update examples and log files for cases affected by the fix_modify changes --- examples/hugoniostat/in.hugoniostat | 30 +- .../hugoniostat/log.08Feb21.hugoniostat.g++.1 | 399 +++++++++++++ .../hugoniostat/log.08Feb21.hugoniostat.g++.4 | 399 +++++++++++++ .../hugoniostat/log.27Nov18.hugoniostat.g++.1 | 401 ------------- .../hugoniostat/log.27Nov18.hugoniostat.g++.4 | 401 ------------- .../hugoniostat/log.5Oct16.hugoniostat.g++.1 | 110 ---- .../hugoniostat/log.5Oct16.hugoniostat.g++.4 | 110 ---- examples/msst/in.msst | 5 +- ...un20.msst.g++.1 => log.08Feb21.msst.g++.1} | 87 ++- ...un20.msst.g++.4 => log.08Feb21.msst.g++.4} | 91 ++- examples/threebody/in.threebody | 8 +- .../threebody/log.08Feb21.threebody.g++.1 | 373 ++++++++++++ .../threebody/log.08Feb21.threebody.g++.4 | 373 ++++++++++++ .../threebody/log.13Jan21.threebody.g++.1 | 547 ------------------ .../threebody/log.13Jan21.threebody.g++.4 | 547 ------------------ 15 files changed, 1644 insertions(+), 2237 deletions(-) create mode 100644 examples/hugoniostat/log.08Feb21.hugoniostat.g++.1 create mode 100644 examples/hugoniostat/log.08Feb21.hugoniostat.g++.4 delete mode 100644 examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 delete mode 100644 examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 delete mode 100644 examples/hugoniostat/log.5Oct16.hugoniostat.g++.1 delete mode 100644 examples/hugoniostat/log.5Oct16.hugoniostat.g++.4 rename examples/msst/{log.30Jun20.msst.g++.1 => log.08Feb21.msst.g++.1} (67%) rename examples/msst/{log.30Jun20.msst.g++.4 => log.08Feb21.msst.g++.4} (66%) create mode 100644 examples/threebody/log.08Feb21.threebody.g++.1 create mode 100644 examples/threebody/log.08Feb21.threebody.g++.4 delete mode 100644 examples/threebody/log.13Jan21.threebody.g++.1 delete mode 100644 examples/threebody/log.13Jan21.threebody.g++.4 diff --git a/examples/hugoniostat/in.hugoniostat b/examples/hugoniostat/in.hugoniostat index 571f92b59e..8a36212f53 100644 --- a/examples/hugoniostat/in.hugoniostat +++ b/examples/hugoniostat/in.hugoniostat @@ -1,16 +1,16 @@ # This script reproduces stress trajectories from Fig. 1 in # Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) # -# Three thermostatting scenarios are visited: undamped (nodrag), +# Three thermostatting scenarios are visited: undamped (nodrag), # damped (drag) and Nose-Hoover chain (nhchains). # # The axial and shear stress trajectories are printed to the # file "stress_vs_t.dat". For the damped case, the original figure # seems to be a plot of 2*tau, rather than tau. # -# The script also demonstrates how to +# The script also demonstrates how to # orient a crystal along <110>, -# and how to use the lj/cubic pair style. +# and how to use the lj/cubic pair style. units lj boundary p p p @@ -39,7 +39,7 @@ pair_coeff * * 1.0 0.8908987 fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 thermo 100 -thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz +thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz min_modify line quadratic minimize 0.0 1.0e-6 10000 100000 @@ -61,16 +61,12 @@ reset_timestep 0 # Pzz = 40.0, drag/damping term off -fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain 0 +fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain 0 # Specify reference state from paper, times 1000 atoms fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to output etotal - -fix_modify myhug energy yes - # Define output variable dele equal f_myhug[1] # energy delta [temperature] @@ -81,7 +77,7 @@ variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress variable time equal dt*step thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (no drag)' @@ -109,16 +105,12 @@ reset_timestep 0 # Pzz = 40.0, drag/damping term on -fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 +fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 # Specify reference state from paper, times 1000 atoms fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to output etotal - -fix_modify myhug energy yes - # Define output variable dele equal f_myhug[1] # energy delta [temperature] @@ -129,7 +121,7 @@ variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress variable time equal dt*step thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (with drag)' @@ -153,10 +145,6 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to output etotal - -fix_modify myhug energy yes - # Define output variable dele equal f_myhug[1] # energy delta [temperature] @@ -167,7 +155,7 @@ variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress variable time equal dt*step thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (Nose-Hoover chain)' diff --git a/examples/hugoniostat/log.08Feb21.hugoniostat.g++.1 b/examples/hugoniostat/log.08Feb21.hugoniostat.g++.1 new file mode 100644 index 0000000000..5641c14048 --- /dev/null +++ b/examples/hugoniostat/log.08Feb21.hugoniostat.g++.1 @@ -0,0 +1,399 @@ +LAMMPS (24 Dec 2020) + using 1 OpenMP thread(s) per MPI task +# This script reproduces stress trajectories from Fig. 1 in +# Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) +# +# Three thermostatting scenarios are visited: undamped (nodrag), +# damped (drag) and Nose-Hoover chain (nhchains). +# +# The axial and shear stress trajectories are printed to the +# file "stress_vs_t.dat". For the damped case, the original figure +# seems to be a plot of 2*tau, rather than tau. +# +# The script also demonstrates how to +# orient a crystal along <110>, +# and how to use the lj/cubic pair style. + +units lj +boundary p p p + +atom_style atomic + +# Set up FCC lattice with z axis along <110> + +lattice fcc 1.4142136 orient x 0 0 1 orient y 1 -1 0 orient z 1 1 0 +Lattice spacing in x,y,z = 1.4142135 2.0000000 2.0000000 + +region mycell block 0.0 5.0 0.0 5.0 0.0 5.0 units lattice +create_box 1 mycell +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.0710677 9.9999999 9.9999999) + 1 by 1 by 1 MPI processor grid +mass * 1.0 +create_atoms 1 box +Created 1000 atoms + create_atoms CPU = 0.001 seconds + +# Using units of Rmin, so sigma = 2^-1/6 = 0.8908987 + +pair_style lj/cubic +pair_coeff * * 1.0 0.8908987 + +# Relax box dimensions + +fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 + +thermo 100 +thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz + +min_modify line quadratic +minimize 0.0 1.0e-6 10000 100000 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:188) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.8475372 + ghost atom cutoff = 1.8475372 + binsize = 0.92376862, bins = 8 11 11 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.247 | 4.247 | 4.247 Mbytes +Step Temp PotEng TotEng Pxx Pyy Pzz Lx Ly Lz + 0 0 -6.2937536 -6.2937536 -2.7722424 -2.7722424 -2.7722424 7.0710677 9.9999999 9.9999999 + 100 0 -6.3319014 -6.3319014 -0.75971257 -0.75971257 -0.75971257 7.0003571 9.8999999 9.8999999 + 134 0 -6.3344253 -6.3344253 -4.3330648e-13 -4.7530261e-13 -4.7130069e-13 6.9780267 9.8684199 9.8684199 +Loop time of 0.200013 on 1 procs for 134 steps with 1000 atoms + +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = force tolerance + Energy initial, next-to-last, final = + -6.29375358358557 -6.33442531515503 -6.33442531515503 + Force two-norm initial, final = 3395.2895 5.5740327e-10 + Force max component initial, final = 1960.2713 3.2730334e-10 + Final line search alpha, max atom move = 1.0000000 3.2730334e-10 + Iterations, force evaluations = 134 137 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14357 | 0.14357 | 0.14357 | 0.0 | 71.78 +Neigh | 0.0017562 | 0.0017562 | 0.0017562 | 0.0 | 0.88 +Comm | 0.0049057 | 0.0049057 | 0.0049057 | 0.0 | 2.45 +Output | 5.126e-05 | 5.126e-05 | 5.126e-05 | 0.0 | 0.03 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.04973 | | | 24.86 + +Nlocal: 1000.00 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1724.00 ave 1724 max 1724 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 21000.0 ave 21000 max 21000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 21000 +Ave neighs/atom = 21.000000 +Neighbor list builds = 1 +Dangerous builds = 0 + +# Define initial velocity + +velocity all create 0.01 87287 mom yes rot yes dist gaussian +write_restart restart.equil +System init for write_restart ... + +# Start Run #1 + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.046520549 0.065789991 0.065789991) to (7.0245472 9.9342099 9.9342099) + 1 by 1 by 1 MPI processor grid + restoring pair style lj/cubic from restart + 1000 atoms + read_restart CPU = 0.001 seconds + +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes +timestep 0.001 +reset_timestep 0 + +# Pzz = 40.0, drag/damping term off + +fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain 0 + +# Specify reference state from paper, times 1000 atoms + +fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 + +# Define output + +variable dele equal f_myhug[1] # energy delta [temperature] +variable us equal f_myhug[2] # shock velocity [distance/time] +variable up equal f_myhug[3] # particle velocity [distance/time] +variable pzz equal pzz # axial stress +variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress +variable time equal dt*step + +thermo 1000 +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up + +fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (no drag)' + +#dump id all atom 500 dump.hugoniostat + +#dump 2 all image 500 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 500 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.7475372 + ghost atom cutoff = 1.7475372 + binsize = 0.87376862, bins = 8 12 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.124 | 3.124 Mbytes +Step Temp KinEng E_pair Econserve Pzz v_tau Lz f_myhug v_dele v_us v_up + 0 0.01 0.014985 -6.3344253 -6.3194403 0.014381062 -0.00023971829 9.8684199 0 -0.004855267 2.3814248 0.0041108563 + 1000 0.0093381492 0.013993217 -2.1704431 -4183.8284 129.15284 58.544409 8.3142517 -4.1816719 0.93744212 23.519052 3.7381985 + 2000 0.24794859 0.37155095 -5.8915826 -528.38691 8.3849811 1.3744297 9.5938806 -0.52286688 -0.24350394 13.910493 0.41033425 + 3000 0.3892042 0.5832225 -3.7686896 -3442.3257 72.742382 28.486576 8.6238082 -3.4391402 0.0038227739 19.697354 2.5139569 + 4000 0.67010303 1.0041494 -4.2080956 -2935.8105 35.596234 3.9346859 8.7508489 -2.9326065 -0.58038927 14.529876 1.6677093 + 5000 0.41845028 0.62704774 -4.8392822 -1894.6664 30.624319 4.6370699 8.7827304 -1.8904542 -0.31998377 13.670423 1.5249748 + 6000 0.22409652 0.33580864 -3.7653422 -2666.4156 50.804071 7.220865 8.25496 -2.6629861 -0.017448126 14.48017 2.3883779 + 7000 0.094832866 0.14210705 -4.5432169 -2337.0271 35.853414 3.4750842 8.4475655 -2.332626 -0.052659776 12.95347 1.8841809 + 8000 0.043338745 0.06494311 -4.6249403 -1687.4892 39.679004 6.7256868 8.4321684 -1.6829292 0.070571417 13.554654 1.9927395 + 9000 0.018233343 0.027322664 -4.425909 -1916.4941 41.680023 5.9079935 8.3470382 -1.9120955 0.090887676 13.502397 2.1013348 + 10000 0.0082616415 0.01238007 -4.6221264 -1723.6542 39.842157 6.5678795 8.41093 -1.7190444 0.099616538 13.484322 2.0113699 +Loop time of 15.2001 on 1 procs for 10000 steps with 1000 atoms + +Performance: 56841.813 tau/day, 657.891 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 | 11.69 | 11.69 | 11.69 | 0.0 | 76.91 +Neigh | 0.34087 | 0.34087 | 0.34087 | 0.0 | 2.24 +Comm | 0.41211 | 0.41211 | 0.41211 | 0.0 | 2.71 +Output | 0.001153 | 0.001153 | 0.001153 | 0.0 | 0.01 +Modify | 2.6404 | 2.6404 | 2.6404 | 0.0 | 17.37 +Other | | 0.1158 | | | 0.76 + +Nlocal: 1000.00 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1886.00 ave 1886 max 1886 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 20874.0 ave 20874 max 20874 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 20874 +Ave neighs/atom = 20.874000 +Neighbor list builds = 188 +Dangerous builds = 0 + +# Start Run #2 + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.046520549 0.065789991 0.065789991) to (7.0245472 9.9342099 9.9342099) + 1 by 1 by 1 MPI processor grid + restoring pair style lj/cubic from restart + 1000 atoms + read_restart CPU = 0.001 seconds + +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes +timestep 0.001 +reset_timestep 0 + +# Pzz = 40.0, drag/damping term on + +fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 + +# Specify reference state from paper, times 1000 atoms + +fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 + +# Define output + +variable dele equal f_myhug[1] # energy delta [temperature] +variable us equal f_myhug[2] # shock velocity [distance/time] +variable up equal f_myhug[3] # particle velocity [distance/time] +variable pzz equal pzz # axial stress +variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress +variable time equal dt*step + +thermo 1000 +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up + +fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (with drag)' + +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.7475372 + ghost atom cutoff = 1.7475372 + binsize = 0.87376862, bins = 8 12 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.124 | 3.124 Mbytes +Step Temp KinEng E_pair Econserve Pzz v_tau Lz f_myhug v_dele v_us v_up + 0 0.01 0.014985 -6.3344253 -6.3194403 0.014381062 -0.00023971829 9.8684199 0 -0.004855267 2.3814248 0.0041108563 + 1000 0.0062572988 0.0093765623 -5.989087 -1670.9191 18.918118 7.5844401 9.2338165 -1.6649394 0.023419337 13.976997 0.92138738 + 2000 0.0068451081 0.010257394 -5.456581 -2537.81 37.064253 15.537266 8.9496405 -2.5323637 0.10230605 16.325406 1.5455016 + 3000 0.0073276099 0.010980423 -5.3663421 -2643.8751 39.907292 16.807489 8.9154852 -2.6385198 0.11818116 16.63905 1.6326832 + 4000 0.0069296906 0.010384141 -5.36234 -2655.7228 40.010742 16.851482 8.9144328 -2.6503709 0.11868137 16.651571 1.6356847 + 5000 0.0076142461 0.011409948 -5.3631443 -2664.4499 39.997648 16.846756 8.9145416 -2.6590982 0.1184114 16.649779 1.6353254 + 6000 0.0077053831 0.011546517 -5.3628538 -2673.2444 39.991598 16.840314 8.9145803 -2.667893 0.11818361 16.648852 1.6351691 + 7000 0.0077405663 0.011599239 -5.3623531 -2682.1589 40.000448 16.844009 8.9145774 -2.6768081 0.11809899 16.650669 1.6353525 + 8000 0.0080673569 0.012088934 -5.3623755 -2691.0104 39.995327 16.840134 8.9146099 -2.6856601 0.11787103 16.649882 1.6352204 + 9000 0.0083223083 0.012470979 -5.3622988 -2699.8929 40.00571 16.847764 8.9146503 -2.6945431 0.11781523 16.652389 1.6353987 + 10000 0.0091249116 0.01367368 -5.3630138 -2708.966 39.987197 16.837314 8.9146848 -2.7036167 0.11743014 16.648832 1.6349911 +Loop time of 13.6753 on 1 procs for 10000 steps with 1000 atoms + +Performance: 63179.754 tau/day, 731.247 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 | 10.568 | 10.568 | 10.568 | 0.0 | 77.28 +Neigh | 0.019792 | 0.019792 | 0.019792 | 0.0 | 0.14 +Comm | 0.33708 | 0.33708 | 0.33708 | 0.0 | 2.46 +Output | 0.0011928 | 0.0011928 | 0.0011928 | 0.0 | 0.01 +Modify | 2.639 | 2.639 | 2.639 | 0.0 | 19.30 +Other | | 0.1101 | | | 0.81 + +Nlocal: 1000.00 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1724.00 ave 1724 max 1724 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 21000.0 ave 21000 max 21000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 21000 +Ave neighs/atom = 21.000000 +Neighbor list builds = 11 +Dangerous builds = 0 + +# Start Run #3 + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.046520549 0.065789991 0.065789991) to (7.0245472 9.9342099 9.9342099) + 1 by 1 by 1 MPI processor grid + restoring pair style lj/cubic from restart + 1000 atoms + read_restart CPU = 0.001 seconds + +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes +timestep 0.001 +reset_timestep 0 + +# Pzz = 40.0, drag/damping term off, Nose-Hoover chains + +fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 + +# Specify reference state from paper, times 1000 atoms + +fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 + +# Define output + +variable dele equal f_myhug[1] # energy delta [temperature] +variable us equal f_myhug[2] # shock velocity [distance/time] +variable up equal f_myhug[3] # particle velocity [distance/time] +variable pzz equal pzz # axial stress +variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress +variable time equal dt*step + +thermo 1000 +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up + +fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (Nose-Hoover chain)' + +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.7475372 + ghost atom cutoff = 1.7475372 + binsize = 0.87376862, bins = 8 12 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.124 | 3.124 Mbytes +Step Temp KinEng E_pair Econserve Pzz v_tau Lz f_myhug v_dele v_us v_up + 0 0.01 0.014985 -6.3344253 -6.3194403 0.014381062 -0.00023971829 9.8684199 0 -0.004855267 2.3814248 0.0041108563 + 1000 0.0083300318 0.012482553 -5.5023183 -838.99233 35.610078 14.886668 8.9677982 -0.83350249 0.093761717 16.159482 1.500112 + 2000 0.020386436 0.030549075 -5.294934 -1021.4347 41.760404 17.563313 8.8960328 -1.0161703 0.1178086 16.852842 1.6868239 + 3000 0.049693082 0.074465084 -5.3469418 -982.1922 39.030412 16.123502 8.9325589 -0.97691972 0.073097533 16.601991 1.6003728 + 4000 0.11859524 0.17771497 -5.207074 -1299.948 40.941639 16.507821 8.9213137 -1.2949186 0.018189971 16.904165 1.6487306 + 5000 0.130146 0.19502378 -5.261025 -1208.3405 39.059595 15.609328 8.9431689 -1.2032745 -0.00023811036 16.701434 1.5920334 + 6000 0.13812959 0.20698719 -5.1710048 -1334.1421 40.904888 16.242199 8.9222846 -1.329178 -0.0044756362 16.90509 1.6471606 + 7000 0.12107441 0.18143001 -5.2602562 -1170.0585 39.060849 15.577606 8.9397535 -1.1649797 0.005587398 16.671517 1.5949415 + 8000 0.14333426 0.21478639 -5.1717109 -1352.635 40.876285 16.205871 8.9218128 -1.3476781 -0.0069373292 16.895041 1.6469877 + 9000 0.12159783 0.18221435 -5.2591928 -1186.8604 39.22852 15.6778 8.9376658 -1.1817834 0.0077335044 16.68885 1.6001243 + 10000 0.15321647 0.22959488 -5.188176 -1391.2245 40.666599 16.146259 8.9228489 -1.3862659 -0.0091900905 16.860718 1.6418747 +Loop time of 13.963 on 1 procs for 10000 steps with 1000 atoms + +Performance: 61877.846 tau/day, 716.179 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 | 10.667 | 10.667 | 10.667 | 0.0 | 76.40 +Neigh | 0.16763 | 0.16763 | 0.16763 | 0.0 | 1.20 +Comm | 0.36182 | 0.36182 | 0.36182 | 0.0 | 2.59 +Output | 0.0011809 | 0.0011809 | 0.0011809 | 0.0 | 0.01 +Modify | 2.6516 | 2.6516 | 2.6516 | 0.0 | 18.99 +Other | | 0.1135 | | | 0.81 + +Nlocal: 1000.00 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1724.00 ave 1724 max 1724 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 20654.0 ave 20654 max 20654 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 20654 +Ave neighs/atom = 20.654000 +Neighbor list builds = 94 +Dangerous builds = 0 + +Total wall time: 0:00:43 diff --git a/examples/hugoniostat/log.08Feb21.hugoniostat.g++.4 b/examples/hugoniostat/log.08Feb21.hugoniostat.g++.4 new file mode 100644 index 0000000000..529407ae2b --- /dev/null +++ b/examples/hugoniostat/log.08Feb21.hugoniostat.g++.4 @@ -0,0 +1,399 @@ +LAMMPS (24 Dec 2020) + using 1 OpenMP thread(s) per MPI task +# This script reproduces stress trajectories from Fig. 1 in +# Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) +# +# Three thermostatting scenarios are visited: undamped (nodrag), +# damped (drag) and Nose-Hoover chain (nhchains). +# +# The axial and shear stress trajectories are printed to the +# file "stress_vs_t.dat". For the damped case, the original figure +# seems to be a plot of 2*tau, rather than tau. +# +# The script also demonstrates how to +# orient a crystal along <110>, +# and how to use the lj/cubic pair style. + +units lj +boundary p p p + +atom_style atomic + +# Set up FCC lattice with z axis along <110> + +lattice fcc 1.4142136 orient x 0 0 1 orient y 1 -1 0 orient z 1 1 0 +Lattice spacing in x,y,z = 1.4142135 2.0000000 2.0000000 + +region mycell block 0.0 5.0 0.0 5.0 0.0 5.0 units lattice +create_box 1 mycell +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.0710677 9.9999999 9.9999999) + 1 by 2 by 2 MPI processor grid +mass * 1.0 +create_atoms 1 box +Created 1000 atoms + create_atoms CPU = 0.105 seconds + +# Using units of Rmin, so sigma = 2^-1/6 = 0.8908987 + +pair_style lj/cubic +pair_coeff * * 1.0 0.8908987 + +# Relax box dimensions + +fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 + +thermo 100 +thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz + +min_modify line quadratic +minimize 0.0 1.0e-6 10000 100000 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:188) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.8475372 + ghost atom cutoff = 1.8475372 + binsize = 0.92376862, bins = 8 11 11 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.211 | 4.211 | 4.211 Mbytes +Step Temp PotEng TotEng Pxx Pyy Pzz Lx Ly Lz + 0 0 -6.2937536 -6.2937536 -2.7722424 -2.7722424 -2.7722424 7.0710677 9.9999999 9.9999999 + 100 0 -6.3319014 -6.3319014 -0.75971257 -0.75971257 -0.75971257 7.0003571 9.8999999 9.8999999 + 134 0 -6.3344253 -6.3344253 -4.303004e-13 -4.72443e-13 -4.7038971e-13 6.9780267 9.8684199 9.8684199 +Loop time of 0.38554 on 4 procs for 134 steps with 1000 atoms + +75.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = force tolerance + Energy initial, next-to-last, final = + -6.29375358358589 -6.33442531515435 -6.33442531515435 + Force two-norm initial, final = 3395.2895 5.5617370e-10 + Force max component initial, final = 1960.2713 3.2533415e-10 + Final line search alpha, max atom move = 1.0000000 3.2533415e-10 + Iterations, force evaluations = 134 137 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.031873 | 0.042436 | 0.055233 | 4.3 | 11.01 +Neigh | 0.0004189 | 0.00049466 | 0.00058317 | 0.0 | 0.13 +Comm | 0.085755 | 0.095315 | 0.10484 | 2.7 | 24.72 +Output | 2.8372e-05 | 3.0637e-05 | 3.6955e-05 | 0.0 | 0.01 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.2473 | | | 64.13 + +Nlocal: 250.000 ave 305 max 205 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Nghost: 829.000 ave 874 max 774 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 5250.00 ave 6445 max 4305 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 21000 +Ave neighs/atom = 21.000000 +Neighbor list builds = 1 +Dangerous builds = 0 + +# Define initial velocity + +velocity all create 0.01 87287 mom yes rot yes dist gaussian +write_restart restart.equil +System init for write_restart ... + +# Start Run #1 + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.046520549 0.065789991 0.065789991) to (7.0245472 9.9342099 9.9342099) + 1 by 2 by 2 MPI processor grid + restoring pair style lj/cubic from restart + 1000 atoms + read_restart CPU = 0.006 seconds + +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes +timestep 0.001 +reset_timestep 0 + +# Pzz = 40.0, drag/damping term off + +fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain 0 + +# Specify reference state from paper, times 1000 atoms + +fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 + +# Define output + +variable dele equal f_myhug[1] # energy delta [temperature] +variable us equal f_myhug[2] # shock velocity [distance/time] +variable up equal f_myhug[3] # particle velocity [distance/time] +variable pzz equal pzz # axial stress +variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress +variable time equal dt*step + +thermo 1000 +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up + +fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (no drag)' + +#dump id all atom 500 dump.hugoniostat + +#dump 2 all image 500 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 500 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.7475372 + ghost atom cutoff = 1.7475372 + binsize = 0.87376862, bins = 8 12 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.086 | 3.086 | 3.086 Mbytes +Step Temp KinEng E_pair Econserve Pzz v_tau Lz f_myhug v_dele v_us v_up + 0 0.01 0.014985 -6.3344253 -6.3194403 0.014347835 -0.00026463907 9.8684199 0 -0.0048552735 2.378672 0.0041061045 + 1000 0.010586669 0.015864123 -2.1721826 -4183.9265 129.03333 58.456619 8.3141284 -4.1817701 0.93542364 23.507245 3.7366151 + 2000 0.33213628 0.49770621 -5.5847928 -972.65689 12.097176 1.2026574 9.4616027 -0.9675698 -0.35714344 13.85823 0.59422982 + 3000 0.46981589 0.70401911 -3.9208694 -3177.4622 63.005615 22.559014 8.6828715 -3.1742453 -0.16959033 18.776506 2.284245 + 4000 0.5486246 0.82211396 -4.170224 -2897.9717 38.4091 4.9062274 8.6573154 -2.8946236 -0.45434723 14.506949 1.8023381 + 5000 0.30607733 0.45865688 -4.73528 -1914.3534 35.002193 6.2096608 8.6658138 -1.9100768 -0.19602135 13.896788 1.714585 + 6000 0.13928238 0.20871465 -4.3038564 -1672.0118 50.372856 12.190245 8.3966652 -1.6679166 0.11455965 15.089171 2.2725288 + 7000 0.055325106 0.082904671 -5.2030895 -1689.3101 30.859753 6.5561993 8.6850199 -1.6841899 0.020593532 13.15254 1.5972063 + 8000 0.02793065 0.041854078 -4.5281755 -966.55101 48.144696 12.229149 8.4107035 -0.96206469 0.19920754 14.821718 2.2112004 + 9000 0.018182543 0.02724654 -4.9847463 -1618.778 37.347471 8.7290944 8.5607031 -1.6138205 0.10912671 13.773572 1.8458347 + 10000 0.0082850143 0.012415094 -5.0129769 -1686.404 36.462176 8.3390717 8.5689886 -1.6814034 0.10655037 13.652105 1.8181142 +Loop time of 22.212 on 4 procs for 10000 steps with 1000 atoms + +Performance: 38897.956 tau/day, 450.208 timesteps/s +76.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 | 3.4702 | 3.5904 | 3.684 | 4.4 | 16.16 +Neigh | 0.1001 | 0.10727 | 0.11784 | 2.0 | 0.48 +Comm | 5.1418 | 5.2862 | 5.3573 | 3.7 | 23.80 +Output | 0.083086 | 0.095493 | 0.11021 | 4.0 | 0.43 +Modify | 11.789 | 11.841 | 11.967 | 2.1 | 53.31 +Other | | 1.292 | | | 5.82 + +Nlocal: 250.000 ave 260 max 240 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 927.500 ave 934 max 921 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 5049.00 ave 5203 max 4889 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 20196 +Ave neighs/atom = 20.196000 +Neighbor list builds = 175 +Dangerous builds = 0 + +# Start Run #2 + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.046520549 0.065789991 0.065789991) to (7.0245472 9.9342099 9.9342099) + 1 by 2 by 2 MPI processor grid + restoring pair style lj/cubic from restart + 1000 atoms + read_restart CPU = 0.001 seconds + +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes +timestep 0.001 +reset_timestep 0 + +# Pzz = 40.0, drag/damping term on + +fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 + +# Specify reference state from paper, times 1000 atoms + +fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 + +# Define output + +variable dele equal f_myhug[1] # energy delta [temperature] +variable us equal f_myhug[2] # shock velocity [distance/time] +variable up equal f_myhug[3] # particle velocity [distance/time] +variable pzz equal pzz # axial stress +variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress +variable time equal dt*step + +thermo 1000 +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up + +fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (with drag)' + +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.7475372 + ghost atom cutoff = 1.7475372 + binsize = 0.87376862, bins = 8 12 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.086 | 3.086 | 3.086 Mbytes +Step Temp KinEng E_pair Econserve Pzz v_tau Lz f_myhug v_dele v_us v_up + 0 0.01 0.014985 -6.3344253 -6.3194403 0.014347835 -0.00026463907 9.8684199 0 -0.0048552735 2.378672 0.0041061045 + 1000 0.0063089135 0.0094539069 -5.9892322 -1671.0142 18.914957 7.5823225 9.2337797 -1.6650344 0.02342632 13.975435 0.92133641 + 2000 0.006881368 0.01031173 -5.4566762 -2537.9852 37.064191 15.537213 8.9495783 -2.5325389 0.1023455 16.32485 1.5455517 + 3000 0.0072427308 0.010853232 -5.3662814 -2644.0227 39.906002 16.80569 8.9154322 -2.6386673 0.1182133 16.638326 1.6327015 + 4000 0.0070936511 0.010629836 -5.362616 -2655.9513 40.007995 16.850321 8.9143648 -2.6505993 0.11869211 16.650416 1.6356858 + 5000 0.0074091959 0.01110268 -5.3628939 -2664.5927 39.998199 16.845204 8.9144816 -2.6592409 0.11846407 16.649379 1.6353872 + 6000 0.0077388568 0.011596677 -5.362926 -2673.502 39.995216 16.842807 8.9145056 -2.6681507 0.11826568 16.648964 1.635306 + 7000 0.0076023299 0.011392091 -5.3621079 -2682.3942 39.998343 16.839762 8.9144789 -2.6770435 0.1181081 16.649386 1.6353924 + 8000 0.0076916892 0.011525996 -5.3617056 -2691.2334 40.000701 16.839078 8.9144843 -2.6858832 0.11795298 16.649924 1.635436 + 9000 0.0082153298 0.012310672 -5.3620895 -2700.1796 40.006134 16.845865 8.914544 -2.6948298 0.11785245 16.651566 1.6354968 + 10000 0.0088368733 0.013242055 -5.3625353 -2709.138 39.989575 16.835079 8.914577 -2.7037887 0.11749055 16.648403 1.6351305 +Loop time of 19.325 on 4 procs for 10000 steps with 1000 atoms + +Performance: 44708.822 tau/day, 517.463 timesteps/s +77.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.3012 | 3.4003 | 3.584 | 5.9 | 17.60 +Neigh | 0.0047636 | 0.0054044 | 0.0072584 | 1.5 | 0.03 +Comm | 4.5282 | 4.5961 | 4.651 | 2.1 | 23.78 +Output | 0.00071692 | 0.0062424 | 0.0086811 | 4.1 | 0.03 +Modify | 10.133 | 10.215 | 10.287 | 1.7 | 52.86 +Other | | 1.102 | | | 5.70 + +Nlocal: 250.000 ave 258 max 239 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 829.000 ave 840 max 821 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Neighs: 5250.00 ave 5360 max 5090 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 21000 +Ave neighs/atom = 21.000000 +Neighbor list builds = 10 +Dangerous builds = 0 + +# Start Run #3 + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.046520549 0.065789991 0.065789991) to (7.0245472 9.9342099 9.9342099) + 1 by 2 by 2 MPI processor grid + restoring pair style lj/cubic from restart + 1000 atoms + read_restart CPU = 0.001 seconds + +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes +timestep 0.001 +reset_timestep 0 + +# Pzz = 40.0, drag/damping term off, Nose-Hoover chains + +fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 + +# Specify reference state from paper, times 1000 atoms + +fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 + +# Define output + +variable dele equal f_myhug[1] # energy delta [temperature] +variable us equal f_myhug[2] # shock velocity [distance/time] +variable up equal f_myhug[3] # particle velocity [distance/time] +variable pzz equal pzz # axial stress +variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress +variable time equal dt*step + +thermo 1000 +thermo_style custom step temp ke epair econserve pzz v_tau lz f_myhug v_dele v_us v_up + +fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (Nose-Hoover chain)' + +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.7475372 + ghost atom cutoff = 1.7475372 + binsize = 0.87376862, bins = 8 12 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cubic, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.086 | 3.086 | 3.086 Mbytes +Step Temp KinEng E_pair Econserve Pzz v_tau Lz f_myhug v_dele v_us v_up + 0 0.01 0.014985 -6.3344253 -6.3194403 0.014347835 -0.00026463907 9.8684199 0 -0.0048552735 2.378672 0.0041061045 + 1000 0.0078345757 0.011740112 -5.5017136 -838.78091 35.616593 14.888102 8.9677603 -0.83329094 0.093891841 16.160627 1.5002802 + 2000 0.019260442 0.028861773 -5.2936038 -1018.9574 41.771461 17.563025 8.8958988 -1.0136927 0.11811776 16.853931 1.6871615 + 3000 0.04811126 0.072094723 -5.3454068 -976.69826 39.061528 16.137201 8.9322605 -0.97142494 0.073850795 16.606008 1.6012612 + 4000 0.11854637 0.17764173 -5.2071392 -1296.5766 40.843143 16.426195 8.9202981 -1.2915471 0.017621672 16.874934 1.6476132 + 5000 0.13634185 0.20430827 -5.2645154 -1258.4101 39.098283 15.627986 8.9407719 -1.2533499 -0.00067591716 16.688492 1.5948462 + 6000 0.14222512 0.21312434 -5.1774698 -1369.5986 40.888661 16.260803 8.9214848 -1.3646342 -0.0041700902 16.894723 1.6475174 + 7000 0.12683772 0.19006633 -5.2679854 -1210.973 39.084165 15.633846 8.9393379 -1.2058951 0.00572464 16.672829 1.595768 + 8000 0.14531337 0.21775209 -5.1737911 -1372.667 40.861256 16.19118 8.9199953 -1.367711 -0.0065459838 16.876028 1.648237 + 9000 0.12123505 0.18167072 -5.2546764 -1189.0875 39.276006 15.677923 8.9363537 -1.1840145 0.0075170176 16.687402 1.6022003 + 10000 0.1477113 0.22134539 -5.1833959 -1353.4057 40.578404 16.080238 8.9245614 -1.3484436 -0.0098061873 16.857426 1.6386338 +Loop time of 18.9651 on 4 procs for 10000 steps with 1000 atoms + +Performance: 45557.373 tau/day, 527.284 timesteps/s +77.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 | 3.1152 | 3.3473 | 3.5591 | 10.0 | 17.65 +Neigh | 0.045731 | 0.056706 | 0.066921 | 3.7 | 0.30 +Comm | 3.9563 | 4.1638 | 4.4413 | 9.7 | 21.96 +Output | 0.00067329 | 0.0033167 | 0.011241 | 7.9 | 0.02 +Modify | 10.321 | 10.425 | 10.482 | 2.0 | 54.97 +Other | | 0.9693 | | | 5.11 + +Nlocal: 250.000 ave 257 max 244 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Nghost: 832.250 ave 840 max 822 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 5144.25 ave 5282 max 4949 min +Histogram: 1 0 0 0 0 1 0 1 0 1 + +Total # of neighbors = 20577 +Ave neighs/atom = 20.577000 +Neighbor list builds = 95 +Dangerous builds = 0 + +Total wall time: 0:01:01 diff --git a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 deleted file mode 100644 index c1381629eb..0000000000 --- a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 +++ /dev/null @@ -1,401 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# This script reproduces stress trajectories from Fig. 1 in -# Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) -# -# Three thermostatting scenarios are visited: undamped (nodrag), -# damped (drag) and Nose-Hoover chain (nhchains). -# -# The axial and shear stress trajectories are printed to the -# file "stress_vs_t.dat". For the damped case, the original figure -# seems to be a plot of 2*tau, rather than tau. -# -# The script also demonstrates how to -# orient a crystal along <110>, -# and how to use the lj/cubic pair style. - -units lj -boundary p p p - -atom_style atomic - -# Set up FCC lattice with z axis along <110> - -lattice fcc 1.4142136 orient x 0 0 1 orient y 1 -1 0 orient z 1 1 0 -Lattice spacing in x,y,z = 1.41421 2 2 - -region mycell block 0.0 5.0 0.0 5.0 0.0 5.0 units lattice -create_box 1 mycell -Created orthogonal box = (0 0 0) to (7.07107 10 10) - 1 by 1 by 1 MPI processor grid -mass * 1.0 -create_atoms 1 box -Created 1000 atoms - Time spent = 0.000465155 secs - -# Using units of Rmin, so sigma = 2^-1/6 = 0.8908987 - -pair_style lj/cubic -pair_coeff * * 1.0 0.8908987 - -# Relax box dimensions - -fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 - -thermo 100 -thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz - -min_modify line quadratic -minimize 0.0 1.0e-6 10000 100000 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.84754 - ghost atom cutoff = 1.84754 - binsize = 0.923769, bins = 8 11 11 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.247 | 4.247 | 4.247 Mbytes -Step Temp PotEng TotEng Pxx Pyy Pzz Lx Ly Lz - 0 0 -6.2937539 -6.2937539 -2.7722431 -2.7722431 -2.7722431 7.0710677 9.9999999 9.9999999 - 100 0 -6.3319018 -6.3319018 -0.75971321 -0.75971321 -0.75971321 7.0003571 9.8999999 9.8999999 - 134 0 -6.3344257 -6.3344257 -4.5005818e-13 -4.9677973e-13 -4.9219424e-13 6.9780266 9.8684199 9.8684199 -Loop time of 0.0724094 on 1 procs for 134 steps with 1000 atoms - -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -Minimization stats: - Stopping criterion = force tolerance - Energy initial, next-to-last, final = - -6.2937539309 -6.33442568056 -6.33442568056 - Force two-norm initial, final = 3395.29 5.83329e-10 - Force max component initial, final = 1960.27 3.42093e-10 - Final line search alpha, max atom move = 1 3.42093e-10 - Iterations, force evaluations = 134 137 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.054599 | 0.054599 | 0.054599 | 0.0 | 75.40 -Neigh | 0.0011106 | 0.0011106 | 0.0011106 | 0.0 | 1.53 -Comm | 0.002012 | 0.002012 | 0.002012 | 0.0 | 2.78 -Output | 1.955e-05 | 1.955e-05 | 1.955e-05 | 0.0 | 0.03 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.01467 | | | 20.26 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1724 ave 1724 max 1724 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 21000 ave 21000 max 21000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 21000 -Ave neighs/atom = 21 -Neighbor list builds = 1 -Dangerous builds = 0 - -# Define initial velocity - -velocity all create 0.01 87287 mom yes rot yes dist gaussian -write_restart restart.equil - -# Start Run #1 - -clear - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil - restoring atom style atomic from restart - orthogonal box = (0.0465206 0.06579 0.06579) to (7.02455 9.93421 9.93421) - 1 by 1 by 1 MPI processor grid - restoring pair style lj/cubic from restart - 1000 atoms - -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes -timestep 0.001 -reset_timestep 0 - -# Pzz = 40.0, drag/damping term off - -fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain 0 - -# Specify reference state from paper, times 1000 atoms - -fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 - -# Add fix energy to output etotal - -fix_modify myhug energy yes - -# Define output - -variable dele equal f_myhug[1] # energy delta [temperature] -variable us equal f_myhug[2] # shock velocity [distance/time] -variable up equal f_myhug[3] # particle velocity [distance/time] -variable pzz equal pzz # axial stress -variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress -variable time equal dt*step - -thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up - -fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (no drag)' - -#dump id all atom 500 dump.hugoniostat - -#dump 2 all image 500 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 500 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -run 10000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.74754 - ghost atom cutoff = 1.74754 - binsize = 0.873769, bins = 8 12 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.771 | 2.771 | 2.771 Mbytes -Step Temp KinEng E_pair TotEng Pzz v_tau Lz f_myhug v_dele v_us v_up - 0 0.01 0.014985 -6.3344257 -6.3194407 0.014381062 -0.0002397183 9.8684199 0 -0.0048551451 2.3814196 0.0041108654 - 1000 0.0093381489 0.013993216 -2.170443 -6.3381216 129.15286 58.544417 8.3142516 -4.1816719 0.93744258 23.519053 3.7381989 - 2000 0.24794909 0.37155171 -5.8915802 -6.0429087 8.3850692 1.3744507 9.5938765 -0.5228803 -0.2435043 13.910468 0.4103393 - 3000 0.38920701 0.5832267 -3.768677 -6.6246124 72.742761 28.486747 8.623805 -3.439162 0.003825459 19.697379 2.5139668 - 4000 0.67009971 1.0041444 -4.2080644 -6.1365367 35.596179 3.9344133 8.7508422 -2.9326167 -0.58039603 14.529822 1.6677129 - 5000 0.41848975 0.62710689 -4.8393088 -6.1026724 30.626544 4.6387208 8.7827245 -1.8904705 -0.31996439 13.670884 1.5250343 - 6000 0.22410139 0.33581594 -3.7652941 -6.0923259 50.807437 7.2229456 8.2549488 -2.6628477 -0.017396966 14.4806 2.3884652 - 7000 0.095001485 0.14235972 -4.5436753 -6.7307217 35.8743 3.4938089 8.4476287 -2.3294061 -0.052272192 12.957528 1.8846881 - 8000 0.043277437 0.064851239 -4.6264096 -6.2447456 39.658659 6.7266325 8.4327483 -1.6831873 0.070488482 13.553882 1.9918311 - 9000 0.018271956 0.027380526 -4.4239627 -6.3085661 41.708324 5.9081923 8.3463321 -1.9119839 0.091057512 13.503882 2.1025305 - 10000 0.0082840001 0.012413574 -4.622252 -6.3316699 39.830379 6.5596321 8.4109569 -1.7218314 0.099435465 13.482451 2.0110543 -Loop time of 6.20702 on 1 procs for 10000 steps with 1000 atoms - -Performance: 139197.321 tau/day, 1611.080 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 | 5.0198 | 5.0198 | 5.0198 | 0.0 | 80.87 -Neigh | 0.21405 | 0.21405 | 0.21405 | 0.0 | 3.45 -Comm | 0.16164 | 0.16164 | 0.16164 | 0.0 | 2.60 -Output | 0.00053501 | 0.00053501 | 0.00053501 | 0.0 | 0.01 -Modify | 0.7419 | 0.7419 | 0.7419 | 0.0 | 11.95 -Other | | 0.06911 | | | 1.11 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1886 ave 1886 max 1886 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 20874 ave 20874 max 20874 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 20874 -Ave neighs/atom = 20.874 -Neighbor list builds = 188 -Dangerous builds = 0 - -# Start Run #2 - -clear - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil - restoring atom style atomic from restart - orthogonal box = (0.0465206 0.06579 0.06579) to (7.02455 9.93421 9.93421) - 1 by 1 by 1 MPI processor grid - restoring pair style lj/cubic from restart - 1000 atoms - -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes -timestep 0.001 -reset_timestep 0 - -# Pzz = 40.0, drag/damping term on - -fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 - -# Specify reference state from paper, times 1000 atoms - -fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 - -# Add fix energy to output etotal - -fix_modify myhug energy yes - -# Define output - -variable dele equal f_myhug[1] # energy delta [temperature] -variable us equal f_myhug[2] # shock velocity [distance/time] -variable up equal f_myhug[3] # particle velocity [distance/time] -variable pzz equal pzz # axial stress -variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress -variable time equal dt*step - -thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up - -fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (with drag)' - -run 10000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.74754 - ghost atom cutoff = 1.74754 - binsize = 0.873769, bins = 8 12 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.771 | 2.771 | 2.771 Mbytes -Step Temp KinEng E_pair TotEng Pzz v_tau Lz f_myhug v_dele v_us v_up - 0 0.01 0.014985 -6.3344257 -6.3194407 0.014381062 -0.0002397183 9.8684199 0 -0.0048551451 2.3814196 0.0041108654 - 1000 0.0062572991 0.0093765627 -5.9890874 -7.64465 18.918117 7.5844397 9.2338165 -1.6649392 0.02341947 13.976996 0.92138738 - 2000 0.006845108 0.010257394 -5.4565813 -7.9786876 37.064254 15.537266 8.9496404 -2.5323637 0.1023062 16.325405 1.5455017 - 3000 0.0073276109 0.010980425 -5.3663425 -7.9938818 39.907292 16.807488 8.9154852 -2.6385197 0.11818131 16.639049 1.6326833 - 4000 0.0069296915 0.010384143 -5.3623404 -8.0023271 40.010741 16.851482 8.9144328 -2.6503708 0.11868152 16.651571 1.6356847 - 5000 0.0076142476 0.01140995 -5.3631447 -8.0108329 39.997648 16.846756 8.9145416 -2.6590981 0.11841154 16.649778 1.6353255 - 6000 0.0077053839 0.011546518 -5.3628542 -8.0192007 39.991597 16.840313 8.9145803 -2.6678931 0.11818376 16.648851 1.6351691 - 7000 0.0077405662 0.011599239 -5.3623534 -8.0275624 40.000448 16.844008 8.9145774 -2.6768081 0.11809914 16.650669 1.6353525 - 8000 0.008067359 0.012088937 -5.3623759 -8.0359471 39.995327 16.840134 8.9146099 -2.6856601 0.11787118 16.649881 1.6352204 - 9000 0.0083223114 0.012470984 -5.3622992 -8.0443714 40.00571 16.847763 8.9146503 -2.6945431 0.11781538 16.652389 1.6353987 - 10000 0.0091249143 0.013673684 -5.3630142 -8.0529573 39.987196 16.837314 8.9146848 -2.7036168 0.11743028 16.648831 1.6349911 -Loop time of 5.48047 on 1 procs for 10000 steps with 1000 atoms - -Performance: 157650.687 tau/day, 1824.661 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 | 4.5166 | 4.5166 | 4.5166 | 0.0 | 82.41 -Neigh | 0.012162 | 0.012162 | 0.012162 | 0.0 | 0.22 -Comm | 0.14168 | 0.14168 | 0.14168 | 0.0 | 2.59 -Output | 0.00053787 | 0.00053787 | 0.00053787 | 0.0 | 0.01 -Modify | 0.74394 | 0.74394 | 0.74394 | 0.0 | 13.57 -Other | | 0.06553 | | | 1.20 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1724 ave 1724 max 1724 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 21000 ave 21000 max 21000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 21000 -Ave neighs/atom = 21 -Neighbor list builds = 11 -Dangerous builds = 0 - -# Start Run #3 - -clear - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil - restoring atom style atomic from restart - orthogonal box = (0.0465206 0.06579 0.06579) to (7.02455 9.93421 9.93421) - 1 by 1 by 1 MPI processor grid - restoring pair style lj/cubic from restart - 1000 atoms - -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes -timestep 0.001 -reset_timestep 0 - -# Pzz = 40.0, drag/damping term off, Nose-Hoover chains - -fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 - -# Specify reference state from paper, times 1000 atoms - -fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 - -# Add fix energy to output etotal - -fix_modify myhug energy yes - -# Define output - -variable dele equal f_myhug[1] # energy delta [temperature] -variable us equal f_myhug[2] # shock velocity [distance/time] -variable up equal f_myhug[3] # particle velocity [distance/time] -variable pzz equal pzz # axial stress -variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress -variable time equal dt*step - -thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up - -fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (Nose-Hoover chain)' - -run 10000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.74754 - ghost atom cutoff = 1.74754 - binsize = 0.873769, bins = 8 12 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.771 | 2.771 | 2.771 Mbytes -Step Temp KinEng E_pair TotEng Pzz v_tau Lz f_myhug v_dele v_us v_up - 0 0.01 0.014985 -6.3344257 -6.3194407 0.014381062 -0.0002397183 9.8684199 0 -0.0048551451 2.3814196 0.0041108654 - 1000 0.0083300394 0.012482564 -5.5023188 -6.3233387 35.610076 14.886667 8.9677982 -0.83350251 0.093761848 16.159481 1.500112 - 2000 0.020386462 0.030549113 -5.2949349 -6.2805556 41.760388 17.563305 8.896033 -1.0161699 0.11780863 16.85284 1.6868235 - 3000 0.049693152 0.074465188 -5.3469434 -6.2493961 39.030372 16.123483 8.9325594 -0.9769179 0.073097387 16.601986 1.6003716 - 4000 0.11859514 0.17771482 -5.207077 -6.3242752 40.941558 16.507785 8.9213147 -1.2949131 0.018189678 16.904156 1.6487282 - 5000 0.13014573 0.19502337 -5.2610248 -6.269279 39.059628 15.609345 8.9431685 -1.2032776 -0.00023747376 16.701437 1.5920344 - 6000 0.1381307 0.20698886 -5.171005 -6.2931942 40.904837 16.242165 8.9222854 -1.3291781 -0.0044770368 16.905086 1.6471589 - 7000 0.12107326 0.18142828 -5.2602554 -6.2438099 39.060928 15.57765 8.9397525 -1.1649827 0.0055890257 16.671524 1.594944 - 8000 0.14333636 0.21478954 -5.1717123 -6.304602 40.876188 16.205815 8.9218142 -1.3476793 -0.0069396327 16.895033 1.6469846 - 9000 0.12159663 0.18221255 -5.2591911 -6.2587685 39.228648 15.677869 8.9376641 -1.18179 0.0077357066 16.688862 1.6001283 - 10000 0.15321883 0.22959841 -5.1881787 -6.3448453 40.666451 16.146177 8.922851 -1.386265 -0.0091929687 16.860705 1.6418699 -Loop time of 5.6426 on 1 procs for 10000 steps with 1000 atoms - -Performance: 153120.907 tau/day, 1772.233 timesteps/s -98.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.5653 | 4.5653 | 4.5653 | 0.0 | 80.91 -Neigh | 0.10885 | 0.10885 | 0.10885 | 0.0 | 1.93 -Comm | 0.14695 | 0.14695 | 0.14695 | 0.0 | 2.60 -Output | 0.00055218 | 0.00055218 | 0.00055218 | 0.0 | 0.01 -Modify | 0.75364 | 0.75364 | 0.75364 | 0.0 | 13.36 -Other | | 0.0673 | | | 1.19 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1724 ave 1724 max 1724 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 20654 ave 20654 max 20654 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 20654 -Ave neighs/atom = 20.654 -Neighbor list builds = 94 -Dangerous builds = 0 - -Total wall time: 0:00:17 diff --git a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 deleted file mode 100644 index dd0766e81a..0000000000 --- a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 +++ /dev/null @@ -1,401 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# This script reproduces stress trajectories from Fig. 1 in -# Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) -# -# Three thermostatting scenarios are visited: undamped (nodrag), -# damped (drag) and Nose-Hoover chain (nhchains). -# -# The axial and shear stress trajectories are printed to the -# file "stress_vs_t.dat". For the damped case, the original figure -# seems to be a plot of 2*tau, rather than tau. -# -# The script also demonstrates how to -# orient a crystal along <110>, -# and how to use the lj/cubic pair style. - -units lj -boundary p p p - -atom_style atomic - -# Set up FCC lattice with z axis along <110> - -lattice fcc 1.4142136 orient x 0 0 1 orient y 1 -1 0 orient z 1 1 0 -Lattice spacing in x,y,z = 1.41421 2 2 - -region mycell block 0.0 5.0 0.0 5.0 0.0 5.0 units lattice -create_box 1 mycell -Created orthogonal box = (0 0 0) to (7.07107 10 10) - 1 by 2 by 2 MPI processor grid -mass * 1.0 -create_atoms 1 box -Created 1000 atoms - Time spent = 0.0003438 secs - -# Using units of Rmin, so sigma = 2^-1/6 = 0.8908987 - -pair_style lj/cubic -pair_coeff * * 1.0 0.8908987 - -# Relax box dimensions - -fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 - -thermo 100 -thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz - -min_modify line quadratic -minimize 0.0 1.0e-6 10000 100000 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.84754 - ghost atom cutoff = 1.84754 - binsize = 0.923769, bins = 8 11 11 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.211 | 4.211 | 4.211 Mbytes -Step Temp PotEng TotEng Pxx Pyy Pzz Lx Ly Lz - 0 0 -6.2937539 -6.2937539 -2.7722431 -2.7722431 -2.7722431 7.0710677 9.9999999 9.9999999 - 100 0 -6.3319018 -6.3319018 -0.75971321 -0.75971321 -0.75971321 7.0003571 9.8999999 9.8999999 - 134 0 -6.3344257 -6.3344257 -4.5046204e-13 -4.92206e-13 -4.9610344e-13 6.9780266 9.8684199 9.8684199 -Loop time of 0.0269771 on 4 procs for 134 steps with 1000 atoms - -94.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -Minimization stats: - Stopping criterion = force tolerance - Energy initial, next-to-last, final = - -6.2937539309 -6.33442568056 -6.33442568056 - Force two-norm initial, final = 3395.29 5.80609e-10 - Force max component initial, final = 1960.27 3.41627e-10 - Final line search alpha, max atom move = 1 3.41627e-10 - Iterations, force evaluations = 134 137 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.011534 | 0.013897 | 0.016008 | 1.3 | 51.51 -Neigh | 0.00024176 | 0.00029498 | 0.00035191 | 0.0 | 1.09 -Comm | 0.0029764 | 0.0050126 | 0.0073018 | 2.2 | 18.58 -Output | 1.8835e-05 | 1.9968e-05 | 2.2888e-05 | 0.0 | 0.07 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.007753 | | | 28.74 - -Nlocal: 250 ave 305 max 205 min -Histogram: 1 0 0 0 2 0 0 0 0 1 -Nghost: 829 ave 874 max 774 min -Histogram: 1 0 0 0 0 0 2 0 0 1 -Neighs: 5250 ave 6445 max 4305 min -Histogram: 1 0 0 2 0 0 0 0 0 1 - -Total # of neighbors = 21000 -Ave neighs/atom = 21 -Neighbor list builds = 1 -Dangerous builds = 0 - -# Define initial velocity - -velocity all create 0.01 87287 mom yes rot yes dist gaussian -write_restart restart.equil - -# Start Run #1 - -clear - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil - restoring atom style atomic from restart - orthogonal box = (0.0465206 0.06579 0.06579) to (7.02455 9.93421 9.93421) - 1 by 2 by 2 MPI processor grid - restoring pair style lj/cubic from restart - 1000 atoms - -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes -timestep 0.001 -reset_timestep 0 - -# Pzz = 40.0, drag/damping term off - -fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain 0 - -# Specify reference state from paper, times 1000 atoms - -fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 - -# Add fix energy to output etotal - -fix_modify myhug energy yes - -# Define output - -variable dele equal f_myhug[1] # energy delta [temperature] -variable us equal f_myhug[2] # shock velocity [distance/time] -variable up equal f_myhug[3] # particle velocity [distance/time] -variable pzz equal pzz # axial stress -variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress -variable time equal dt*step - -thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up - -fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (no drag)' - -#dump id all atom 500 dump.hugoniostat - -#dump 2 all image 500 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 500 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -run 10000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.74754 - ghost atom cutoff = 1.74754 - binsize = 0.873769, bins = 8 12 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.717 | 2.809 | 3.086 Mbytes -Step Temp KinEng E_pair TotEng Pzz v_tau Lz f_myhug v_dele v_us v_up - 0 0.01 0.014985 -6.3344257 -6.3194407 0.014347835 -0.00026463907 9.8684199 0 -0.0048551516 2.3786668 0.0041061135 - 1000 0.010586668 0.015864122 -2.1721826 -6.3380886 129.03334 58.456626 8.3141284 -4.1817701 0.93542408 23.507246 3.7366154 - 2000 0.3321368 0.49770699 -5.584787 -6.0546694 12.097343 1.2026972 9.4615963 -0.96758935 -0.3571439 13.858218 0.5942385 - 3000 0.46981685 0.70402055 -3.9208474 -6.3911005 63.005989 22.559106 8.6828663 -3.1742737 -0.16958917 18.776521 2.2842567 - 4000 0.54866493 0.82217439 -4.1703408 -6.2427645 38.408608 4.9066022 8.6573289 -2.894598 -0.45434132 14.506935 1.8023166 - 5000 0.30625495 0.45892304 -4.7355785 -6.186448 35.000599 6.2097986 8.6658098 -1.9097925 -0.19603125 13.896448 1.7145489 - 6000 0.13938196 0.20886386 -4.303964 -5.7629121 50.370681 12.189231 8.3966581 -1.6678119 0.11451271 15.088809 2.2724852 - 7000 0.055349516 0.082941249 -5.2031342 -6.8043199 30.859256 6.5562297 8.6850282 -1.684127 0.020586458 13.152479 1.5971879 - 8000 0.027926794 0.0418483 -4.5281656 -5.4484008 48.145681 12.229919 8.4107051 -0.96208352 0.19922201 14.821877 2.2112219 - 9000 0.018195086 0.027265336 -4.9847444 -6.5712684 37.347655 8.7291385 8.5606968 -1.6137894 0.10912534 13.773573 1.8458438 - 10000 0.0082893467 0.012421586 -5.0130076 -6.6821423 36.46118 8.3386716 8.5689995 -1.6815563 0.1065388 13.651975 1.8180818 -Loop time of 2.01177 on 4 procs for 10000 steps with 1000 atoms - -Performance: 429472.539 tau/day, 4970.747 timesteps/s -98.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.2437 | 1.2651 | 1.2843 | 1.7 | 62.89 -Neigh | 0.051696 | 0.052503 | 0.053247 | 0.3 | 2.61 -Comm | 0.24826 | 0.26724 | 0.28867 | 3.5 | 13.28 -Output | 0.00058603 | 0.00085759 | 0.0016623 | 0.0 | 0.04 -Modify | 0.37363 | 0.37671 | 0.38189 | 0.5 | 18.73 -Other | | 0.04935 | | | 2.45 - -Nlocal: 250 ave 260 max 240 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 927.5 ave 934 max 921 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 5048.5 ave 5203 max 4889 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 20194 -Ave neighs/atom = 20.194 -Neighbor list builds = 175 -Dangerous builds = 0 - -# Start Run #2 - -clear - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil - restoring atom style atomic from restart - orthogonal box = (0.0465206 0.06579 0.06579) to (7.02455 9.93421 9.93421) - 1 by 2 by 2 MPI processor grid - restoring pair style lj/cubic from restart - 1000 atoms - -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes -timestep 0.001 -reset_timestep 0 - -# Pzz = 40.0, drag/damping term on - -fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 - -# Specify reference state from paper, times 1000 atoms - -fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 - -# Add fix energy to output etotal - -fix_modify myhug energy yes - -# Define output - -variable dele equal f_myhug[1] # energy delta [temperature] -variable us equal f_myhug[2] # shock velocity [distance/time] -variable up equal f_myhug[3] # particle velocity [distance/time] -variable pzz equal pzz # axial stress -variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress -variable time equal dt*step - -thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up - -fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (with drag)' - -run 10000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.74754 - ghost atom cutoff = 1.74754 - binsize = 0.873769, bins = 8 12 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.717 | 2.809 | 3.086 Mbytes -Step Temp KinEng E_pair TotEng Pzz v_tau Lz f_myhug v_dele v_us v_up - 0 0.01 0.014985 -6.3344257 -6.3194407 0.014347835 -0.00026463907 9.8684199 0 -0.0048551516 2.3786668 0.0041061135 - 1000 0.0063089138 0.0094539073 -5.9892326 -7.6448129 18.914956 7.5823222 9.2337797 -1.6650342 0.023426454 13.975434 0.92133642 - 2000 0.0068813683 0.01031173 -5.4566765 -7.9789037 37.064192 15.537213 8.9495783 -2.5325388 0.10234565 16.32485 1.5455517 - 3000 0.0072427316 0.010853233 -5.3662818 -7.9940958 39.906002 16.80569 8.9154322 -2.6386672 0.11821344 16.638326 1.6327015 - 4000 0.0070936522 0.010629838 -5.3626164 -8.0025859 40.007994 16.850321 8.9143648 -2.6505993 0.11869226 16.650416 1.6356859 - 5000 0.0074091958 0.01110268 -5.3628943 -8.0110325 39.998199 16.845204 8.9144816 -2.6592409 0.11846422 16.649379 1.6353872 - 6000 0.0077388573 0.011596678 -5.3629264 -8.0194804 39.995216 16.842807 8.9145056 -2.6681507 0.11826582 16.648964 1.635306 - 7000 0.0076023298 0.011392091 -5.3621083 -8.0277598 39.998343 16.839762 8.9144789 -2.6770435 0.11810824 16.649386 1.6353924 - 8000 0.007691692 0.011526001 -5.361706 -8.0360632 40.000701 16.839078 8.9144843 -2.6858833 0.11795313 16.649923 1.6354361 - 9000 0.0082153298 0.012310672 -5.3620899 -8.0446091 40.006134 16.845865 8.914544 -2.6948299 0.11785259 16.651566 1.6354969 - 10000 0.0088368792 0.013242063 -5.3625357 -8.0530825 39.989575 16.835079 8.914577 -2.7037888 0.1174907 16.648402 1.6351306 -Loop time of 1.80214 on 4 procs for 10000 steps with 1000 atoms - -Performance: 479429.980 tau/day, 5548.958 timesteps/s -98.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 | 1.1353 | 1.1591 | 1.1787 | 1.5 | 64.32 -Neigh | 0.0028975 | 0.0029137 | 0.0029218 | 0.0 | 0.16 -Comm | 0.20882 | 0.22752 | 0.25213 | 3.4 | 12.62 -Output | 0.00058103 | 0.0007953 | 0.0014329 | 0.0 | 0.04 -Modify | 0.36598 | 0.36908 | 0.37078 | 0.3 | 20.48 -Other | | 0.04277 | | | 2.37 - -Nlocal: 250 ave 258 max 239 min -Histogram: 1 0 0 0 1 0 0 0 1 1 -Nghost: 829 ave 840 max 821 min -Histogram: 1 1 0 0 0 1 0 0 0 1 -Neighs: 5250 ave 5360 max 5090 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 21000 -Ave neighs/atom = 21 -Neighbor list builds = 10 -Dangerous builds = 0 - -# Start Run #3 - -clear - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil - restoring atom style atomic from restart - orthogonal box = (0.0465206 0.06579 0.06579) to (7.02455 9.93421 9.93421) - 1 by 2 by 2 MPI processor grid - restoring pair style lj/cubic from restart - 1000 atoms - -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes -timestep 0.001 -reset_timestep 0 - -# Pzz = 40.0, drag/damping term off, Nose-Hoover chains - -fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 - -# Specify reference state from paper, times 1000 atoms - -fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 - -# Add fix energy to output etotal - -fix_modify myhug energy yes - -# Define output - -variable dele equal f_myhug[1] # energy delta [temperature] -variable us equal f_myhug[2] # shock velocity [distance/time] -variable up equal f_myhug[3] # particle velocity [distance/time] -variable pzz equal pzz # axial stress -variable tau equal 0.5*(pzz-0.5*(pxx+pyy)) # shear stress -variable time equal dt*step - -thermo 1000 -thermo_style custom step temp ke epair etotal pzz v_tau lz f_myhug v_dele v_us v_up - -fix stress all print 10 "${time} ${pzz} ${tau} " screen no append stress_vs_t.dat title '#time pzz tau (Nose-Hoover chain)' - -run 10000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.74754 - ghost atom cutoff = 1.74754 - binsize = 0.873769, bins = 8 12 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cubic, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.717 | 2.809 | 3.086 Mbytes -Step Temp KinEng E_pair TotEng Pzz v_tau Lz f_myhug v_dele v_us v_up - 0 0.01 0.014985 -6.3344257 -6.3194407 0.014347835 -0.00026463907 9.8684199 0 -0.0048551516 2.3786668 0.0041061135 - 1000 0.0078345827 0.011740122 -5.501714 -6.3232649 35.616592 14.888101 8.9677603 -0.833291 0.093891974 16.160626 1.5002802 - 2000 0.019260469 0.028861813 -5.2936047 -6.2784351 41.771445 17.563018 8.895899 -1.0136922 0.11811779 16.853929 1.687161 - 3000 0.048111305 0.072094791 -5.3454082 -6.2447367 39.061491 16.137184 8.932261 -0.97142325 0.073850675 16.606004 1.6012602 - 4000 0.11854629 0.17764161 -5.2071426 -6.3210422 40.843054 16.426156 8.9202992 -1.2915412 0.017621345 16.874925 1.6476105 - 5000 0.13634167 0.204308 -5.2645153 -6.3135608 39.098316 15.628006 8.9407716 -1.2533534 -0.00067532215 16.688495 1.5948471 - 6000 0.14222646 0.21312635 -5.1774703 -6.3289809 40.888616 16.260775 8.9214855 -1.3646369 -0.0041713956 16.89472 1.6475159 - 7000 0.12683662 0.19006468 -5.2679846 -6.2838171 39.084233 15.633883 8.939337 -1.2058972 0.0057260888 16.672835 1.5957701 - 8000 0.14531516 0.21775476 -5.1737923 -6.3237483 40.861161 16.191124 8.9199968 -1.3677107 -0.0065481979 16.876021 1.6482339 - 9000 0.12123357 0.18166851 -5.2546748 -6.2570254 39.276123 15.677988 8.9363522 -1.1840191 0.0075191856 16.687414 1.6022039 - 10000 0.14771416 0.22134967 -5.1833988 -6.3104954 40.578265 16.080163 8.9245634 -1.3484463 -0.0098090911 16.857414 1.6386293 -Loop time of 1.8702 on 4 procs for 10000 steps with 1000 atoms - -Performance: 461983.152 tau/day, 5347.027 timesteps/s -98.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 | 1.1723 | 1.1812 | 1.1956 | 0.9 | 63.16 -Neigh | 0.028221 | 0.030409 | 0.035555 | 1.7 | 1.63 -Comm | 0.22963 | 0.24139 | 0.25155 | 1.6 | 12.91 -Output | 0.00055218 | 0.00077897 | 0.0014515 | 0.0 | 0.04 -Modify | 0.37165 | 0.37241 | 0.3732 | 0.1 | 19.91 -Other | | 0.04404 | | | 2.35 - -Nlocal: 250 ave 257 max 244 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Nghost: 832.25 ave 840 max 822 min -Histogram: 1 0 0 0 0 0 2 0 0 1 -Neighs: 5144.25 ave 5282 max 4949 min -Histogram: 1 0 0 0 0 1 0 1 0 1 - -Total # of neighbors = 20577 -Ave neighs/atom = 20.577 -Neighbor list builds = 95 -Dangerous builds = 0 - -Total wall time: 0:00:05 diff --git a/examples/hugoniostat/log.5Oct16.hugoniostat.g++.1 b/examples/hugoniostat/log.5Oct16.hugoniostat.g++.1 deleted file mode 100644 index 4eea651e8e..0000000000 --- a/examples/hugoniostat/log.5Oct16.hugoniostat.g++.1 +++ /dev/null @@ -1,110 +0,0 @@ -LAMMPS (5 Oct 2016) -# This script reproduces stress trajectories from Fig. 1 in -# Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) -# -# Three thermostatting scenarios are visited: undamped (nodrag), -# damped (drag) and Nose-Hoover chain (nhchains). -# -# The axial and shear stress trajectories are printed to the -# file "stress_vs_t.dat". For the damped case, the original figure -# seems to be a plot of 2*tau, rather than tau. -# -# The script also demonstrates how to -# orient a crystal along <110>, -# and how to use the lj/cubic pair style. - -units lj -boundary p p p - -atom_style atomic - -# Set up FCC lattice with z axis along <110> - -lattice fcc 1.4142136 orient x 0 0 1 orient y 1 -1 0 orient z 1 1 0 -Lattice spacing in x,y,z = 1.41421 2 2 - -region mycell block 0.0 5.0 0.0 5.0 0.0 5.0 units lattice -create_box 1 mycell -Created orthogonal box = (0 0 0) to (7.07107 10 10) - 1 by 1 by 1 MPI processor grid -mass * 1.0 -create_atoms 1 box -Created 1000 atoms - -# Using units of Rmin, so sigma = 2^-1/6 = 0.8908987 - -pair_style lj/cubic -pair_coeff * * 1.0 0.8908987 - -# Relax box dimensions - -fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 - -thermo 100 -thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz - -min_modify line quadratic -minimize 0.0 1.0e-6 10000 100000 -WARNING: Resetting reneighboring criteria during minimization (../min.cpp:168) -Neighbor list info ... - 1 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.84754 - ghost atom cutoff = 1.84754 - binsize = 0.923769 -> bins = 8 11 11 -Memory usage per processor = 3.65406 Mbytes -Step Temp PotEng TotEng Pxx Pyy Pzz Lx Ly Lz - 0 0 -6.2937539 -6.2937539 -2.7722431 -2.7722431 -2.7722431 7.0710677 9.9999999 9.9999999 - 100 0 -6.3319018 -6.3319018 -0.75971321 -0.75971321 -0.75971321 7.0003571 9.8999999 9.8999999 - 134 0 -6.3344257 -6.3344257 -4.5005818e-13 -4.9677973e-13 -4.9219424e-13 6.9780266 9.8684199 9.8684199 -Loop time of 0.0817621 on 1 procs for 134 steps with 1000 atoms - -100.3% CPU use with 1 MPI tasks x no OpenMP threads - -Minimization stats: - Stopping criterion = force tolerance - Energy initial, next-to-last, final = - -6.2937539309 -6.33442568056 -6.33442568056 - Force two-norm initial, final = 3395.29 5.83329e-10 - Force max component initial, final = 1960.27 3.42093e-10 - Final line search alpha, max atom move = 1 3.42093e-10 - Iterations, force evaluations = 134 137 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.066955 | 0.066955 | 0.066955 | 0.0 | 81.89 -Neigh | 0.001004 | 0.001004 | 0.001004 | 0.0 | 1.23 -Comm | 0.0014298 | 0.0014298 | 0.0014298 | 0.0 | 1.75 -Output | 1.5974e-05 | 1.5974e-05 | 1.5974e-05 | 0.0 | 0.02 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.01236 | | | 15.11 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1724 ave 1724 max 1724 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 21000 ave 21000 max 21000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 21000 -Ave neighs/atom = 21 -Neighbor list builds = 1 -Dangerous builds = 0 - -# Define initial velocity - -velocity all create 0.01 87287 mom yes rot yes dist gaussian -write_restart restart.equil -Neighbor list info ... - 1 neighbor list requests - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.84754 - ghost atom cutoff = 1.84754 - binsize = 0.923769 -> bins = 8 11 11 - -# Start Run #1 - -log log.nodrag diff --git a/examples/hugoniostat/log.5Oct16.hugoniostat.g++.4 b/examples/hugoniostat/log.5Oct16.hugoniostat.g++.4 deleted file mode 100644 index 5125160e47..0000000000 --- a/examples/hugoniostat/log.5Oct16.hugoniostat.g++.4 +++ /dev/null @@ -1,110 +0,0 @@ -LAMMPS (5 Oct 2016) -# This script reproduces stress trajectories from Fig. 1 in -# Ravelo, Holian, Germann, and Lomdahl, PRB 70 014103 (2004) -# -# Three thermostatting scenarios are visited: undamped (nodrag), -# damped (drag) and Nose-Hoover chain (nhchains). -# -# The axial and shear stress trajectories are printed to the -# file "stress_vs_t.dat". For the damped case, the original figure -# seems to be a plot of 2*tau, rather than tau. -# -# The script also demonstrates how to -# orient a crystal along <110>, -# and how to use the lj/cubic pair style. - -units lj -boundary p p p - -atom_style atomic - -# Set up FCC lattice with z axis along <110> - -lattice fcc 1.4142136 orient x 0 0 1 orient y 1 -1 0 orient z 1 1 0 -Lattice spacing in x,y,z = 1.41421 2 2 - -region mycell block 0.0 5.0 0.0 5.0 0.0 5.0 units lattice -create_box 1 mycell -Created orthogonal box = (0 0 0) to (7.07107 10 10) - 1 by 2 by 2 MPI processor grid -mass * 1.0 -create_atoms 1 box -Created 1000 atoms - -# Using units of Rmin, so sigma = 2^-1/6 = 0.8908987 - -pair_style lj/cubic -pair_coeff * * 1.0 0.8908987 - -# Relax box dimensions - -fix 3 all box/relax aniso 0.0 vmax 1.0e-4 nreset 100 - -thermo 100 -thermo_style custom step temp pe etotal pxx pyy pzz lx ly lz - -min_modify line quadratic -minimize 0.0 1.0e-6 10000 100000 -WARNING: Resetting reneighboring criteria during minimization (../min.cpp:168) -Neighbor list info ... - 1 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.84754 - ghost atom cutoff = 1.84754 - binsize = 0.923769 -> bins = 8 11 11 -Memory usage per processor = 3.63062 Mbytes -Step Temp PotEng TotEng Pxx Pyy Pzz Lx Ly Lz - 0 0 -6.2937539 -6.2937539 -2.7722431 -2.7722431 -2.7722431 7.0710677 9.9999999 9.9999999 - 100 0 -6.3319018 -6.3319018 -0.75971321 -0.75971321 -0.75971321 7.0003571 9.8999999 9.8999999 - 134 0 -6.3344257 -6.3344257 -4.5046204e-13 -4.92206e-13 -4.9610344e-13 6.9780266 9.8684199 9.8684199 -Loop time of 0.0299768 on 4 procs for 134 steps with 1000 atoms - -98.4% CPU use with 4 MPI tasks x no OpenMP threads - -Minimization stats: - Stopping criterion = force tolerance - Energy initial, next-to-last, final = - -6.2937539309 -6.33442568056 -6.33442568056 - Force two-norm initial, final = 3395.29 5.80609e-10 - Force max component initial, final = 1960.27 3.41627e-10 - Final line search alpha, max atom move = 1 3.41627e-10 - Iterations, force evaluations = 134 137 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01485 | 0.017638 | 0.020133 | 1.4 | 58.84 -Neigh | 0.00022697 | 0.00027376 | 0.00033092 | 0.2 | 0.91 -Comm | 0.0026414 | 0.0050641 | 0.0078235 | 2.6 | 16.89 -Output | 1.502e-05 | 1.6749e-05 | 2.0027e-05 | 0.0 | 0.06 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.006985 | | | 23.30 - -Nlocal: 250 ave 305 max 205 min -Histogram: 1 0 0 0 2 0 0 0 0 1 -Nghost: 829 ave 874 max 774 min -Histogram: 1 0 0 0 0 0 2 0 0 1 -Neighs: 5250 ave 6445 max 4305 min -Histogram: 1 0 0 2 0 0 0 0 0 1 - -Total # of neighbors = 21000 -Ave neighs/atom = 21 -Neighbor list builds = 1 -Dangerous builds = 0 - -# Define initial velocity - -velocity all create 0.01 87287 mom yes rot yes dist gaussian -write_restart restart.equil -Neighbor list info ... - 1 neighbor list requests - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.84754 - ghost atom cutoff = 1.84754 - binsize = 0.923769 -> bins = 8 11 11 - -# Start Run #1 - -log log.nodrag diff --git a/examples/msst/in.msst b/examples/msst/in.msst index d9fee2977e..243d229c79 100644 --- a/examples/msst/in.msst +++ b/examples/msst/in.msst @@ -36,15 +36,12 @@ unfix 2 # MSST fix fix msst all msst z 28.0 q 200 mu 3e2 tscale 0.01 -# this is needed to make etotal equal the MSST conserved quantity -fix_modify msst energy yes - variable dhug equal f_msst[1] variable dray equal f_msst[2] variable lgr_vel equal f_msst[3] variable lgr_pos equal f_msst[4] -thermo_style custom step temp ke pe lx ly lz pxx pyy pzz etotal & +thermo_style custom step temp ke pe lx ly lz pxx pyy pzz econserve & v_dhug v_dray v_lgr_vel v_lgr_pos f_msst #dump id all atom 50 dump.msst diff --git a/examples/msst/log.30Jun20.msst.g++.1 b/examples/msst/log.08Feb21.msst.g++.1 similarity index 67% rename from examples/msst/log.30Jun20.msst.g++.1 rename to examples/msst/log.08Feb21.msst.g++.1 index 1e0e083620..a2964b6955 100644 --- a/examples/msst/log.30Jun20.msst.g++.1 +++ b/examples/msst/log.08Feb21.msst.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (30 Jun 2020) +LAMMPS (24 Dec 2020) using 1 OpenMP thread(s) per MPI task # LJ test of msst shock dynamics @@ -10,18 +10,18 @@ atom_style atomic timestep 1e-03 lattice fcc 5.3589 -Lattice spacing in x,y,z = 5.3589 5.3589 5.3589 +Lattice spacing in x,y,z = 5.3589000 5.3589000 5.3589000 ## Specify the box as a given number of unit cells. region box1 block 0 18 0 18 0 18 units lattice ## Instantiate the system. create_box 1 box1 -Created orthogonal box = (0 0 0) to (96.4602 96.4602 96.4602) +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (96.460200 96.460200 96.460200) 1 by 1 by 1 MPI processor grid create_atoms 1 region box1 Created 23328 atoms - create_atoms CPU = 0.007 seconds + create_atoms CPU = 0.012 seconds mass 1 40.00 @@ -63,30 +63,30 @@ Step Temp E_pair E_mol TotEng Press 80 300.28534 -1056.589 0 -151.15321 8324.8812 90 305.83368 -1073.3097 0 -151.14426 8175.2478 100 304.06857 -1067.9843 0 -151.14112 8191.234 -Loop time of 3.62419 on 1 procs for 100 steps with 23328 atoms +Loop time of 8.29437 on 1 procs for 100 steps with 23328 atoms -Performance: 4.768 ns/day, 5.034 hours/ns, 27.592 timesteps/s +Performance: 2.083 ns/day, 11.520 hours/ns, 12.056 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 | 3.4606 | 3.4606 | 3.4606 | 0.0 | 95.49 -Neigh | 0.065469 | 0.065469 | 0.065469 | 0.0 | 1.81 -Comm | 0.030757 | 0.030757 | 0.030757 | 0.0 | 0.85 -Output | 0.0024359 | 0.0024359 | 0.0024359 | 0.0 | 0.07 -Modify | 0.049582 | 0.049582 | 0.049582 | 0.0 | 1.37 -Other | | 0.01537 | | | 0.42 +Pair | 7.9896 | 7.9896 | 7.9896 | 0.0 | 96.33 +Neigh | 0.13503 | 0.13503 | 0.13503 | 0.0 | 1.63 +Comm | 0.053102 | 0.053102 | 0.053102 | 0.0 | 0.64 +Output | 0.0035691 | 0.0035691 | 0.0035691 | 0.0 | 0.04 +Modify | 0.091417 | 0.091417 | 0.091417 | 0.0 | 1.10 +Other | | 0.02167 | | | 0.26 -Nlocal: 23328.0 ave 23328.0 max 23328.0 min +Nlocal: 23328.0 ave 23328 max 23328 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 22235.0 ave 22235.0 max 22235.0 min +Nghost: 22235.0 ave 22235 max 22235 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2183715.0 ave 2183715.0 max 2183715.0 min +Neighs: 2.18372e+06 ave 2.18372e+06 max 2.18372e+06 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 2183715 -Ave neighs/atom = 93.60918209876543 +Ave neighs/atom = 93.609182 Neighbor list builds = 1 Dangerous builds = 0 unfix 2 @@ -102,15 +102,12 @@ MSST parameters: Initial volume calculated on first step Initial energy calculated on first step -# this is needed to make etotal equal the MSST conserved quantity -fix_modify msst energy yes - variable dhug equal f_msst[1] variable dray equal f_msst[2] variable lgr_vel equal f_msst[3] variable lgr_pos equal f_msst[4] -thermo_style custom step temp ke pe lx ly lz pxx pyy pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst +thermo_style custom step temp ke pe lx ly lz pxx pyy pzz econserve v_dhug v_dray v_lgr_vel v_lgr_pos f_msst #dump id all atom 50 dump.msst @@ -126,42 +123,42 @@ Fix MSST p0 = 8106.7886 Fix MSST e0 = -151.14112 Fix MSST initial strain rate of -0.032011238 established by reducing temperature by factor of 0.01 Per MPI rank memory allocation (min/avg/max) = 18.98 | 18.98 | 18.98 Mbytes -Step Temp KinEng PotEng Lx Ly Lz Pxx Pyy Pzz TotEng v_dhug v_dray v_lgr_vel v_lgr_pos f_msst - 100 301.02788 907.67474 -1058.8159 96.4602 96.4602 96.4602 8242.1214 8202.9779 8095.8693 -151.14112 1.5203428 -10.919311 0 0 9.1684318 - 110 297.71411 897.68288 -1048.8859 96.4602 96.4602 96.399397 8347.6253 8303.7121 8220.7572 -151.20299 1.439058 28.652258 0.017649501 -0.55980494 5.7336721 - 120 295.64308 891.43821 -1042.72 96.4602 96.4602 96.340496 8431.6742 8379.2441 8331.5304 -151.28174 1.3655893 56.776734 0.034747125 -1.119263 2.3808018 - 130 296.02228 892.5816 -1043.9407 96.4602 96.4602 96.283468 8456.2492 8412.6368 8392.5853 -151.35912 1.2945465 37.811981 0.05130089 -1.6783851 -0.87840575 - 140 298.19024 899.11855 -1050.5482 96.4602 96.4602 96.228236 8430.5151 8415.6802 8414.2537 -151.42965 1.2243399 -18.01985 0.067333442 -2.2371818 -4.0330712 - 150 300.86421 907.18122 -1058.6966 96.4602 96.4602 96.174681 8399.4697 8396.2236 8420.9004 -151.51534 1.1598278 -86.5197 0.082879112 -2.7956634 -7.0824881 - 160 303.34119 914.64996 -1066.2388 96.4602 96.4602 96.122673 8388.3438 8360.5024 8428.751 -151.58881 1.0977647 -151.64553 0.097975827 -3.353839 -10.033902 - 170 304.87769 919.28288 -1070.961 96.4602 96.4602 96.072088 8408.8694 8333.4337 8449.5665 -151.67812 1.044322 -201.80899 0.11265931 -3.9117174 -12.897768 - 180 304.99 919.62151 -1071.3588 96.4602 96.4602 96.022824 8461.5542 8343.1436 8484.9824 -151.73733 0.99203387 -235.51793 0.12695926 -4.4693063 -15.685622 - 190 305.1148 919.99782 -1071.7807 96.4602 96.4602 95.9748 8498.7562 8371.4217 8514.4473 -151.78288 0.93937416 -273.43964 0.1408996 -5.0266132 -18.403999 - 200 306.45829 924.0488 -1075.8787 96.4602 96.4602 95.927931 8488.9509 8385.2408 8529.6443 -151.82991 0.88654815 -324.00777 0.15450451 -5.583645 -21.055149 -Loop time of 7.9807 on 1 procs for 100 steps with 23328 atoms +Step Temp KinEng PotEng Lx Ly Lz Pxx Pyy Pzz Econserve v_dhug v_dray v_lgr_vel v_lgr_pos f_msst + 100 301.02788 907.67474 -1067.9843 96.4602 96.4602 96.4602 8242.1214 8202.9779 8095.8693 -151.14112 1.5203428 -10.919311 0 0 9.1684318 + 110 297.71411 897.68288 -1054.6195 96.4602 96.4602 96.399397 8347.6253 8303.7121 8220.7572 -151.20299 1.439058 28.652258 0.017649501 -0.55980494 5.7336721 + 120 295.64308 891.43821 -1045.1008 96.4602 96.4602 96.340496 8431.6742 8379.2441 8331.5304 -151.28174 1.3655893 56.776734 0.034747125 -1.119263 2.3808018 + 130 296.02228 892.5816 -1043.0623 96.4602 96.4602 96.283468 8456.2492 8412.6368 8392.5853 -151.35912 1.2945465 37.811981 0.05130089 -1.6783851 -0.87840575 + 140 298.19024 899.11855 -1046.5151 96.4602 96.4602 96.228236 8430.5151 8415.6802 8414.2537 -151.42965 1.2243399 -18.01985 0.067333442 -2.2371818 -4.0330712 + 150 300.86421 907.18122 -1051.6141 96.4602 96.4602 96.174681 8399.4697 8396.2236 8420.9004 -151.51534 1.1598278 -86.5197 0.082879112 -2.7956634 -7.0824881 + 160 303.34119 914.64996 -1056.2049 96.4602 96.4602 96.122673 8388.3438 8360.5024 8428.751 -151.58881 1.0977647 -151.64553 0.097975827 -3.353839 -10.033902 + 170 304.87769 919.28288 -1058.0632 96.4602 96.4602 96.072088 8408.8694 8333.4337 8449.5665 -151.67812 1.044322 -201.80899 0.11265931 -3.9117174 -12.897768 + 180 304.99 919.62151 -1055.6732 96.4602 96.4602 96.022824 8461.5542 8343.1436 8484.9824 -151.73733 0.99203387 -235.51793 0.12695926 -4.4693063 -15.685622 + 190 305.1148 919.99782 -1053.3767 96.4602 96.4602 95.9748 8498.7562 8371.4217 8514.4473 -151.78288 0.93937416 -273.43964 0.1408996 -5.0266132 -18.403999 + 200 306.45829 924.0488 -1054.8236 96.4602 96.4602 95.927931 8488.9509 8385.2408 8529.6443 -151.82991 0.88654815 -324.00777 0.15450451 -5.583645 -21.055149 +Loop time of 13.2508 on 1 procs for 100 steps with 23328 atoms -Performance: 2.165 ns/day, 11.084 hours/ns, 12.530 timesteps/s +Performance: 1.304 ns/day, 18.404 hours/ns, 7.547 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 | 6.8295 | 6.8295 | 6.8295 | 0.0 | 85.58 -Neigh | 0.13211 | 0.13211 | 0.13211 | 0.0 | 1.66 -Comm | 0.032946 | 0.032946 | 0.032946 | 0.0 | 0.41 -Output | 0.02301 | 0.02301 | 0.02301 | 0.0 | 0.29 -Modify | 0.94857 | 0.94857 | 0.94857 | 0.0 | 11.89 -Other | | 0.01452 | | | 0.18 +Pair | 11.716 | 11.716 | 11.716 | 0.0 | 88.41 +Neigh | 0.26843 | 0.26843 | 0.26843 | 0.0 | 2.03 +Comm | 0.056694 | 0.056694 | 0.056694 | 0.0 | 0.43 +Output | 0.029758 | 0.029758 | 0.029758 | 0.0 | 0.22 +Modify | 1.1599 | 1.1599 | 1.1599 | 0.0 | 8.75 +Other | | 0.02035 | | | 0.15 -Nlocal: 23328.0 ave 23328.0 max 23328.0 min +Nlocal: 23328.0 ave 23328 max 23328 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 22205.0 ave 22205.0 max 22205.0 min +Nghost: 22205.0 ave 22205 max 22205 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2183494.0 ave 2183494.0 max 2183494.0 min +Neighs: 2.18349e+06 ave 2.18349e+06 max 2.18349e+06 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 2183494 -Ave neighs/atom = 93.5997085048011 +Ave neighs/atom = 93.599709 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:22 diff --git a/examples/msst/log.30Jun20.msst.g++.4 b/examples/msst/log.08Feb21.msst.g++.4 similarity index 66% rename from examples/msst/log.30Jun20.msst.g++.4 rename to examples/msst/log.08Feb21.msst.g++.4 index a98b957b50..7b5425d8a4 100644 --- a/examples/msst/log.30Jun20.msst.g++.4 +++ b/examples/msst/log.08Feb21.msst.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (30 Jun 2020) +LAMMPS (24 Dec 2020) using 1 OpenMP thread(s) per MPI task # LJ test of msst shock dynamics @@ -10,18 +10,18 @@ atom_style atomic timestep 1e-03 lattice fcc 5.3589 -Lattice spacing in x,y,z = 5.3589 5.3589 5.3589 +Lattice spacing in x,y,z = 5.3589000 5.3589000 5.3589000 ## Specify the box as a given number of unit cells. region box1 block 0 18 0 18 0 18 units lattice ## Instantiate the system. create_box 1 box1 -Created orthogonal box = (0 0 0) to (96.4602 96.4602 96.4602) +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (96.460200 96.460200 96.460200) 1 by 2 by 2 MPI processor grid create_atoms 1 region box1 Created 23328 atoms - create_atoms CPU = 0.003 seconds + create_atoms CPU = 0.080 seconds mass 1 40.00 @@ -63,30 +63,30 @@ Step Temp E_pair E_mol TotEng Press 80 299.37658 -1053.8476 0 -151.1519 8352.9467 90 304.24026 -1068.4941 0 -151.13319 8218.1594 100 301.9683 -1061.6332 0 -151.12284 8244.1277 -Loop time of 0.995305 on 4 procs for 100 steps with 23328 atoms +Loop time of 5.66225 on 4 procs for 100 steps with 23328 atoms -Performance: 17.362 ns/day, 1.382 hours/ns, 100.472 timesteps/s -98.2% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 3.052 ns/day, 7.864 hours/ns, 17.661 timesteps/s +78.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.88957 | 0.90144 | 0.91686 | 1.1 | 90.57 -Neigh | 0.016824 | 0.016945 | 0.017106 | 0.1 | 1.70 -Comm | 0.039949 | 0.054853 | 0.068734 | 4.8 | 5.51 -Output | 0.00076342 | 0.0010425 | 0.0018687 | 1.5 | 0.10 -Modify | 0.012839 | 0.012946 | 0.013153 | 0.1 | 1.30 -Other | | 0.008074 | | | 0.81 +Pair | 2.6416 | 2.7792 | 2.9335 | 6.4 | 49.08 +Neigh | 0.029522 | 0.037458 | 0.054701 | 5.3 | 0.66 +Comm | 2.1998 | 2.4099 | 2.5822 | 8.8 | 42.56 +Output | 0.10457 | 0.10816 | 0.11265 | 1.0 | 1.91 +Modify | 0.023462 | 0.033517 | 0.044696 | 4.9 | 0.59 +Other | | 0.294 | | | 5.19 -Nlocal: 5832.0 ave 5850.0 max 5813.0 min +Nlocal: 5832.00 ave 5850 max 5813 min Histogram: 1 0 0 0 1 1 0 0 0 1 -Nghost: 10571.0 ave 10590.0 max 10553.0 min +Nghost: 10571.0 ave 10590 max 10553 min Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 545761.75 ave 548069.0 max 543643.0 min +Neighs: 545762.0 ave 548069 max 543643 min Histogram: 1 0 0 1 0 1 0 0 0 1 Total # of neighbors = 2183047 -Ave neighs/atom = 93.58054698216735 +Ave neighs/atom = 93.580547 Neighbor list builds = 1 Dangerous builds = 0 unfix 2 @@ -102,15 +102,12 @@ MSST parameters: Initial volume calculated on first step Initial energy calculated on first step -# this is needed to make etotal equal the MSST conserved quantity -fix_modify msst energy yes - variable dhug equal f_msst[1] variable dray equal f_msst[2] variable lgr_vel equal f_msst[3] variable lgr_pos equal f_msst[4] -thermo_style custom step temp ke pe lx ly lz pxx pyy pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst +thermo_style custom step temp ke pe lx ly lz pxx pyy pzz econserve v_dhug v_dray v_lgr_vel v_lgr_pos f_msst #dump id all atom 50 dump.msst @@ -126,42 +123,42 @@ Fix MSST p0 = 8186.2393 Fix MSST e0 = -151.12284 Fix MSST initial strain rate of -0.031900492 established by reducing temperature by factor of 0.01 Per MPI rank memory allocation (min/avg/max) = 8.535 | 8.535 | 8.535 Mbytes -Step Temp KinEng PotEng Lx Ly Lz Pxx Pyy Pzz TotEng v_dhug v_dray v_lgr_vel v_lgr_pos f_msst - 100 298.94862 901.40524 -1052.5281 96.4602 96.4602 96.4602 8270.9151 8253.4662 8175.4946 -151.12284 1.5098415 -10.744684 0 0 9.1051034 - 110 296.49826 894.01679 -1045.224 96.4602 96.4602 96.399609 8338.4937 8340.5504 8294.9909 -151.20723 1.4327442 23.73173 0.017588167 -0.55980562 5.6560557 - 120 295.97607 892.44225 -1043.7239 96.4602 96.4602 96.340904 8377.6797 8385.921 8378.3042 -151.28169 1.3584606 24.672199 0.034628719 -1.1192655 2.2953307 - 130 297.34893 896.58179 -1047.945 96.4602 96.4602 96.284029 8379.2516 8394.8806 8416.2669 -151.36322 1.2881444 -17.170168 0.051138087 -1.6783905 -0.96527961 - 140 299.71946 903.72952 -1055.1787 96.4602 96.4602 96.22888 8357.0358 8388.6743 8424.3188 -151.44922 1.221125 -86.501161 0.067146366 -2.2371908 -4.1195182 - 150 301.79241 909.97998 -1061.4976 96.4602 96.4602 96.175327 8332.7118 8393.7027 8434.6177 -151.51765 1.1560248 -151.34689 0.082691635 -2.7956762 -7.172084 - 160 303.18249 914.17141 -1065.7667 96.4602 96.4602 96.123244 8321.1154 8413.1248 8454.5596 -151.59527 1.0977348 -204.4864 0.097810061 -3.3538554 -10.134387 - 170 304.34089 917.66428 -1069.3198 96.4602 96.4602 96.072522 8327.6227 8431.1177 8467.92 -151.65554 1.0390628 -262.29751 0.11253339 -3.9117366 -13.01442 - 180 305.86343 922.25514 -1073.9633 96.4602 96.4602 96.023049 8345.1853 8432.5201 8461.3276 -151.70813 0.97863988 -338.30793 0.12689398 -4.4693274 -15.815462 - 190 307.44054 927.01052 -1078.7892 96.4602 96.4602 95.9747 8368.4081 8427.5109 8450.584 -151.77867 0.92329631 -416.89333 0.1409285 -5.0266346 -18.541801 - 200 308.43619 930.01265 -1081.8521 96.4602 96.4602 95.927349 8393.2058 8443.1265 8454.6733 -151.83947 0.8723277 -479.24592 0.1546734 -5.5836644 -21.20378 -Loop time of 2.16596 on 4 procs for 100 steps with 23328 atoms +Step Temp KinEng PotEng Lx Ly Lz Pxx Pyy Pzz Econserve v_dhug v_dray v_lgr_vel v_lgr_pos f_msst + 100 298.94862 901.40524 -1061.6332 96.4602 96.4602 96.4602 8270.9151 8253.4662 8175.4946 -151.12284 1.5098415 -10.744684 0 0 9.1051034 + 110 296.49826 894.01679 -1050.8801 96.4602 96.4602 96.399609 8338.4937 8340.5504 8294.9909 -151.20723 1.4327442 23.73173 0.017588167 -0.55980562 5.6560557 + 120 295.97607 892.44225 -1046.0193 96.4602 96.4602 96.340904 8377.6797 8385.921 8378.3042 -151.28169 1.3584606 24.672199 0.034628719 -1.1192655 2.2953307 + 130 297.34893 896.58179 -1046.9797 96.4602 96.4602 96.284029 8379.2516 8394.8806 8416.2669 -151.36322 1.2881444 -17.170168 0.051138087 -1.6783905 -0.96527961 + 140 299.71946 903.72952 -1051.0592 96.4602 96.4602 96.22888 8357.0358 8388.6743 8424.3188 -151.44922 1.221125 -86.501161 0.067146366 -2.2371908 -4.1195182 + 150 301.79241 909.97998 -1054.3256 96.4602 96.4602 96.175327 8332.7118 8393.7027 8434.6177 -151.51765 1.1560248 -151.34689 0.082691635 -2.7956762 -7.172084 + 160 303.18249 914.17141 -1055.6323 96.4602 96.4602 96.123244 8321.1154 8413.1248 8454.5596 -151.59527 1.0977348 -204.4864 0.097810061 -3.3538554 -10.134387 + 170 304.34089 917.66428 -1056.3054 96.4602 96.4602 96.072522 8327.6227 8431.1177 8467.92 -151.65554 1.0390628 -262.29751 0.11253339 -3.9117366 -13.01442 + 180 305.86343 922.25514 -1058.1478 96.4602 96.4602 96.023049 8345.1853 8432.5201 8461.3276 -151.70813 0.97863988 -338.30793 0.12689398 -4.4693274 -15.815462 + 190 307.44054 927.01052 -1060.2474 96.4602 96.4602 95.9747 8368.4081 8427.5109 8450.584 -151.77867 0.92329631 -416.89333 0.1409285 -5.0266346 -18.541801 + 200 308.43619 930.01265 -1060.6483 96.4602 96.4602 95.927349 8393.2058 8443.1265 8454.6733 -151.83947 0.8723277 -479.24592 0.1546734 -5.5836644 -21.20378 +Loop time of 11.445 on 4 procs for 100 steps with 23328 atoms -Performance: 7.978 ns/day, 3.008 hours/ns, 46.169 timesteps/s -98.5% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 1.510 ns/day, 15.896 hours/ns, 8.737 timesteps/s +77.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.7569 | 1.7822 | 1.8059 | 1.6 | 82.28 -Neigh | 0.034235 | 0.03546 | 0.037677 | 0.7 | 1.64 -Comm | 0.065427 | 0.091172 | 0.11833 | 7.4 | 4.21 -Output | 0.0062776 | 0.0065615 | 0.0074117 | 0.6 | 0.30 -Modify | 0.24069 | 0.2423 | 0.24655 | 0.5 | 11.19 -Other | | 0.008271 | | | 0.38 +Pair | 3.7358 | 4.0193 | 4.3315 | 10.5 | 35.12 +Neigh | 0.05921 | 0.078071 | 0.089958 | 4.1 | 0.68 +Comm | 2.3136 | 2.683 | 3.054 | 16.3 | 23.44 +Output | 0.038525 | 0.040035 | 0.044559 | 1.3 | 0.35 +Modify | 4.2814 | 4.3709 | 4.4749 | 4.1 | 38.19 +Other | | 0.2537 | | | 2.22 -Nlocal: 5832.0 ave 5874.0 max 5803.0 min +Nlocal: 5832.00 ave 5874 max 5803 min Histogram: 2 0 0 0 0 1 0 0 0 1 -Nghost: 10563.75 ave 10588.0 max 10526.0 min +Nghost: 10563.8 ave 10588 max 10526 min Histogram: 1 0 0 0 1 0 0 0 0 2 -Neighs: 545708.5 ave 550787.0 max 542668.0 min +Neighs: 545708.0 ave 550787 max 542668 min Histogram: 2 0 0 0 1 0 0 0 0 1 Total # of neighbors = 2182834 -Ave neighs/atom = 93.57141632373114 +Ave neighs/atom = 93.571416 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:03 +Total wall time: 0:00:17 diff --git a/examples/threebody/in.threebody b/examples/threebody/in.threebody index 951a364b57..3d11219a47 100644 --- a/examples/threebody/in.threebody +++ b/examples/threebody/in.threebody @@ -53,9 +53,9 @@ velocity all create $t 5287287 loop geom pair_style sw pair_coeff * * Si.sw Si Si Si Si Si Si Si Si +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -71,9 +71,9 @@ read_restart restart.equil pair_style sw pair_coeff * * CdTeZnSeHgS0.sw Cd Zn Hg Cd Te S Se Te +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -87,9 +87,9 @@ read_restart restart.equil pair_style vashishta pair_coeff * * InP.vashishta In In In In P P P P +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -106,9 +106,9 @@ change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap pair_style tersoff pair_coeff * * BNC.tersoff N N N C B B C B +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes diff --git a/examples/threebody/log.08Feb21.threebody.g++.1 b/examples/threebody/log.08Feb21.threebody.g++.1 new file mode 100644 index 0000000000..51b6dfea05 --- /dev/null +++ b/examples/threebody/log.08Feb21.threebody.g++.1 @@ -0,0 +1,373 @@ +LAMMPS (24 Dec 2020) + using 1 OpenMP thread(s) per MPI task +# Simple regression tests for threebody potentials + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# temperature + +variable t equal 1800.0 + +# cubic diamond unit cell + +variable a equal 5.431 +lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 +lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 +Lattice spacing in x,y,z = 5.4310000 5.4310000 5.4310000 + +region myreg block 0 4 0 4 0 4 + +create_box 8 myreg +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 1 by 1 MPI processor grid +create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 +Created 512 atoms + create_atoms CPU = 0.001 seconds + +mass * 28.06 + +velocity all create $t 5287287 loop geom +velocity all create 1800 5287287 loop geom + +# Equilibrate using Stillinger-Weber model for silicon + +pair_style sw +pair_coeff * * Si.sw Si Si Si Si Si Si Si Si +Reading sw potential file Si.sw with DATE: 2007-06-11 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.77118 + ghost atom cutoff = 4.77118 + binsize = 2.38559, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair sw, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.983 | 2.983 | 2.983 Mbytes +Step Temp E_pair TotEng Econserve Press + 0 1800 -2220.3392 -2101.4457 -2101.4457 12358.626 + 10 1006.0192 -2167.7053 -2101.2558 -2101.3286 13892.426 + 20 588.26396 -2139.7132 -2100.8573 -2101.3117 11295.566 + 30 990.55956 -2165.2164 -2099.788 -2101.3931 6279.0239 + 40 700.12917 -2144.4279 -2098.183 -2101.3427 5594.2388 + 50 523.64239 -2131.7796 -2097.192 -2101.3122 6013.0994 + 60 989.47092 -2161.3716 -2096.0152 -2101.3839 5819.2688 + 70 877.27433 -2152.4432 -2094.4975 -2101.3461 9116.6569 + 80 800.80221 -2146.1371 -2093.2426 -2101.313 11995.66 + 90 1293.9689 -2176.9021 -2091.4329 -2101.3848 11692.45 + 100 1112.9699 -2162.7259 -2089.2121 -2101.3478 12263.758 +Loop time of 0.157871 on 1 procs for 100 steps with 512 atoms + +Performance: 54.728 ns/day, 0.439 hours/ns, 633.430 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.14704 | 0.14704 | 0.14704 | 0.0 | 93.14 +Neigh | 0.00247 | 0.00247 | 0.00247 | 0.0 | 1.56 +Comm | 0.0024729 | 0.0024729 | 0.0024729 | 0.0 | 1.57 +Output | 0.0002656 | 0.0002656 | 0.0002656 | 0.0 | 0.17 +Modify | 0.0050237 | 0.0050237 | 0.0050237 | 0.0 | 3.18 +Other | | 0.0006011 | | | 0.38 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1017.00 ave 1017 max 1017 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 13988.0 ave 13988 max 13988 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13988 +Ave neighs/atom = 27.320312 +Neighbor list builds = 2 +Dangerous builds = 0 + +write_restart restart.equil +System init for write_restart ... + +# Test Stillinger-Weber model for Cd/Te/Zn/Se/Hg/S + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 1 by 1 MPI processor grid + pair style sw stores no restart info + 512 atoms + read_restart CPU = 0.001 seconds + +pair_style sw +pair_coeff * * CdTeZnSeHgS0.sw Cd Zn Hg Cd Te S Se Te +Reading sw potential file CdTeZnSeHgS0.sw with DATE: 2013-08-09 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +Resetting global fix info from restart file: + fix style: nvt, fix ID: 1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +All restart file global fix info was re-assigned +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6320004 + ghost atom cutoff = 5.6320004 + binsize = 2.8160002, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair sw, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.001 | 3.001 | 3.001 Mbytes +Step Temp E_pair TotEng Econserve Press + 100 1112.9699 -625.76163 -552.24781 -564.38354 462129.66 + 110 1502.8461 -649.55768 -550.29179 -564.45814 463413.45 + 120 1926.4523 -674.71265 -547.46675 -564.53612 486338.88 + 130 1152.6663 -621.47264 -545.33681 -564.37203 514892.2 + 140 1762.244 -659.86941 -543.46979 -564.4985 488159.88 + 150 1767.8665 -657.67178 -540.90078 -564.48386 466721.31 + 160 1075.2874 -610.12809 -539.10328 -564.36709 470151.9 + 170 1697.9313 -649.3684 -537.21675 -564.47207 467953.71 + 180 1856.1197 -657.14338 -534.54309 -564.48754 488372.27 + 190 1346.1107 -621.42431 -532.5111 -564.38065 511750.04 + 200 1919.5266 -657.26587 -530.47743 -564.47797 488684.56 +Loop time of 0.455825 on 1 procs for 100 steps with 512 atoms + +Performance: 18.955 ns/day, 1.266 hours/ns, 219.382 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 | 0.44091 | 0.44091 | 0.44091 | 0.0 | 96.73 +Neigh | 0.0054555 | 0.0054555 | 0.0054555 | 0.0 | 1.20 +Comm | 0.0035784 | 0.0035784 | 0.0035784 | 0.0 | 0.79 +Output | 0.00024486 | 0.00024486 | 0.00024486 | 0.0 | 0.05 +Modify | 0.0050471 | 0.0050471 | 0.0050471 | 0.0 | 1.11 +Other | | 0.000592 | | | 0.13 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1428.00 ave 1428 max 1428 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 17344.0 ave 17344 max 17344 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 17344 +Ave neighs/atom = 33.875000 +Neighbor list builds = 3 +Dangerous builds = 0 + +# Test Vashishta model for In/P + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 1 by 1 MPI processor grid + pair style sw stores no restart info + 512 atoms + read_restart CPU = 0.001 seconds + +pair_style vashishta +pair_coeff * * InP.vashishta In In In In P P P P +Reading vashishta potential file InP.vashishta with DATE: 2015-10-14 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +Resetting global fix info from restart file: + fix style: nvt, fix ID: 1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +All restart file global fix info was re-assigned +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair vashishta, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.025 | 3.025 | 3.025 Mbytes +Step Temp E_pair TotEng Econserve Press + 100 1112.9699 -1497.2988 -1423.785 -1435.9207 355619.19 + 110 1250.545 -1504.5795 -1421.9785 -1435.9786 345188.52 + 120 1360.2275 -1509.3443 -1419.4986 -1435.9801 333306.3 + 130 1066.4516 -1487.9076 -1417.4664 -1435.9076 334465.11 + 140 1481.0477 -1513.0511 -1415.2251 -1435.988 308725.1 + 150 1216.1167 -1493.0774 -1412.7505 -1435.9217 304249.09 + 160 1211.4398 -1490.7459 -1410.728 -1435.9164 288897.09 + 170 1542.2025 -1510.0774 -1408.212 -1435.9608 260104.14 + 180 1302.9041 -1491.7765 -1405.7172 -1435.8971 249514.04 + 190 1332.3326 -1491.5271 -1403.524 -1435.9213 227537.99 + 200 1352.1813 -1490.4513 -1401.1371 -1435.9049 207626.42 +Loop time of 0.217808 on 1 procs for 100 steps with 512 atoms + +Performance: 39.668 ns/day, 0.605 hours/ns, 459.121 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.19635 | 0.19635 | 0.19635 | 0.0 | 90.15 +Neigh | 0.01054 | 0.01054 | 0.01054 | 0.0 | 4.84 +Comm | 0.0051923 | 0.0051923 | 0.0051923 | 0.0 | 2.38 +Output | 0.00027919 | 0.00027919 | 0.00027919 | 0.0 | 0.13 +Modify | 0.0048637 | 0.0048637 | 0.0048637 | 0.0 | 2.23 +Other | | 0.0005858 | | | 0.27 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1838.00 ave 1838 max 1838 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 36482.0 ave 36482 max 36482 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36482 +Ave neighs/atom = 71.253906 +Neighbor list builds = 4 +Dangerous builds = 0 + +# Test Tersoff model for B/N/C + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 1 by 1 MPI processor grid + pair style sw stores no restart info + 512 atoms + read_restart CPU = 0.001 seconds + +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap +Changing box ... + orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) + orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) + orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) + +pair_style tersoff +pair_coeff * * BNC.tersoff N N N C B B C B +Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +Resetting global fix info from restart file: + fix style: nvt, fix ID: 1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +All restart file global fix info was re-assigned +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.1 + ghost atom cutoff = 3.1 + binsize = 1.55, bins = 9 9 9 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair tersoff, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.982 | 2.982 | 2.982 Mbytes +Step Temp E_pair TotEng Econserve Press + 100 1112.9699 -3259.7676 -3186.2538 -3198.3895 1912461.3 + 110 1772.8268 -3301.5479 -3184.4493 -3198.8218 1885295.6 + 120 1169.7287 -3258.74 -3181.4772 -3197.9294 1898705.2 + 130 1308.5623 -3265.1338 -3178.7007 -3197.5922 1894187.5 + 140 1486.0361 -3274.951 -3176.7954 -3197.776 1871927.6 + 150 1419.0362 -3267.7302 -3174.0002 -3197.2296 1925234.6 + 160 1196.6689 -3250.1492 -3171.1069 -3196.7078 1902235.1 + 170 1707.5846 -3281.7658 -3168.9766 -3196.9721 1863047.3 + 180 1337.4358 -3254.9844 -3166.6442 -3196.8222 1880420.9 + 190 1441.8052 -3259.0364 -3163.8023 -3196.3556 1904512.1 + 200 1569.0317 -3265.0089 -3161.3714 -3196.3328 1899462.7 +Loop time of 0.487425 on 1 procs for 100 steps with 512 atoms + +Performance: 17.726 ns/day, 1.354 hours/ns, 205.160 timesteps/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.47762 | 0.47762 | 0.47762 | 0.0 | 97.99 +Neigh | 0.0014286 | 0.0014286 | 0.0014286 | 0.0 | 0.29 +Comm | 0.0024068 | 0.0024068 | 0.0024068 | 0.0 | 0.49 +Output | 0.00028992 | 0.00028992 | 0.00028992 | 0.0 | 0.06 +Modify | 0.0050635 | 0.0050635 | 0.0050635 | 0.0 | 1.04 +Other | | 0.0006182 | | | 0.13 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1028.00 ave 1028 max 1028 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 14604.0 ave 14604 max 14604 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 14604 +Ave neighs/atom = 28.523438 +Neighbor list builds = 1 +Dangerous builds = 0 + +Total wall time: 0:00:01 diff --git a/examples/threebody/log.08Feb21.threebody.g++.4 b/examples/threebody/log.08Feb21.threebody.g++.4 new file mode 100644 index 0000000000..f747be509d --- /dev/null +++ b/examples/threebody/log.08Feb21.threebody.g++.4 @@ -0,0 +1,373 @@ +LAMMPS (24 Dec 2020) + using 1 OpenMP thread(s) per MPI task +# Simple regression tests for threebody potentials + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# temperature + +variable t equal 1800.0 + +# cubic diamond unit cell + +variable a equal 5.431 +lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 +lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 +Lattice spacing in x,y,z = 5.4310000 5.4310000 5.4310000 + +region myreg block 0 4 0 4 0 4 + +create_box 8 myreg +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 2 by 2 MPI processor grid +create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 +Created 512 atoms + create_atoms CPU = 0.074 seconds + +mass * 28.06 + +velocity all create $t 5287287 loop geom +velocity all create 1800 5287287 loop geom + +# Equilibrate using Stillinger-Weber model for silicon + +pair_style sw +pair_coeff * * Si.sw Si Si Si Si Si Si Si Si +Reading sw potential file Si.sw with DATE: 2007-06-11 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.77118 + ghost atom cutoff = 4.77118 + binsize = 2.38559, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair sw, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.958 | 2.958 | 2.958 Mbytes +Step Temp E_pair TotEng Econserve Press + 0 1800 -2220.3392 -2101.4457 -2101.4457 12358.626 + 10 1006.0192 -2167.7053 -2101.2558 -2101.3286 13892.426 + 20 588.26396 -2139.7132 -2100.8573 -2101.3117 11295.566 + 30 990.55956 -2165.2164 -2099.788 -2101.3931 6279.0239 + 40 700.12917 -2144.4279 -2098.183 -2101.3427 5594.2388 + 50 523.64239 -2131.7796 -2097.192 -2101.3122 6013.0994 + 60 989.47092 -2161.3716 -2096.0152 -2101.3839 5819.2688 + 70 877.27433 -2152.4432 -2094.4975 -2101.3461 9116.6569 + 80 800.80221 -2146.1371 -2093.2426 -2101.313 11995.66 + 90 1293.9689 -2176.9021 -2091.4329 -2101.3848 11692.45 + 100 1112.9699 -2162.7259 -2089.2121 -2101.3478 12263.758 +Loop time of 0.0998364 on 4 procs for 100 steps with 512 atoms + +Performance: 86.542 ns/day, 0.277 hours/ns, 1001.639 timesteps/s +81.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.037337 | 0.049389 | 0.069239 | 5.9 | 49.47 +Neigh | 0.00067854 | 0.00068814 | 0.00070286 | 0.0 | 0.69 +Comm | 0.025239 | 0.04504 | 0.056869 | 6.1 | 45.11 +Output | 0.00015712 | 0.00082219 | 0.0028148 | 0.0 | 0.82 +Modify | 0.0014369 | 0.0015754 | 0.0016632 | 0.2 | 1.58 +Other | | 0.002321 | | | 2.33 + +Nlocal: 128.000 ave 132 max 125 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Nghost: 525.000 ave 528 max 521 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 3497.00 ave 3619 max 3397 min +Histogram: 1 1 0 0 0 0 1 0 0 1 + +Total # of neighbors = 13988 +Ave neighs/atom = 27.320312 +Neighbor list builds = 2 +Dangerous builds = 0 + +write_restart restart.equil +System init for write_restart ... + +# Test Stillinger-Weber model for Cd/Te/Zn/Se/Hg/S + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 2 by 2 MPI processor grid + pair style sw stores no restart info + 512 atoms + read_restart CPU = 0.001 seconds + +pair_style sw +pair_coeff * * CdTeZnSeHgS0.sw Cd Zn Hg Cd Te S Se Te +Reading sw potential file CdTeZnSeHgS0.sw with DATE: 2013-08-09 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +Resetting global fix info from restart file: + fix style: nvt, fix ID: 1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +All restart file global fix info was re-assigned +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6320004 + ghost atom cutoff = 5.6320004 + binsize = 2.8160002, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair sw, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.967 | 2.967 | 2.968 Mbytes +Step Temp E_pair TotEng Econserve Press + 100 1112.9699 -625.76163 -552.24782 -564.38354 462129.66 + 110 1502.8461 -649.55768 -550.29179 -564.45814 463413.45 + 120 1926.4523 -674.71265 -547.46675 -564.53613 486338.88 + 130 1152.6663 -621.47265 -545.33681 -564.37203 514892.19 + 140 1762.244 -659.86941 -543.46979 -564.4985 488159.88 + 150 1767.8665 -657.67179 -540.90079 -564.48386 466721.31 + 160 1075.2874 -610.1281 -539.10328 -564.36709 470151.9 + 170 1697.9313 -649.3684 -537.21676 -564.47208 467953.7 + 180 1856.1197 -657.14338 -534.54309 -564.48754 488372.26 + 190 1346.1107 -621.42432 -532.5111 -564.38065 511750.03 + 200 1919.5266 -657.26587 -530.47743 -564.47797 488684.56 +Loop time of 0.286556 on 4 procs for 100 steps with 512 atoms + +Performance: 30.151 ns/day, 0.796 hours/ns, 348.971 timesteps/s +81.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.11093 | 0.139 | 0.16864 | 5.8 | 48.51 +Neigh | 0.0014305 | 0.0014756 | 0.0015156 | 0.1 | 0.51 +Comm | 0.10154 | 0.12374 | 0.16907 | 7.8 | 43.18 +Output | 0.0001862 | 0.00030428 | 0.0006578 | 0.0 | 0.11 +Modify | 0.0038164 | 0.019159 | 0.034146 | 10.8 | 6.69 +Other | | 0.002872 | | | 1.00 + +Nlocal: 128.000 ave 135 max 122 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 759.750 ave 770 max 751 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 4336.00 ave 4563 max 4128 min +Histogram: 1 0 1 0 0 0 1 0 0 1 + +Total # of neighbors = 17344 +Ave neighs/atom = 33.875000 +Neighbor list builds = 3 +Dangerous builds = 0 + +# Test Vashishta model for In/P + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 2 by 2 MPI processor grid + pair style sw stores no restart info + 512 atoms + read_restart CPU = 0.001 seconds + +pair_style vashishta +pair_coeff * * InP.vashishta In In In In P P P P +Reading vashishta potential file InP.vashishta with DATE: 2015-10-14 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +Resetting global fix info from restart file: + fix style: nvt, fix ID: 1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +All restart file global fix info was re-assigned +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair vashishta, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.988 | 2.988 | 2.988 Mbytes +Step Temp E_pair TotEng Econserve Press + 100 1112.9699 -1497.2988 -1423.785 -1435.9207 355619.19 + 110 1250.545 -1504.5795 -1421.9785 -1435.9786 345188.52 + 120 1360.2275 -1509.3443 -1419.4986 -1435.9801 333306.3 + 130 1066.4516 -1487.9076 -1417.4664 -1435.9076 334465.11 + 140 1481.0477 -1513.0511 -1415.2251 -1435.988 308725.1 + 150 1216.1167 -1493.0774 -1412.7505 -1435.9217 304249.09 + 160 1211.4398 -1490.7459 -1410.728 -1435.9164 288897.09 + 170 1542.2025 -1510.0774 -1408.212 -1435.9608 260104.14 + 180 1302.9041 -1491.7765 -1405.7172 -1435.8971 249514.04 + 190 1332.3326 -1491.5271 -1403.524 -1435.9213 227537.99 + 200 1352.1813 -1490.4513 -1401.1371 -1435.9049 207626.42 +Loop time of 0.14468 on 4 procs for 100 steps with 512 atoms + +Performance: 59.718 ns/day, 0.402 hours/ns, 691.179 timesteps/s +81.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.047903 | 0.058669 | 0.086091 | 6.6 | 40.55 +Neigh | 0.0027876 | 0.002852 | 0.0028808 | 0.1 | 1.97 +Comm | 0.034642 | 0.066142 | 0.078599 | 7.1 | 45.72 +Output | 0.00018477 | 0.0049147 | 0.019101 | 11.7 | 3.40 +Modify | 0.0015709 | 0.0022651 | 0.0029545 | 1.4 | 1.57 +Other | | 0.009837 | | | 6.80 + +Nlocal: 128.000 ave 131 max 124 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 1013.25 ave 1025 max 1002 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 9120.50 ave 9356 max 8868 min +Histogram: 1 0 0 0 1 0 1 0 0 1 + +Total # of neighbors = 36482 +Ave neighs/atom = 71.253906 +Neighbor list builds = 4 +Dangerous builds = 0 + +# Test Tersoff model for B/N/C + +clear + using 1 OpenMP thread(s) per MPI task +read_restart restart.equil +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 + restoring atom style atomic from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) + 1 by 2 by 2 MPI processor grid + pair style sw stores no restart info + 512 atoms + read_restart CPU = 0.005 seconds + +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap +Changing box ... + orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) + orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) + orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) + +pair_style tersoff +pair_coeff * * BNC.tersoff N N N C B B C B +Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 + +thermo_style custom step temp epair etotal econserve press +thermo 10 +fix 1 all nvt temp $t $t 0.1 +fix 1 all nvt temp 1800 $t 0.1 +fix 1 all nvt temp 1800 1800 0.1 +Resetting global fix info from restart file: + fix style: nvt, fix ID: 1 +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes +run 100 +All restart file global fix info was re-assigned +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.1 + ghost atom cutoff = 3.1 + binsize = 1.55, bins = 9 9 9 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair tersoff, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.948 | 2.948 | 2.948 Mbytes +Step Temp E_pair TotEng Econserve Press + 100 1112.9699 -3259.7676 -3186.2538 -3198.3895 1912461.3 + 110 1772.8268 -3301.5479 -3184.4493 -3198.8218 1885295.6 + 120 1169.7287 -3258.74 -3181.4772 -3197.9294 1898705.2 + 130 1308.5623 -3265.1338 -3178.7007 -3197.5922 1894187.5 + 140 1486.0361 -3274.951 -3176.7954 -3197.776 1871927.6 + 150 1419.0362 -3267.7302 -3174.0002 -3197.2296 1925234.6 + 160 1196.6689 -3250.1492 -3171.1069 -3196.7078 1902235.1 + 170 1707.5846 -3281.7658 -3168.9766 -3196.9721 1863047.3 + 180 1337.4358 -3254.9844 -3166.6442 -3196.8222 1880420.9 + 190 1441.8052 -3259.0364 -3163.8023 -3196.3556 1904512.1 + 200 1569.0317 -3265.0089 -3161.3714 -3196.3328 1899462.7 +Loop time of 0.348631 on 4 procs for 100 steps with 512 atoms + +Performance: 24.783 ns/day, 0.968 hours/ns, 286.836 timesteps/s +81.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.13281 | 0.15657 | 0.20106 | 6.9 | 44.91 +Neigh | 0.00037527 | 0.00039309 | 0.00040412 | 0.0 | 0.11 +Comm | 0.12177 | 0.16672 | 0.19154 | 6.8 | 47.82 +Output | 0.00019097 | 0.000462 | 0.0012722 | 0.0 | 0.13 +Modify | 0.018353 | 0.020198 | 0.02302 | 1.3 | 5.79 +Other | | 0.004286 | | | 1.23 + +Nlocal: 128.000 ave 132 max 123 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Nghost: 529.500 ave 533 max 524 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 3651.00 ave 3783 max 3494 min +Histogram: 1 0 0 0 0 1 1 0 0 1 + +Total # of neighbors = 14604 +Ave neighs/atom = 28.523438 +Neighbor list builds = 1 +Dangerous builds = 0 + +Total wall time: 0:00:01 diff --git a/examples/threebody/log.13Jan21.threebody.g++.1 b/examples/threebody/log.13Jan21.threebody.g++.1 deleted file mode 100644 index 9d84547aa1..0000000000 --- a/examples/threebody/log.13Jan21.threebody.g++.1 +++ /dev/null @@ -1,547 +0,0 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -# Simple regression tests for threebody potentials - -# NOTE: These are not intended to represent real materials - -units metal - -atom_style atomic -atom_modify map array -boundary p p p -atom_modify sort 0 0.0 - -# temperature - -variable t equal 1800.0 - -# cubic diamond unit cell - -variable a equal 5.431 -lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 -lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 -Lattice spacing in x,y,z = 5.4310000 5.4310000 5.4310000 - -region myreg block 0 4 0 4 0 4 - -create_box 8 myreg -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 1 by 1 MPI processor grid -create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 -Created 512 atoms - create_atoms CPU = 0.000 seconds - -mass * 28.06 - -velocity all create $t 5287287 loop geom -velocity all create 1800 5287287 loop geom - -# Equilibrate using Stillinger-Weber model for silicon - -pair_style sw -pair_coeff * * Si.sw Si Si Si Si Si Si Si Si -Reading sw potential file Si.sw with DATE: 2007-06-11 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.77118 - ghost atom cutoff = 4.77118 - binsize = 2.38559, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair sw, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.983 | 2.983 | 2.983 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1800 -2220.3392 0 -2101.4457 12358.626 - 10 1006.0192 -2167.7053 0 -2101.3286 13892.426 - 20 588.26396 -2139.7132 0 -2101.3117 11295.566 - 30 990.55956 -2165.2164 0 -2101.3931 6279.0239 - 40 700.12917 -2144.4279 0 -2101.3427 5594.2388 - 50 523.64239 -2131.7796 0 -2101.3122 6013.0994 - 60 989.47092 -2161.3716 0 -2101.3839 5819.2688 - 70 877.27433 -2152.4432 0 -2101.3461 9116.6569 - 80 800.80221 -2146.1371 0 -2101.313 11995.66 - 90 1293.9689 -2176.9021 0 -2101.3848 11692.45 - 100 1112.9699 -2162.7259 0 -2101.3478 12263.758 -Loop time of 0.092666 on 1 procs for 100 steps with 512 atoms - -Performance: 93.238 ns/day, 0.257 hours/ns, 1079.144 timesteps/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.089633 | 0.089633 | 0.089633 | 0.0 | 96.73 -Neigh | 0.001474 | 0.001474 | 0.001474 | 0.0 | 1.59 -Comm | 0.00041 | 0.00041 | 0.00041 | 0.0 | 0.44 -Output | 0.000153 | 0.000153 | 0.000153 | 0.0 | 0.17 -Modify | 0.000782 | 0.000782 | 0.000782 | 0.0 | 0.84 -Other | | 0.000214 | | | 0.23 - -Nlocal: 512.000 ave 512 max 512 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1017.00 ave 1017 max 1017 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 13988.0 ave 13988 max 13988 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 13988 -Ave neighs/atom = 27.320312 -Neighbor list builds = 2 -Dangerous builds = 0 - -write_restart restart.equil -System init for write_restart ... - -# Test Stillinger-Weber model for Cd/Te/Zn/Se/Hg/S - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 1 by 1 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.002 seconds - -pair_style sw -pair_coeff * * CdTeZnSeHgS0.sw Cd Zn Hg Cd Te S Se Te -Reading sw potential file CdTeZnSeHgS0.sw with DATE: 2013-08-09 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6320004 - ghost atom cutoff = 5.6320004 - binsize = 2.8160002, bins = 8 8 8 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair sw, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.001 | 3.001 | 3.001 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -625.76163 0 -564.38354 462129.66 - 110 1502.8461 -649.55768 0 -564.45814 463413.45 - 120 1926.4523 -674.71265 0 -564.53612 486338.88 - 130 1152.6663 -621.47264 0 -564.37203 514892.2 - 140 1762.244 -659.86941 0 -564.4985 488159.88 - 150 1767.8665 -657.67178 0 -564.48386 466721.31 - 160 1075.2874 -610.12809 0 -564.36709 470151.9 - 170 1697.9313 -649.3684 0 -564.47207 467953.71 - 180 1856.1197 -657.14338 0 -564.48754 488372.27 - 190 1346.1107 -621.42431 0 -564.38065 511750.04 - 200 1919.5266 -657.26587 0 -564.47797 488684.56 -Loop time of 0.289193 on 1 procs for 100 steps with 512 atoms - -Performance: 29.876 ns/day, 0.803 hours/ns, 345.790 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 | 0.28463 | 0.28463 | 0.28463 | 0.0 | 98.42 -Neigh | 0.002821 | 0.002821 | 0.002821 | 0.0 | 0.98 -Comm | 0.000605 | 0.000605 | 0.000605 | 0.0 | 0.21 -Output | 0.000176 | 0.000176 | 0.000176 | 0.0 | 0.06 -Modify | 0.000769 | 0.000769 | 0.000769 | 0.0 | 0.27 -Other | | 0.000188 | | | 0.07 - -Nlocal: 512.000 ave 512 max 512 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1428.00 ave 1428 max 1428 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 17344.0 ave 17344 max 17344 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 17344 -Ave neighs/atom = 33.875000 -Neighbor list builds = 3 -Dangerous builds = 0 - -# Test Vashishta model for In/P - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 1 by 1 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds - -pair_style vashishta -pair_coeff * * InP.vashishta In In In In P P P P -Reading vashishta potential file InP.vashishta with DATE: 2015-10-14 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 7 - ghost atom cutoff = 7 - binsize = 3.5, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair vashishta, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.025 | 3.025 | 3.025 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -1497.2988 0 -1435.9207 355619.19 - 110 1250.545 -1504.5795 0 -1435.9786 345188.52 - 120 1360.2275 -1509.3443 0 -1435.9801 333306.3 - 130 1066.4516 -1487.9076 0 -1435.9076 334465.11 - 140 1481.0477 -1513.0511 0 -1435.988 308725.1 - 150 1216.1167 -1493.0774 0 -1435.9217 304249.09 - 160 1211.4398 -1490.7459 0 -1435.9164 288897.09 - 170 1542.2025 -1510.0774 0 -1435.9608 260104.14 - 180 1302.9041 -1491.7765 0 -1435.8971 249514.04 - 190 1332.3326 -1491.5271 0 -1435.9213 227537.99 - 200 1352.1813 -1490.4513 0 -1435.9049 207626.42 -Loop time of 0.126684 on 1 procs for 100 steps with 512 atoms - -Performance: 68.201 ns/day, 0.352 hours/ns, 789.366 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.11981 | 0.11981 | 0.11981 | 0.0 | 94.57 -Neigh | 0.004903 | 0.004903 | 0.004903 | 0.0 | 3.87 -Comm | 0.000846 | 0.000846 | 0.000846 | 0.0 | 0.67 -Output | 0.000145 | 0.000145 | 0.000145 | 0.0 | 0.11 -Modify | 0.000772 | 0.000772 | 0.000772 | 0.0 | 0.61 -Other | | 0.000207 | | | 0.16 - -Nlocal: 512.000 ave 512 max 512 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1838.00 ave 1838 max 1838 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 36482.0 ave 36482 max 36482 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 36482 -Ave neighs/atom = 71.253906 -Neighbor list builds = 4 -Dangerous builds = 0 - -# Test Tersoff model for B/N/C - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 1 by 1 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds - -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap -Changing box ... - orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) - orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) - orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) - -pair_style tersoff -pair_coeff * * BNC.tersoff N N N C B B C B -Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 3.1 - ghost atom cutoff = 3.1 - binsize = 1.55, bins = 9 9 9 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair tersoff, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.982 | 2.982 | 2.982 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -3259.7676 0 -3198.3895 1912461.3 - 110 1772.8268 -3301.5479 0 -3198.8218 1885295.6 - 120 1169.7287 -3258.74 0 -3197.9294 1898705.2 - 130 1308.5623 -3265.1338 0 -3197.5922 1894187.5 - 140 1486.0361 -3274.951 0 -3197.776 1871927.6 - 150 1419.0362 -3267.7302 0 -3197.2296 1925234.6 - 160 1196.6689 -3250.1492 0 -3196.7078 1902235.1 - 170 1707.5846 -3281.7658 0 -3196.9721 1863047.3 - 180 1337.4358 -3254.9844 0 -3196.8222 1880420.9 - 190 1441.8052 -3259.0364 0 -3196.3556 1904512.1 - 200 1569.0317 -3265.0089 0 -3196.3328 1899462.7 -Loop time of 0.114312 on 1 procs for 100 steps with 512 atoms - -Performance: 75.583 ns/day, 0.318 hours/ns, 874.799 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.1121 | 0.1121 | 0.1121 | 0.0 | 98.06 -Neigh | 0.000773 | 0.000773 | 0.000773 | 0.0 | 0.68 -Comm | 0.000415 | 0.000415 | 0.000415 | 0.0 | 0.36 -Output | 0.000136 | 0.000136 | 0.000136 | 0.0 | 0.12 -Modify | 0.000703 | 0.000703 | 0.000703 | 0.0 | 0.61 -Other | | 0.000186 | | | 0.16 - -Nlocal: 512.000 ave 512 max 512 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1028.00 ave 1028 max 1028 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 14604.0 ave 14604 max 14604 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 14604 -Ave neighs/atom = 28.523438 -Neighbor list builds = 1 -Dangerous builds = 0 - -# Test Tersoff/Mod model for Si - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 1 by 1 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds - -pair_style tersoff/mod -pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si -Reading tersoff/mod potential file Si.tersoff.mod with DATE: 2013-07-26 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.3 - ghost atom cutoff = 4.3 - binsize = 2.15, bins = 11 11 11 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair tersoff/mod, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.986 | 2.986 | 2.986 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -2309.6047 0 -2248.2266 17662.891 - 110 835.77436 -2289.6119 0 -2248.1918 19964.211 - 120 1067.0735 -2303.0587 0 -2248.2414 13767.101 - 130 957.60664 -2293.7047 0 -2248.2139 14850.338 - 140 865.12471 -2285.7774 0 -2248.1971 17101.553 - 150 1104.7368 -2299.5468 0 -2248.2286 13031.988 - 160 1077.1682 -2295.3841 0 -2248.2227 13615.019 - 170 843.8591 -2277.9713 0 -2248.1911 18966.532 - 180 1008.7412 -2286.922 0 -2248.2075 17275.649 - 190 1237.9346 -2299.5487 0 -2248.2305 14334.006 - 200 1060.2161 -2285.3352 0 -2248.1952 18999.834 -Loop time of 0.12412 on 1 procs for 100 steps with 512 atoms - -Performance: 69.610 ns/day, 0.345 hours/ns, 805.672 timesteps/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 | 0.12079 | 0.12079 | 0.12079 | 0.0 | 97.32 -Neigh | 0.001821 | 0.001821 | 0.001821 | 0.0 | 1.47 -Comm | 0.000407 | 0.000407 | 0.000407 | 0.0 | 0.33 -Output | 0.000159 | 0.000159 | 0.000159 | 0.0 | 0.13 -Modify | 0.000736 | 0.000736 | 0.000736 | 0.0 | 0.59 -Other | | 0.000203 | | | 0.16 - -Nlocal: 512.000 ave 512 max 512 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1007.00 ave 1007 max 1007 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 8884.00 ave 8884 max 8884 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8884 -Ave neighs/atom = 17.351562 -Neighbor list builds = 3 -Dangerous builds = 0 - -# Test Tersoff/Mod/C model for Si - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 1 by 1 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds -newton on on -pair_style tersoff/mod/c -pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si -Reading tersoff/mod/c potential file Si.tersoff.modc with DATE: 2016-11-09 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.205694 - ghost atom cutoff = 4.205694 - binsize = 2.102847, bins = 11 11 11 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair tersoff/mod/c, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.980 | 2.980 | 2.980 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -2309.1331 0 -2247.755 20346.718 - 110 831.93715 -2288.8853 0 -2247.7187 21758.195 - 120 1077.6698 -2303.2846 0 -2247.7693 16036.053 - 130 972.43247 -2294.1847 0 -2247.7467 16614.835 - 140 815.76148 -2282.0495 0 -2247.7194 18310.116 - 150 1072.7096 -2297.0491 0 -2247.7574 13896.767 - 160 1061.8824 -2294.0028 0 -2247.7522 13663.179 - 170 787.17244 -2273.8946 0 -2247.7175 18586.606 - 180 932.5662 -2281.6828 0 -2247.7315 18154.167 - 190 1205.7299 -2297.2769 0 -2247.7608 14504.136 - 200 1022.5285 -2282.7039 0 -2247.7245 18710.495 -Loop time of 0.12973 on 1 procs for 100 steps with 512 atoms - -Performance: 66.600 ns/day, 0.360 hours/ns, 770.832 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.12643 | 0.12643 | 0.12643 | 0.0 | 97.45 -Neigh | 0.001798 | 0.001798 | 0.001798 | 0.0 | 1.39 -Comm | 0.000421 | 0.000421 | 0.000421 | 0.0 | 0.32 -Output | 0.00016 | 0.00016 | 0.00016 | 0.0 | 0.12 -Modify | 0.000733 | 0.000733 | 0.000733 | 0.0 | 0.57 -Other | | 0.000192 | | | 0.15 - -Nlocal: 512.000 ave 512 max 512 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 958.000 ave 958 max 958 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 8416.00 ave 8416 max 8416 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8416 -Ave neighs/atom = 16.437500 -Neighbor list builds = 3 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/threebody/log.13Jan21.threebody.g++.4 b/examples/threebody/log.13Jan21.threebody.g++.4 deleted file mode 100644 index 621c1cab39..0000000000 --- a/examples/threebody/log.13Jan21.threebody.g++.4 +++ /dev/null @@ -1,547 +0,0 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -# Simple regression tests for threebody potentials - -# NOTE: These are not intended to represent real materials - -units metal - -atom_style atomic -atom_modify map array -boundary p p p -atom_modify sort 0 0.0 - -# temperature - -variable t equal 1800.0 - -# cubic diamond unit cell - -variable a equal 5.431 -lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 -lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 -Lattice spacing in x,y,z = 5.4310000 5.4310000 5.4310000 - -region myreg block 0 4 0 4 0 4 - -create_box 8 myreg -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 2 by 2 MPI processor grid -create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 -Created 512 atoms - create_atoms CPU = 0.001 seconds - -mass * 28.06 - -velocity all create $t 5287287 loop geom -velocity all create 1800 5287287 loop geom - -# Equilibrate using Stillinger-Weber model for silicon - -pair_style sw -pair_coeff * * Si.sw Si Si Si Si Si Si Si Si -Reading sw potential file Si.sw with DATE: 2007-06-11 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.77118 - ghost atom cutoff = 4.77118 - binsize = 2.38559, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair sw, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.958 | 2.958 | 2.958 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1800 -2220.3392 0 -2101.4457 12358.626 - 10 1006.0192 -2167.7053 0 -2101.3286 13892.426 - 20 588.26396 -2139.7132 0 -2101.3117 11295.566 - 30 990.55956 -2165.2164 0 -2101.3931 6279.0239 - 40 700.12917 -2144.4279 0 -2101.3427 5594.2388 - 50 523.64239 -2131.7796 0 -2101.3122 6013.0994 - 60 989.47092 -2161.3716 0 -2101.3839 5819.2688 - 70 877.27433 -2152.4432 0 -2101.3461 9116.6569 - 80 800.80221 -2146.1371 0 -2101.313 11995.66 - 90 1293.9689 -2176.9021 0 -2101.3848 11692.45 - 100 1112.9699 -2162.7259 0 -2101.3478 12263.758 -Loop time of 0.0284905 on 4 procs for 100 steps with 512 atoms - -Performance: 303.259 ns/day, 0.079 hours/ns, 3509.942 timesteps/s -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 | 0.022257 | 0.023383 | 0.025192 | 0.7 | 82.07 -Neigh | 0.00036 | 0.00037475 | 0.000387 | 0.0 | 1.32 -Comm | 0.002084 | 0.0039075 | 0.005034 | 1.8 | 13.72 -Output | 9.9e-05 | 0.00011525 | 0.00016 | 0.0 | 0.40 -Modify | 0.000428 | 0.00043675 | 0.000443 | 0.0 | 1.53 -Other | | 0.0002728 | | | 0.96 - -Nlocal: 128.000 ave 132 max 125 min -Histogram: 1 1 0 0 0 1 0 0 0 1 -Nghost: 525.000 ave 528 max 521 min -Histogram: 1 0 0 0 1 0 0 0 1 1 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 3497.00 ave 3619 max 3397 min -Histogram: 1 1 0 0 0 0 1 0 0 1 - -Total # of neighbors = 13988 -Ave neighs/atom = 27.320312 -Neighbor list builds = 2 -Dangerous builds = 0 - -write_restart restart.equil -System init for write_restart ... - -# Test Stillinger-Weber model for Cd/Te/Zn/Se/Hg/S - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 2 by 2 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.000 seconds - -pair_style sw -pair_coeff * * CdTeZnSeHgS0.sw Cd Zn Hg Cd Te S Se Te -Reading sw potential file CdTeZnSeHgS0.sw with DATE: 2013-08-09 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6320004 - ghost atom cutoff = 5.6320004 - binsize = 2.8160002, bins = 8 8 8 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair sw, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.967 | 2.967 | 2.968 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -625.76163 0 -564.38354 462129.66 - 110 1502.8461 -649.55768 0 -564.45814 463413.45 - 120 1926.4523 -674.71265 0 -564.53613 486338.88 - 130 1152.6663 -621.47265 0 -564.37203 514892.19 - 140 1762.244 -659.86941 0 -564.4985 488159.88 - 150 1767.8665 -657.67179 0 -564.48386 466721.31 - 160 1075.2874 -610.1281 0 -564.36709 470151.9 - 170 1697.9313 -649.3684 0 -564.47208 467953.7 - 180 1856.1197 -657.14338 0 -564.48754 488372.26 - 190 1346.1107 -621.42432 0 -564.38065 511750.03 - 200 1919.5266 -657.26587 0 -564.47797 488684.56 -Loop time of 0.084576 on 4 procs for 100 steps with 512 atoms - -Performance: 102.157 ns/day, 0.235 hours/ns, 1182.369 timesteps/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.072089 | 0.074912 | 0.076672 | 0.7 | 88.57 -Neigh | 0.000745 | 0.0008125 | 0.000883 | 0.0 | 0.96 -Comm | 0.006054 | 0.0077975 | 0.010598 | 2.1 | 9.22 -Output | 0.000129 | 0.00015525 | 0.000219 | 0.0 | 0.18 -Modify | 0.000523 | 0.000578 | 0.000641 | 0.0 | 0.68 -Other | | 0.0003213 | | | 0.38 - -Nlocal: 128.000 ave 135 max 122 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 759.750 ave 770 max 751 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 4336.00 ave 4563 max 4128 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 17344 -Ave neighs/atom = 33.875000 -Neighbor list builds = 3 -Dangerous builds = 0 - -# Test Vashishta model for In/P - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 2 by 2 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds - -pair_style vashishta -pair_coeff * * InP.vashishta In In In In P P P P -Reading vashishta potential file InP.vashishta with DATE: 2015-10-14 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 7 - ghost atom cutoff = 7 - binsize = 3.5, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair vashishta, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.988 | 2.988 | 2.988 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -1497.2988 0 -1435.9207 355619.19 - 110 1250.545 -1504.5795 0 -1435.9786 345188.52 - 120 1360.2275 -1509.3443 0 -1435.9801 333306.3 - 130 1066.4516 -1487.9076 0 -1435.9076 334465.11 - 140 1481.0477 -1513.0511 0 -1435.988 308725.1 - 150 1216.1167 -1493.0774 0 -1435.9217 304249.09 - 160 1211.4398 -1490.7459 0 -1435.9164 288897.09 - 170 1542.2025 -1510.0774 0 -1435.9608 260104.14 - 180 1302.9041 -1491.7765 0 -1435.8971 249514.04 - 190 1332.3326 -1491.5271 0 -1435.9213 227537.99 - 200 1352.1813 -1490.4513 0 -1435.9049 207626.42 -Loop time of 0.0404882 on 4 procs for 100 steps with 512 atoms - -Performance: 213.395 ns/day, 0.112 hours/ns, 2469.852 timesteps/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.032713 | 0.033094 | 0.033544 | 0.2 | 81.74 -Neigh | 0.001251 | 0.0012875 | 0.001308 | 0.1 | 3.18 -Comm | 0.004788 | 0.005204 | 0.00557 | 0.4 | 12.85 -Output | 0.000123 | 0.0001385 | 0.000182 | 0.0 | 0.34 -Modify | 0.000492 | 0.00050725 | 0.000533 | 0.0 | 1.25 -Other | | 0.0002565 | | | 0.63 - -Nlocal: 128.000 ave 131 max 124 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 1013.25 ave 1025 max 1002 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 9120.50 ave 9356 max 8868 min -Histogram: 1 0 0 0 1 0 1 0 0 1 - -Total # of neighbors = 36482 -Ave neighs/atom = 71.253906 -Neighbor list builds = 4 -Dangerous builds = 0 - -# Test Tersoff model for B/N/C - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 2 by 2 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds - -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap -Changing box ... - orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) - orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) - orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) - -pair_style tersoff -pair_coeff * * BNC.tersoff N N N C B B C B -Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 3.1 - ghost atom cutoff = 3.1 - binsize = 1.55, bins = 9 9 9 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair tersoff, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.948 | 2.948 | 2.948 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -3259.7676 0 -3198.3895 1912461.3 - 110 1772.8268 -3301.5479 0 -3198.8218 1885295.6 - 120 1169.7287 -3258.74 0 -3197.9294 1898705.2 - 130 1308.5623 -3265.1338 0 -3197.5922 1894187.5 - 140 1486.0361 -3274.951 0 -3197.776 1871927.6 - 150 1419.0362 -3267.7302 0 -3197.2296 1925234.6 - 160 1196.6689 -3250.1492 0 -3196.7078 1902235.1 - 170 1707.5846 -3281.7658 0 -3196.9721 1863047.3 - 180 1337.4358 -3254.9844 0 -3196.8222 1880420.9 - 190 1441.8052 -3259.0364 0 -3196.3556 1904512.1 - 200 1569.0317 -3265.0089 0 -3196.3328 1899462.7 -Loop time of 0.03452 on 4 procs for 100 steps with 512 atoms - -Performance: 250.290 ns/day, 0.096 hours/ns, 2896.871 timesteps/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 | 0.029269 | 0.029729 | 0.030688 | 0.3 | 86.12 -Neigh | 0.000203 | 0.00023375 | 0.000271 | 0.0 | 0.68 -Comm | 0.00275 | 0.0036492 | 0.004132 | 0.9 | 10.57 -Output | 0.000104 | 0.000121 | 0.000165 | 0.0 | 0.35 -Modify | 0.000456 | 0.0004605 | 0.000463 | 0.0 | 1.33 -Other | | 0.000326 | | | 0.94 - -Nlocal: 128.000 ave 132 max 123 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Nghost: 529.500 ave 533 max 524 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 3651.00 ave 3783 max 3494 min -Histogram: 1 0 0 0 0 1 1 0 0 1 - -Total # of neighbors = 14604 -Ave neighs/atom = 28.523438 -Neighbor list builds = 1 -Dangerous builds = 0 - -# Test Tersoff/Mod model for Si - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 2 by 2 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds - -pair_style tersoff/mod -pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si -Reading tersoff/mod potential file Si.tersoff.mod with DATE: 2013-07-26 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.3 - ghost atom cutoff = 4.3 - binsize = 2.15, bins = 11 11 11 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair tersoff/mod, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.950 | 2.950 | 2.950 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -2309.6047 0 -2248.2266 17662.891 - 110 835.77436 -2289.6119 0 -2248.1918 19964.211 - 120 1067.0735 -2303.0587 0 -2248.2414 13767.101 - 130 957.60664 -2293.7047 0 -2248.2139 14850.338 - 140 865.12471 -2285.7774 0 -2248.1971 17101.553 - 150 1104.7368 -2299.5468 0 -2248.2286 13031.988 - 160 1077.1682 -2295.3841 0 -2248.2227 13615.019 - 170 843.8591 -2277.9713 0 -2248.1911 18966.532 - 180 1008.7412 -2286.922 0 -2248.2075 17275.649 - 190 1237.9346 -2299.5487 0 -2248.2305 14334.006 - 200 1060.2161 -2285.3352 0 -2248.1952 18999.834 -Loop time of 0.043388 on 4 procs for 100 steps with 512 atoms - -Performance: 199.133 ns/day, 0.121 hours/ns, 2304.785 timesteps/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.033874 | 0.036197 | 0.037433 | 0.7 | 83.43 -Neigh | 0.000538 | 0.00055575 | 0.000575 | 0.0 | 1.28 -Comm | 0.004381 | 0.0055505 | 0.007783 | 1.8 | 12.79 -Output | 0.000141 | 0.0001635 | 0.000228 | 0.0 | 0.38 -Modify | 0.000532 | 0.000615 | 0.000692 | 0.0 | 1.42 -Other | | 0.000306 | | | 0.71 - -Nlocal: 128.000 ave 135 max 121 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Nghost: 515.000 ave 518 max 508 min -Histogram: 1 0 0 0 0 0 0 0 1 2 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 2221.00 ave 2328 max 2103 min -Histogram: 1 0 0 0 1 0 1 0 0 1 - -Total # of neighbors = 8884 -Ave neighs/atom = 17.351562 -Neighbor list builds = 3 -Dangerous builds = 0 - -# Test Tersoff/Mod/C model for Si - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) - using 1 OpenMP thread(s) per MPI task -read_restart restart.equil -Reading restart file ... - restart file = 30 Nov 2020, LAMMPS = 30 Nov 2020 - restoring atom style atomic from restart - orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) - 1 by 2 by 2 MPI processor grid - pair style sw stores no restart info - 512 atoms - read_restart CPU = 0.001 seconds -newton on on -pair_style tersoff/mod/c -pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si -Reading tersoff/mod/c potential file Si.tersoff.modc with DATE: 2016-11-09 - -thermo 10 -fix 1 all nvt temp $t $t 0.1 -fix 1 all nvt temp 1800 $t 0.1 -fix 1 all nvt temp 1800 1800 0.1 -Resetting global fix info from restart file: - fix style: nvt, fix ID: 1 -fix_modify 1 energy yes -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes -run 100 -All restart file global fix info was re-assigned -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.205694 - ghost atom cutoff = 4.205694 - binsize = 2.102847, bins = 11 11 11 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair tersoff/mod/c, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 2.950 | 2.950 | 2.950 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 1112.9699 -2309.1331 0 -2247.755 20346.718 - 110 831.93715 -2288.8853 0 -2247.7187 21758.195 - 120 1077.6698 -2303.2846 0 -2247.7693 16036.053 - 130 972.43247 -2294.1847 0 -2247.7467 16614.835 - 140 815.76148 -2282.0495 0 -2247.7194 18310.116 - 150 1072.7096 -2297.0491 0 -2247.7574 13896.767 - 160 1061.8824 -2294.0028 0 -2247.7522 13663.179 - 170 787.17244 -2273.8946 0 -2247.7175 18586.606 - 180 932.5662 -2281.6828 0 -2247.7315 18154.167 - 190 1205.7299 -2297.2769 0 -2247.7608 14504.136 - 200 1022.5285 -2282.7039 0 -2247.7245 18710.495 -Loop time of 0.0526065 on 4 procs for 100 steps with 512 atoms - -Performance: 164.238 ns/day, 0.146 hours/ns, 1900.906 timesteps/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.044962 | 0.045875 | 0.046737 | 0.3 | 87.20 -Neigh | 0.000603 | 0.00062075 | 0.000646 | 0.0 | 1.18 -Comm | 0.003882 | 0.0047085 | 0.005598 | 1.0 | 8.95 -Output | 0.000159 | 0.0001995 | 0.000321 | 0.0 | 0.38 -Modify | 0.000767 | 0.0007775 | 0.000792 | 0.0 | 1.48 -Other | | 0.0004255 | | | 0.81 - -Nlocal: 128.000 ave 131 max 122 min -Histogram: 1 0 0 0 0 0 1 0 0 2 -Nghost: 483.000 ave 485 max 479 min -Histogram: 1 0 0 0 0 0 1 0 0 2 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 2104.00 ave 2169 max 2008 min -Histogram: 1 0 0 0 0 1 0 0 1 1 - -Total # of neighbors = 8416 -Ave neighs/atom = 16.437500 -Neighbor list builds = 3 -Dangerous builds = 0 - -Total wall time: 0:00:00 From 11866dfcb41777bf144972d18832e4df7eb54a07 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 21:20:25 -0500 Subject: [PATCH 104/132] avoid segfault when accessing fix compute data before the fix is initialized --- src/SHOCK/fix_msst.cpp | 5 +++++ src/SHOCK/fix_nphug.cpp | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp index d0dee1af90..10ec0f0351 100644 --- a/src/SHOCK/fix_msst.cpp +++ b/src/SHOCK/fix_msst.cpp @@ -935,6 +935,7 @@ double FixMSST::compute_vector(int n) double FixMSST::compute_hugoniot() { + if (!temperature) return 0.0; double v, e, p; double dhugo; @@ -960,6 +961,8 @@ double FixMSST::compute_hugoniot() double FixMSST::compute_rayleigh() { + if (!temperature) return 0.0; + double v, p; double drayleigh; @@ -1001,6 +1004,8 @@ double FixMSST::compute_lagrangian_position() double FixMSST::compute_etotal() { + if (!pe) return 0.0; + double epot,ekin,etot; epot = pe->compute_scalar(); ekin = temperature->compute_scalar(); diff --git a/src/SHOCK/fix_nphug.cpp b/src/SHOCK/fix_nphug.cpp index c54bc0fa44..1fa7b77f6a 100644 --- a/src/SHOCK/fix_nphug.cpp +++ b/src/SHOCK/fix_nphug.cpp @@ -244,6 +244,8 @@ void FixNPHug::compute_temp_target() double FixNPHug::compute_etotal() { + if (!pe) return 0.0; + double epot,ekin,etot; epot = pe->compute_scalar(); ekin = temperature->compute_scalar(); @@ -269,6 +271,8 @@ double FixNPHug::compute_vol() double FixNPHug::compute_hugoniot() { + if (!temperature) return 0.0; + double v,e,p; double dhugo; @@ -299,6 +303,8 @@ double FixNPHug::compute_hugoniot() double FixNPHug::compute_us() { + if (!temperature) return 0.0; + double v,p; double eps,us; From d2b3677d6fd83b8449eda71e28e83cd86e23c4cd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Feb 2021 21:45:58 -0500 Subject: [PATCH 105/132] whitespace fixes --- doc/src/thermo_style.rst | 6 +++--- src/USER-MISC/pair_agni.h | 2 +- src/fix_ave_correlate.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index ac53e575e5..8ea487fd0a 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -23,7 +23,7 @@ Syntax atoms, temp, press, pe, ke, etotal, evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, - enthalpy, ecouple, econserve, + enthalpy, ecouple, econserve, vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz, xlat, ylat, zlat, bonds, angles, dihedrals, impropers, @@ -61,8 +61,8 @@ Syntax elong = long-range kspace energy etail = van der Waals energy long-range tail correction enthalpy = enthalpy (etotal + press\*vol) - ecouple = cumulative energy change due to thermo/baro statting fixes - econserve = pe + ke + ecouple = etotal + ecouple + ecouple = cumulative energy change due to thermo/baro statting fixes + econserve = pe + ke + ecouple = etotal + ecouple vol = volume density = mass density of system lx,ly,lz = box lengths in x,y,z diff --git a/src/USER-MISC/pair_agni.h b/src/USER-MISC/pair_agni.h index 58adc2002d..6fba506d04 100644 --- a/src/USER-MISC/pair_agni.h +++ b/src/USER-MISC/pair_agni.h @@ -50,7 +50,7 @@ class PairAGNI : public Pair { int *elem2param; // mapping from element pairs to parameters int *map; // mapping from atom types to elements int nparams; // # of stored parameter sets - int atomic_feature_version; // version of fingerprint + int atomic_feature_version; // version of fingerprint Param *params; // parameter set for an I-J interaction virtual void allocate(); void read_file(char *); diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index de0cc0da6f..efd06a182a 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -74,7 +74,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): int iarg = 0; while (iarg < nargnew) { ArgInfo argi(arg[iarg]); - + if (argi.get_type() == ArgInfo::NONE) break; if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_dim() > 1)) error->all(FLERR,"Invalid fix ave/correlate command"); From 7826b58f7369d5da9e1dba2160b696cab5739227 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 00:38:17 -0500 Subject: [PATCH 106/132] add check to lammps python module to check consistent versions between module and shared library --- python/install.py | 26 +++++++++++++++++++++++++- python/lammps/__init__.py | 4 ++++ python/lammps/core.py | 6 ++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/python/install.py b/python/install.py index 6765c33925..db3fea639d 100644 --- a/python/install.py +++ b/python/install.py @@ -10,7 +10,7 @@ build target in the conventional and CMake based build systems # copy LAMMPS shared library and lammps package to system dirs from __future__ import print_function -import sys,os,shutil +import sys,os,re,shutil from argparse import ArgumentParser parser = ArgumentParser(prog='install.py', @@ -90,11 +90,35 @@ def get_lammps_version(header): verstr = get_lammps_version(args.version) +# convert string version to numeric version +vernum = 0 +vregex = re.compile(r"([0-9]+)([A-Za-z]+)(2[0-9]+)") +m = vregex.match(verstr) +if (m): + month2num = { 'Jan' : 1, 'Feb' : 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun' : 6, + 'Jul' : 7, 'Aug' : 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec' : 12 } + try: + vernum = int(m.group(3))*10000 + vernum += month2num[m.group(2)]*100 + vernum += int(m.group(1)) + except: + exit('Failure to parse version string: %s' % verstr) + print("Installing LAMMPS Python package version %s into site-packages folder" % verstr) # we need to switch to the folder of the python package os.chdir(os.path.dirname(args.package)) + + +# update version number in lammps module +vregex = re.compile(r".*(__version__ += +)[0-9]+") +with open(os.path.join('lammps','__init__.py'), "r+") as f: + content = f.read() + f.seek(0) + f.write(re.sub(vregex, lambda match: '{}{}'.format(match.group(1), vernum), content)) + f.truncate() + from distutils.core import setup from distutils.sysconfig import get_python_lib import site diff --git a/python/lammps/__init__.py b/python/lammps/__init__.py index b1c8306617..d79ebe3e9f 100644 --- a/python/lammps/__init__.py +++ b/python/lammps/__init__.py @@ -2,3 +2,7 @@ from .constants import * from .core import * from .data import * from .pylammps import * + +# automatically updated during installation + +__version__ = 20201224 diff --git a/python/lammps/core.py b/python/lammps/core.py index 6c1300ccf2..1ae6ff5286 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -381,6 +381,12 @@ class lammps(object): self._installed_packages = None self._available_styles = None + # check if liblammps version matches the installed python module version + import lammps + if lammps.__version__ != self.lib.lammps_version(self.lmp): + raise(AttributeError("LAMMPS Python module installed for LAMMPS version %d, but shared library is version %d" \ + % (lammps.__version__, self.lib.lammps_version(self.lmp)))) + # add way to insert Python callback for fix external self.callback = {} self.FIX_EXTERNAL_CALLBACK_FUNC = CFUNCTYPE(None, py_object, self.c_bigint, c_int, POINTER(self.c_tagint), POINTER(POINTER(c_double)), POINTER(POINTER(c_double))) From 2d1f9646a3a37feca09bad778b8d435fe2885467 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 00:40:55 -0500 Subject: [PATCH 107/132] update src/.gitignore --- src/.gitignore | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index ebeb7076da..45ec71e485 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -204,6 +204,8 @@ /pair_spin_dipole_long.h /pair_spin_exchange.cpp /pair_spin_exchange.h +/pair_spin_exchange_biquadratic.cpp +/pair_spin_exchange_biquadratic.h /pair_spin_magelec.cpp /pair_spin_magelec.h /pair_spin_neel.cpp @@ -247,6 +249,8 @@ /angle_fourier.h /angle_fourier_simple.cpp /angle_fourier_simple.h +/angle_gaussian.cpp +/angle_gaussian.h /angle_harmonic.cpp /angle_harmonic.h /angle_mm3.cpp @@ -295,6 +299,8 @@ /bond_fene.h /bond_fene_expand.cpp /bond_fene_expand.h +/bond_gaussian.cpp +/bond_gaussian.h /bond_gromos.cpp /bond_gromos.h /bond_harmonic.cpp @@ -451,24 +457,30 @@ /dump_atom_adios.h /dump_atom_gz.cpp /dump_atom_gz.h -/dump_xyz_gz.cpp -/dump_xyz_gz.h +/dump_atom_zstd.cpp +/dump_atom_zstd.h /dump_atom_mpiio.cpp /dump_atom_mpiio.h /dump_cfg_gz.cpp /dump_cfg_gz.h /dump_cfg_mpiio.cpp /dump_cfg_mpiio.h +/dump_cfg_zstd.cpp +/dump_cfg_zstd.h /dump_custom_adios.cpp /dump_custom_adios.h /dump_custom_gz.cpp /dump_custom_gz.h /dump_custom_mpiio.cpp /dump_custom_mpiio.h +/dump_custom_zstd.cpp +/dump_custom_zstd.h /dump_h5md.cpp /dump_h5md.h /dump_local_gz.cpp /dump_local_gz.h +/dump_local_zstd.cpp +/dump_local_zstd.h /dump_netcdf.cpp /dump_netcdf.h /dump_netcdf_mpiio.cpp @@ -477,8 +489,12 @@ /dump_vtk.h /dump_xtc.cpp /dump_xtc.h +/dump_xyz_gz.cpp +/dump_xyz_gz.h /dump_xyz_mpiio.cpp /dump_xyz_mpiio.h +/dump_xyz_zstd.cpp +/dump_xyz_zstd.h /dynamical_matrix.cpp /dynamical_matrix.h /ewald.cpp @@ -533,6 +549,8 @@ /fix_efield.h /fix_electron_stopping.cpp /fix_electron_stopping.h +/fix_electron_stopping_fit.cpp +/fix_electron_stopping_fit.h /fix_eos_cv.cpp /fix_eos_cv.h /fix_eos_table.cpp @@ -736,6 +754,12 @@ /fix_store_kim.h /fix_temp_rescale_eff.cpp /fix_temp_rescale_eff.h +/fix_tgnh_drude.cpp +/fix_tgnh_drude.h +/fix_tgnpt_drude.cpp +/fix_tgnpt_drude.h +/fix_tgnvt_drude.cpp +/fix_tgnvt_drude.h /fix_thermal_conductivity.cpp /fix_thermal_conductivity.h /fix_ti_rs.cpp @@ -886,6 +910,8 @@ /pair_coul_slater_cut.h /pair_coul_slater_long.cpp /pair_coul_slater_long.h +/pair_coul_tt.cpp +/pair_coul_tt.h /pair_dipole_cut.cpp /pair_dipole_cut.h /pair_dipole_sf.cpp @@ -906,8 +932,8 @@ /pair_eam_cd.h /pair_eam_fs.cpp /pair_eam_fs.h -/fix_electron_stopping.cpp -/fix_electron_stopping.h +/pair_eam_he.cpp +/pair_eam_he.h /pair_lebedeva_z.cpp /pair_lebedeva_z.h /pair_lj_expand_coul_long.cpp @@ -1112,6 +1138,8 @@ /pair_tri_lj.h /pair_yukawa_colloid.cpp /pair_yukawa_colloid.h +/pair_wf_cut.cpp +/pair_wf_cut.h /pair_momb.cpp /pair_momb.h /pppm.cpp @@ -1387,3 +1415,5 @@ /pair_smtbq.h /pair_vashishta*.cpp /pair_vashishta*.h +/zstd_file_writer.cpp +/zstd_file_writer.h From 7f338a17afc1aa7a710a285b7597a8aa3e7aae83 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 00:42:30 -0500 Subject: [PATCH 108/132] fix whitespace --- src/USER-MISC/bond_gaussian.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-MISC/bond_gaussian.cpp b/src/USER-MISC/bond_gaussian.cpp index 350377f5d3..e6460d808e 100644 --- a/src/USER-MISC/bond_gaussian.cpp +++ b/src/USER-MISC/bond_gaussian.cpp @@ -168,7 +168,7 @@ void BondGaussian::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { bond_temperature[i] = bond_temp_one; nterms[i] = n; - delete[] alpha[i]; + delete[] alpha[i]; alpha[i] = new double [n]; delete[] width[i]; width[i] = new double [n]; From 86b3e8ba2a307a8a8732f53574802ff37e5292fb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 00:42:37 -0500 Subject: [PATCH 109/132] fix permisssions --- examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx | 0 examples/USER/dpd/dpdrx-shardlow/params.exp6 | 0 examples/USER/dpd/dpdrx-shardlow/table.eos | 0 examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx | 0 .../USER/dpd/dpdrx-shardlow/thermo.dpdrx.new | 17 ----------------- examples/USER/lb/confined_colloid/results64.out | 0 examples/USER/lb/dragforce/data.one_radius16d2 | 0 .../USER/lb/dragforce/defaultgamma_drag.out | 0 .../USER/lb/dragforce/setgamma13d0_drag.out | 0 examples/USER/lb/fourspheres/data.four | 0 .../fourspheres_velocity0d0001_defaultgamma.out | 0 .../fourspheres_velocity0d0001_setgamma.out | 0 examples/USER/lb/microrheology/data.two | 0 .../microrheology_defaultgamma.out | 0 .../lb/microrheology/microrheology_setgamma.out | 0 examples/USER/lb/planewall/data.one_radius16d2 | 0 .../USER/lb/planewall/wall_defaultgamma.out | 0 examples/USER/lb/planewall/wall_setgamma.out | 0 .../Silicon/ff-silicon.lmp | 0 .../Silicon/lmp_bank/amorphous_silicon.lmp | 0 .../Silicon/lmp_bank/silicon_216.lmp | 0 .../Silicon/lmp_bank/silicon_512.lmp | 0 .../Silicon/lmp_bank/silicon_8.lmp | 0 .../Silicon/silicon_input_file.lmp | 0 .../grow_styrene_post.data_template | 0 .../create_atoms_polystyrene/in.grow_styrene | 0 examples/USER/sph/shock_tube/exact_solution.dat | 0 examples/USER/sph/shock_tube/shock2d.lmp | 0 examples/reax/CHO/ffield.reax.cho | 0 29 files changed, 17 deletions(-) mode change 100755 => 100644 examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx mode change 100755 => 100644 examples/USER/dpd/dpdrx-shardlow/params.exp6 mode change 100755 => 100644 examples/USER/dpd/dpdrx-shardlow/table.eos mode change 100755 => 100644 examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx delete mode 100755 examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx.new mode change 100755 => 100644 examples/USER/lb/confined_colloid/results64.out mode change 100755 => 100644 examples/USER/lb/dragforce/data.one_radius16d2 mode change 100755 => 100644 examples/USER/lb/dragforce/defaultgamma_drag.out mode change 100755 => 100644 examples/USER/lb/dragforce/setgamma13d0_drag.out mode change 100755 => 100644 examples/USER/lb/fourspheres/data.four mode change 100755 => 100644 examples/USER/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out mode change 100755 => 100644 examples/USER/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out mode change 100755 => 100644 examples/USER/lb/microrheology/data.two mode change 100755 => 100644 examples/USER/lb/microrheology/microrheology_defaultgamma.out mode change 100755 => 100644 examples/USER/lb/microrheology/microrheology_setgamma.out mode change 100755 => 100644 examples/USER/lb/planewall/data.one_radius16d2 mode change 100755 => 100644 examples/USER/lb/planewall/wall_defaultgamma.out mode change 100755 => 100644 examples/USER/lb/planewall/wall_setgamma.out mode change 100755 => 100644 examples/USER/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp mode change 100755 => 100644 examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp mode change 100755 => 100644 examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp mode change 100755 => 100644 examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp mode change 100755 => 100644 examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp mode change 100755 => 100644 examples/USER/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp mode change 100755 => 100644 examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template mode change 100755 => 100644 examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene mode change 100755 => 100644 examples/USER/sph/shock_tube/exact_solution.dat mode change 100755 => 100644 examples/USER/sph/shock_tube/shock2d.lmp mode change 100755 => 100644 examples/reax/CHO/ffield.reax.cho diff --git a/examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx b/examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx old mode 100755 new mode 100644 diff --git a/examples/USER/dpd/dpdrx-shardlow/params.exp6 b/examples/USER/dpd/dpdrx-shardlow/params.exp6 old mode 100755 new mode 100644 diff --git a/examples/USER/dpd/dpdrx-shardlow/table.eos b/examples/USER/dpd/dpdrx-shardlow/table.eos old mode 100755 new mode 100644 diff --git a/examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx b/examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx old mode 100755 new mode 100644 diff --git a/examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx.new b/examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx.new deleted file mode 100755 index c55d5065ba..0000000000 --- a/examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx.new +++ /dev/null @@ -1,17 +0,0 @@ -# rx heats of formation for various molecules -# multiple entries can be added to this file, LAMMPS reads the ones it needs -# the entries are in LAMMPS "metal" units (eV) -# Be sure the units are consistent with your input file - -# format of a single entry (one or more lines): -# species DeltaHformation - -rdx 1.989907438211819 -hcn 1.400635733970104 -no2 0.343004076201018 -no 0.935781955892458 -h2o -2.506184777415379 -n2 0.000000000000000 -h2 0.000000000000000 -co -1.145533746031845 -co2 -4.078501848437456 diff --git a/examples/USER/lb/confined_colloid/results64.out b/examples/USER/lb/confined_colloid/results64.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/dragforce/data.one_radius16d2 b/examples/USER/lb/dragforce/data.one_radius16d2 old mode 100755 new mode 100644 diff --git a/examples/USER/lb/dragforce/defaultgamma_drag.out b/examples/USER/lb/dragforce/defaultgamma_drag.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/dragforce/setgamma13d0_drag.out b/examples/USER/lb/dragforce/setgamma13d0_drag.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/fourspheres/data.four b/examples/USER/lb/fourspheres/data.four old mode 100755 new mode 100644 diff --git a/examples/USER/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out b/examples/USER/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out b/examples/USER/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/microrheology/data.two b/examples/USER/lb/microrheology/data.two old mode 100755 new mode 100644 diff --git a/examples/USER/lb/microrheology/microrheology_defaultgamma.out b/examples/USER/lb/microrheology/microrheology_defaultgamma.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/microrheology/microrheology_setgamma.out b/examples/USER/lb/microrheology/microrheology_setgamma.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/planewall/data.one_radius16d2 b/examples/USER/lb/planewall/data.one_radius16d2 old mode 100755 new mode 100644 diff --git a/examples/USER/lb/planewall/wall_defaultgamma.out b/examples/USER/lb/planewall/wall_defaultgamma.out old mode 100755 new mode 100644 diff --git a/examples/USER/lb/planewall/wall_setgamma.out b/examples/USER/lb/planewall/wall_setgamma.out old mode 100755 new mode 100644 diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp b/examples/USER/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp old mode 100755 new mode 100644 diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp b/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp old mode 100755 new mode 100644 diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp b/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp old mode 100755 new mode 100644 diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp b/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp old mode 100755 new mode 100644 diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp b/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp old mode 100755 new mode 100644 diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp b/examples/USER/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp old mode 100755 new mode 100644 diff --git a/examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template b/examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template old mode 100755 new mode 100644 diff --git a/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene b/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene old mode 100755 new mode 100644 diff --git a/examples/USER/sph/shock_tube/exact_solution.dat b/examples/USER/sph/shock_tube/exact_solution.dat old mode 100755 new mode 100644 diff --git a/examples/USER/sph/shock_tube/shock2d.lmp b/examples/USER/sph/shock_tube/shock2d.lmp old mode 100755 new mode 100644 diff --git a/examples/reax/CHO/ffield.reax.cho b/examples/reax/CHO/ffield.reax.cho old mode 100755 new mode 100644 From b53b993c681ec67af553a0d55dd83f294f8048fd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 02:12:37 -0500 Subject: [PATCH 110/132] recover in-place usage by defaulting to version 0 and changing it back after installation --- python/install.py | 7 +++++++ python/lammps/__init__.py | 2 +- python/lammps/core.py | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/python/install.py b/python/install.py index db3fea639d..bd0874593f 100644 --- a/python/install.py +++ b/python/install.py @@ -150,3 +150,10 @@ if tryuser: setup(**setup_kwargs) except: print("Installation into user site package folder failed.") + +# restore __version__ == 0 for in place usage +with open(os.path.join('lammps','__init__.py'), "r+") as f: + content = f.read() + f.seek(0) + f.write(re.sub(vregex, lambda match: '{}{}'.format(match.group(1), 0), content)) + f.truncate() diff --git a/python/lammps/__init__.py b/python/lammps/__init__.py index d79ebe3e9f..e73e514d8c 100644 --- a/python/lammps/__init__.py +++ b/python/lammps/__init__.py @@ -5,4 +5,4 @@ from .pylammps import * # automatically updated during installation -__version__ = 20201224 +__version__ = 0 diff --git a/python/lammps/core.py b/python/lammps/core.py index 1ae6ff5286..1dc135359d 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -382,8 +382,9 @@ class lammps(object): self._available_styles = None # check if liblammps version matches the installed python module version + # but not for in-place usage, i.e. when the version is 0 import lammps - if lammps.__version__ != self.lib.lammps_version(self.lmp): + if lammps.__version__ > 0 and lammps.__version__ != self.lib.lammps_version(self.lmp): raise(AttributeError("LAMMPS Python module installed for LAMMPS version %d, but shared library is version %d" \ % (lammps.__version__, self.lib.lammps_version(self.lmp)))) From d26c744e5467dfb167f7cdff800f912b6dfed959 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 09:17:08 -0500 Subject: [PATCH 111/132] should use ev_init() not ev_setup() --- src/SPIN/pair_spin_dipole_cut.cpp | 3 +-- src/USER-MISC/pair_cosine_squared.cpp | 5 +---- src/USER-MISC/pair_coul_slater_cut.cpp | 3 +-- src/USER-MISC/pair_coul_slater_long.cpp | 6 +----- src/USER-MISC/pair_e3b.cpp | 3 +-- src/USER-MISC/pair_local_density.cpp | 4 +--- src/USER-MISC/pair_wf_cut.cpp | 3 +-- src/USER-OMP/pair_buck_long_coul_long_omp.cpp | 4 +--- src/USER-OMP/pair_lj_long_coul_long_omp.cpp | 4 +--- src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp | 4 +--- 10 files changed, 10 insertions(+), 29 deletions(-) diff --git a/src/SPIN/pair_spin_dipole_cut.cpp b/src/SPIN/pair_spin_dipole_cut.cpp index 7ba81d93f8..2679f0fd6d 100644 --- a/src/SPIN/pair_spin_dipole_cut.cpp +++ b/src/SPIN/pair_spin_dipole_cut.cpp @@ -167,9 +167,8 @@ void PairSpinDipoleCut::compute(int eflag, int vflag) double rinv,r2inv,r3inv,rsq,local_cut2,evdwl,ecoul; double xi[3],rij[3],eij[3],spi[4],spj[4],fi[3],fmi[3]; + ev_init(eflag,vflag); evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; int *type = atom->type; int nlocal = atom->nlocal; diff --git a/src/USER-MISC/pair_cosine_squared.cpp b/src/USER-MISC/pair_cosine_squared.cpp index 1af0f00c32..684d405f2b 100644 --- a/src/USER-MISC/pair_cosine_squared.cpp +++ b/src/USER-MISC/pair_cosine_squared.cpp @@ -344,11 +344,8 @@ void PairCosineSquared::compute(int eflag, int vflag) double r, rsq, r2inv, r6inv; double factor_lj, force_lj, force_cos, cosone; + ev_init(eflag, vflag); evdwl = 0.0; - if (eflag || vflag) - ev_setup(eflag, vflag); - else - evflag = vflag_fdotr = 0; double **x = atom->x; double **f = atom->f; diff --git a/src/USER-MISC/pair_coul_slater_cut.cpp b/src/USER-MISC/pair_coul_slater_cut.cpp index b4f8bad191..bb32cf1c18 100644 --- a/src/USER-MISC/pair_coul_slater_cut.cpp +++ b/src/USER-MISC/pair_coul_slater_cut.cpp @@ -40,9 +40,8 @@ void PairCoulSlaterCut::compute(int eflag, int vflag) double rsq,r2inv,r,rinv,forcecoul,factor_coul,bracket_term; int *ilist,*jlist,*numneigh,**firstneigh; + ev_init(eflag,vflag); ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; double **x = atom->x; double **f = atom->f; diff --git a/src/USER-MISC/pair_coul_slater_long.cpp b/src/USER-MISC/pair_coul_slater_long.cpp index 497520a32d..9c2e9780df 100644 --- a/src/USER-MISC/pair_coul_slater_long.cpp +++ b/src/USER-MISC/pair_coul_slater_long.cpp @@ -59,7 +59,6 @@ PairCoulSlaterLong::~PairCoulSlaterLong() memory->destroy(scale); } - //if (ftable) free_tables(); } } @@ -69,17 +68,14 @@ void PairCoulSlaterLong::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair; -// double fraction,table; double r,r2inv,forcecoul,factor_coul; double grij,expm2,prefactor,t,erfc; int *ilist,*jlist,*numneigh,**firstneigh; double rsq; double slater_term; -// int itable; + ev_init(eflag,vflag); ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; double **x = atom->x; double **f = atom->f; diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index ae65d68d89..419cd29a2b 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -97,13 +97,12 @@ void PairE3B::compute(int eflag, int vflag) if (natoms != atom->natoms) error->all(FLERR,"pair E3B requires a fixed number of atoms"); + ev_init(eflag,vflag); //clear sumExp array memset(sumExp,0.0,nbytes); evdwl = 0.0; pvector[0]=pvector[1]=pvector[2]=pvector[3]=0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; double **x = atom->x; double **f = atom->f; diff --git a/src/USER-MISC/pair_local_density.cpp b/src/USER-MISC/pair_local_density.cpp index ec3c41a47b..3e5af5f7c3 100644 --- a/src/USER-MISC/pair_local_density.cpp +++ b/src/USER-MISC/pair_local_density.cpp @@ -139,11 +139,9 @@ void PairLocalDensity::compute(int eflag, int vflag) double p, *coeff; int *ilist,*jlist,*numneigh,**firstneigh; + ev_init(eflag,vflag); phi = uLD = evdwl = fpair = rsqinv = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; - /* localrho = LD at each atom fp = derivative of embedding energy at each atom for each LD potential uLD = embedding energy of each atom due to each LD potential*/ diff --git a/src/USER-MISC/pair_wf_cut.cpp b/src/USER-MISC/pair_wf_cut.cpp index d29ae2a4fe..e62217aad1 100644 --- a/src/USER-MISC/pair_wf_cut.cpp +++ b/src/USER-MISC/pair_wf_cut.cpp @@ -70,9 +70,8 @@ void PairWFCut::compute(int eflag, int vflag) double forcenm,rminv, rm, rn; int *ilist,*jlist,*numneigh,**firstneigh; + ev_init(eflag,vflag); evdwl = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; double **x = atom->x; double **f = atom->f; diff --git a/src/USER-OMP/pair_buck_long_coul_long_omp.cpp b/src/USER-OMP/pair_buck_long_coul_long_omp.cpp index 15fb9e69f9..1da7c6db60 100644 --- a/src/USER-OMP/pair_buck_long_coul_long_omp.cpp +++ b/src/USER-OMP/pair_buck_long_coul_long_omp.cpp @@ -367,9 +367,7 @@ void PairBuckLongCoulLongOMP::compute_middle() void PairBuckLongCoulLongOMP::compute_outer(int eflag, int vflag) { - if (eflag || vflag) { - ev_setup(eflag,vflag); - } else evflag = vflag_fdotr = 0; + ev_init(eflag,vflag); const int order1 = ewald_order&(1<<1); const int order6 = ewald_order&(1<<6); diff --git a/src/USER-OMP/pair_lj_long_coul_long_omp.cpp b/src/USER-OMP/pair_lj_long_coul_long_omp.cpp index ca66f3c1c0..980efb7c84 100644 --- a/src/USER-OMP/pair_lj_long_coul_long_omp.cpp +++ b/src/USER-OMP/pair_lj_long_coul_long_omp.cpp @@ -366,9 +366,7 @@ void PairLJLongCoulLongOMP::compute_middle() void PairLJLongCoulLongOMP::compute_outer(int eflag, int vflag) { - if (eflag || vflag) { - ev_setup(eflag,vflag); - } else evflag = vflag_fdotr = 0; + ev_init(eflag,vflag); const int order1 = ewald_order&(1<<1); const int order6 = ewald_order&(1<<6); diff --git a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp b/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp index 4dadd0a1ea..bf8ac76740 100644 --- a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp +++ b/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp @@ -425,9 +425,7 @@ void PairLJLongTIP4PLongOMP::compute_middle() void PairLJLongTIP4PLongOMP::compute_outer(int eflag, int vflag) { - if (eflag || vflag) { - ev_setup(eflag,vflag); - } else evflag = vflag_fdotr = 0; + ev_init(eflag,vflag); const int order1 = ewald_order&(1<<1); const int order6 = ewald_order&(1<<6); From 56467144702b6e32d13cd2e0690a83911682eef7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 11:01:34 -0500 Subject: [PATCH 112/132] update example inputs and logfile for fix_modify energy yes/no changes, where needed --- examples/SPIN/nickel/in.spin.nickel | 8 +- examples/SPIN/nickel/in.spin.nickel_cubic | 72 ++--- examples/USER/misc/gle/in.h2o-quantum | 35 ++- examples/USER/misc/gle/in.h2o-smart | 37 ++- .../in.alpha_quartz_qbmsst | 9 +- ... => log.09Feb21.alpha_quartz_qbmsst.g++.1} | 241 +++++++-------- ... => log.09Feb21.alpha_quartz_qbmsst.g++.4} | 243 +++++++-------- examples/tersoff/in.hBN_shift | 8 +- examples/tersoff/in.tersoff | 59 ++-- ...ersoff.g++.1 => log.09Feb21.tersoff.g++.1} | 279 +++++++++--------- ...ersoff.g++.4 => log.09Feb21.tersoff.g++.4} | 279 +++++++++--------- 11 files changed, 634 insertions(+), 636 deletions(-) rename examples/USER/qtb/alpha_quartz_qbmsst/{log.15Jun20.alpha_quartz_qbmsst.g++.1 => log.09Feb21.alpha_quartz_qbmsst.g++.1} (64%) rename examples/USER/qtb/alpha_quartz_qbmsst/{log.15Jun20.alpha_quartz_qbmsst.g++.4 => log.09Feb21.alpha_quartz_qbmsst.g++.4} (63%) rename examples/tersoff/{log.13Jan21.tersoff.g++.1 => log.09Feb21.tersoff.g++.1} (59%) rename examples/tersoff/{log.13Jan21.tersoff.g++.4 => log.09Feb21.tersoff.g++.4} (60%) diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 0fd2e5f345..baa05760a6 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -1,6 +1,6 @@ # fcc nickel in a 3d periodic box -clear +clear units metal atom_style spin @@ -8,7 +8,7 @@ dimension 3 boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array lattice fcc 3.524 region box block 0.0 5.0 0.0 5.0 0.0 5.0 @@ -20,7 +20,7 @@ create_atoms 1 box mass 1 58.69 set group all spin/random 31 0.63 -#set group all spin 0.63 0.0 0.0 1.0 +#set group all spin 0.63 0.0 0.0 1.0 velocity all create 100 4928459 rot yes dist gaussian pair_style hybrid/overlay eam/alloy spin/exchange 4.0 @@ -31,7 +31,7 @@ neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix_modify 1 energy yes +fix_modify 1 energy yes fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice moving diff --git a/examples/SPIN/nickel/in.spin.nickel_cubic b/examples/SPIN/nickel/in.spin.nickel_cubic index 88c477132e..6f91b4c8bb 100644 --- a/examples/SPIN/nickel/in.spin.nickel_cubic +++ b/examples/SPIN/nickel/in.spin.nickel_cubic @@ -1,60 +1,60 @@ # fcc nickel in a 3d periodic box -clear -units metal -atom_style spin +clear +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array -lattice fcc 3.524 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box +lattice fcc 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box # setting mass, mag. moments, and interactions for cobalt -mass 1 58.69 +mass 1 58.69 -set group all spin/random 31 0.63 -#set group all spin 0.63 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian +set group all spin/random 31 0.63 +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Ni99.eam.alloy Ni -pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 & - zeeman 0.0 0.0 0.0 1.0 -fix_modify 1 energy yes -fix 2 all langevin/spin 0.0 0.0 21 +fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 & + zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 -fix 3 all nve/spin lattice moving -timestep 0.0001 +fix 3 all nve/spin lattice moving +timestep 0.0001 # compute and output options -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal thermo 50 -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -run 1000 +run 1000 diff --git a/examples/USER/misc/gle/in.h2o-quantum b/examples/USER/misc/gle/in.h2o-quantum index 04f94f219a..ee330e8393 100644 --- a/examples/USER/misc/gle/in.h2o-quantum +++ b/examples/USER/misc/gle/in.h2o-quantum @@ -1,12 +1,12 @@ -units real -atom_style full +units real +atom_style full -pair_style lj/cut/tip4p/long 1 2 1 1 0.14714951 8 -bond_style class2 -angle_style harmonic -kspace_style pppm/tip4p 0.0001 +pair_style lj/cut/tip4p/long 1 2 1 1 0.14714951 8 +bond_style class2 +angle_style harmonic +kspace_style pppm/tip4p 0.0001 -read_data data.h2o-quantum +read_data data.h2o-quantum pair_coeff * 2 0.0 0.0 pair_coeff 1 1 0.1852 3.1589022 @@ -15,7 +15,7 @@ pair_coeff 1 1 0.1852 3.1589022 bond_coeff 1 0.9419 607.19354 -1388.6516 1852.577 angle_coeff 1 43.93 107.4 -timestep 0.5 +timestep 0.5 # mean velocity is higher than target T because of zero point energy velocity all create 800.0 1112 dist gaussian mom yes @@ -24,18 +24,17 @@ thermo 100 thermo_style custom step temp pe ke etotal # some problem -fix 1 all gle 6 300.0 300.0 31415 qt-300k.A noneq qt-300k.C -fix_modify 1 energy no +fix 1 all gle 6 300.0 300.0 31415 qt-300k.A noneq qt-300k.C -#dump 1 all atom 100 h2o-smart.lammpstrj +#dump 1 all atom 100 h2o-smart.lammpstrj -#dump 2 all image 1000 h2o-smart.*.jpg element element & -# zoom 1.4 -#dump_modify 2 pad 5 element O H +#dump 2 all image 1000 h2o-smart.*.jpg element element & +# zoom 1.4 +#dump_modify 2 pad 5 element O H -#dump 3 all movie 100 movie.mp4 element element & -# zoom 1.4 -#dump_modify 3 pad 5 element O H +#dump 3 all movie 100 movie.mp4 element element & +# zoom 1.4 +#dump_modify 3 pad 5 element O H -run 10000 +run 10000 diff --git a/examples/USER/misc/gle/in.h2o-smart b/examples/USER/misc/gle/in.h2o-smart index 37de851f97..9a7d6ef717 100644 --- a/examples/USER/misc/gle/in.h2o-smart +++ b/examples/USER/misc/gle/in.h2o-smart @@ -1,12 +1,12 @@ -units real -atom_style full +units real +atom_style full -pair_style lj/cut/tip4p/long 1 2 1 1 0.14714951 8 -bond_style class2 -angle_style harmonic -kspace_style pppm/tip4p 0.0001 +pair_style lj/cut/tip4p/long 1 2 1 1 0.14714951 8 +bond_style class2 +angle_style harmonic +kspace_style pppm/tip4p 0.0001 -read_data data.h2o-smart +read_data data.h2o-smart pair_coeff * 2 0.0 0.0 pair_coeff 1 1 0.1852 3.1589022 @@ -15,27 +15,26 @@ pair_coeff 1 1 0.1852 3.1589022 bond_coeff 1 0.9419 607.19354 -1388.6516 1852.577 angle_coeff 1 43.93 107.4 -timestep 0.5 +timestep 0.5 -velocity all create 300.0 1112 dist gaussian mom yes +velocity all create 300.0 1112 dist gaussian mom yes thermo 100 thermo_style custom step temp pe ke etotal # smart sampling with GLE: best efficiency on slow diffusive modes, # and as good as possible on higher-frequency modes -fix 1 all gle 6 300.0 300.0 31415 smart.A -fix_modify 1 energy no +fix 1 all gle 6 300.0 300.0 31415 smart.A -#dump 1 all atom 100 h2o-smart.lammpstrj +#dump 1 all atom 100 h2o-smart.lammpstrj -#dump 2 all image 1000 h2o-smart.*.jpg element element & -# zoom 1.4 -#dump_modify 2 pad 5 element O H +#dump 2 all image 1000 h2o-smart.*.jpg element element & +# zoom 1.4 +#dump_modify 2 pad 5 element O H -#dump 3 all movie 100 movie.mp4 element element & -# zoom 1.4 -#dump_modify 3 pad 5 element O H +#dump 3 all movie 100 movie.mp4 element element & +# zoom 1.4 +#dump_modify 3 pad 5 element O H -run 10000 +run 10000 diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst b/examples/USER/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst index 3ee0bd0ca5..49e89e2bb2 100644 --- a/examples/USER/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst +++ b/examples/USER/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst @@ -23,13 +23,12 @@ include alpha_quartz_qtb.mod reset_timestep 0 #Beta is the number of time steps between each update of the quantum bath temperature. Setting a larger beta can reduce thermal flactuations. fix shock all qbmsst z ${v_msst} q ${q_msst} tscale ${tscale_msst} damp ${damp_qtb} f_max 120 N_f 100 seed 35082 eta ${eta_qbmsst} beta 5 T_init ${temperature} -fix_modify shock energy yes variable dhug equal f_shock[1] variable dray equal f_shock[2] variable lgr_vel equal f_shock[3] variable lgr_pos equal f_shock[4] variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction -thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos +thermo_style custom step v_T_qm press econserve vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos thermo 200 timestep ${delta_t} run 1000 @@ -42,14 +41,14 @@ read_restart restart.1000 include alpha_quartz_potential.mod #Use the same fix id and add no tscale if the system is already compressed fix shock all qbmsst z ${v_msst} q ${q_msst} tscale 0.0 damp ${damp_qtb} f_max 120 N_f 100 seed 35082 eta ${eta_qbmsst} beta 5 T_init ${temperature} -fix_modify shock energy yes variable dhug equal f_shock[1] variable dray equal f_shock[2] variable lgr_vel equal f_shock[3] variable lgr_pos equal f_shock[4] variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction -thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos +thermo_style custom step v_T_qm press econserve vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos thermo 500 timestep ${delta_t} -restart 1000 restart +#restart 1000 restart run 10000 #10 ps +shell rm restart.1000 diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/log.15Jun20.alpha_quartz_qbmsst.g++.1 b/examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 similarity index 64% rename from examples/USER/qtb/alpha_quartz_qbmsst/log.15Jun20.alpha_quartz_qbmsst.g++.1 rename to examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 index cb5ebe31a9..977c07b02b 100644 --- a/examples/USER/qtb/alpha_quartz_qbmsst/log.15Jun20.alpha_quartz_qbmsst.g++.1 +++ b/examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (15 Jun 2020) +LAMMPS (24 Dec 2020) using 1 OpenMP thread(s) per MPI task ## This script first uses fix qtb to equilibrate alpha quartz structure to an initial state with quantum nuclear correction and then simulate shock induced phase transition through the quantum thermal bath multi-scale shock technique variable x_rep equal 2 #plot is made with x_rep = 8 #x-direction replication number @@ -29,12 +29,12 @@ atom_style charge #Lattice lattice custom 1.0 a1 4.916000 0.000000 0.000000 a2 -2.45800 4.257381 0.000000 a3 0.000000 0.000000 5.405400 basis 0.469700 0.000000 0.000000 basis 0.000000 0.469700 0.666667 basis 0.530300 0.530300 0.333333 basis 0.413500 0.266900 0.119100 basis 0.266900 0.413500 0.547567 basis 0.733100 0.146600 0.785767 basis 0.586500 0.853400 0.214233 basis 0.853400 0.586500 0.452433 basis 0.146600 0.733100 0.880900 #American Mineralogist 65 920 1980 (Space Group 154) -Lattice spacing in x,y,z = 7.374 4.25738 5.4054 +Lattice spacing in x,y,z = 7.3740000 4.2573810 5.4054000 #Computational Cell region orthorhombic_unit_cell block 0 4.916000 0 8.514762 0 5.405400 units box create_box 2 orthorhombic_unit_cell -Created orthogonal box = (0.0 0.0 0.0) to (4.916 8.514762 5.4054) +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (4.9160000 8.5147620 5.4054000) 1 by 1 by 1 MPI processor grid create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 2 basis 5 2 basis 6 2 basis 7 2 basis 8 2 basis 9 2 Created 18 atoms @@ -43,17 +43,20 @@ replicate ${x_rep} ${y_rep} ${z_rep} replicate 2 ${y_rep} ${z_rep} replicate 2 1 ${z_rep} replicate 2 1 4 - orthogonal box = (0.0 0.0 0.0) to (9.832 8.514762 21.6216) +Replicating atoms ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (9.8320000 8.5147620 21.621600) 1 by 1 by 1 MPI processor grid 144 atoms - replicate CPU = 0.000271082 secs + replicate CPU = 0.001 seconds #Atomic Information mass 1 28.085500 mass 2 15.999400 set type 1 charge +2.4 +Setting atom values ... 48 settings made for charge set type 2 charge -1.2 +Setting atom values ... 96 settings made for charge @@ -72,8 +75,8 @@ pair_coeff 1 2 table potential_SiO2.TPF Si-O ${cut_off} pair_coeff 1 2 table potential_SiO2.TPF Si-O 10 pair_coeff 2 2 table potential_SiO2.TPF O-O ${cut_off} #See the potential file for more information pair_coeff 2 2 table potential_SiO2.TPF O-O 10 -WARNING: 1 of 39901 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (src/pair_table.cpp:471) +WARNING: 1 of 39901 force values in table O-O are inconsistent with -dE/dr. + Should only be flagged at inflection points (src/pair_table.cpp:461) kspace_style pppm 1.0e-4 #Neighbor style @@ -96,12 +99,12 @@ thermo_style custom step temp press etotal vol lx ly lz pxx pyy pzz p thermo 200 run 2000 # 2 ps PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.301598 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30159814 grid = 9 8 15 stencil order = 5 - estimated absolute RMS force accuracy = 0.00117056 - estimated relative force accuracy = 8.12908e-05 + estimated absolute RMS force accuracy = 0.0011705589 + estimated relative force accuracy = 8.1290814e-05 using double precision FFTW3 3d grid and FFT values/proc = 5280 1080 Neighbor list info ... @@ -123,42 +126,42 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 80.09 | 80.09 | 80.09 Mbytes Step Temp Press TotEng Volume Lx Ly Lz Pxx Pyy Pzz Pxy Pyz Pxz - 0 0 -34026.791 -2793.6042 1810.0985 9.832 8.514762 21.6216 -37470.578 -37470.432 -27139.363 -6.4345368e-12 0.94245783 4.2212262e-10 + 0 0 -34026.791 -2793.6042 1810.0985 9.832 8.514762 21.6216 -37470.578 -37470.432 -27139.363 3.7975984e-11 0.94245783 8.5085457e-11 200 170.7381 43248.332 -2790.8398 1879.164 9.9554912 8.6217086 21.89317 39337.624 42979.126 47428.246 324.91326 454.85872 -2034.6053 - 400 258.09921 -28257.8 -2788.3487 1856.1432 9.9146707 8.5863569 21.803402 -19478.873 -29571.375 -35723.152 4633.9026 8487.8103 -626.12005 - 600 277.77032 -22751.351 -2786.2715 1866.9783 9.9339253 8.6030319 21.845744 -21727.335 -29200.027 -17326.692 -4327.8571 -8218.4965 252.30681 - 800 349.8665 30508.003 -2784.2204 1873.4953 9.9454706 8.6130304 21.871134 29929.055 33562.672 28032.281 -3188.5605 12329.482 7558.5678 - 1000 373.67651 -18839.569 -2783.2178 1855.5937 9.9136922 8.5855095 21.80125 -18063.486 -22288.321 -16166.902 -416.09547 -10368.975 9030.4208 - 1200 423.3474 6846.9905 -2781.9271 1896.2131 9.9855083 8.6477041 21.959181 2147.3938 11765.857 6627.7202 -7627.6782 -1297.6517 -4758.4746 - 1400 418.54527 -6416.7506 -2781.4358 1834.2719 9.8755745 8.5524986 21.717425 5693.0543 -19487.901 -5455.405 827.66513 -523.1508 -3890.9919 - 1600 429.42796 3939.8836 -2780.5861 1895.8859 9.984934 8.6472068 21.957918 3755.6959 -1326.4343 9390.3893 1948.1153 4489.8629 1466.0914 - 1800 447.7623 -8344.6306 -2780.1071 1858.4925 9.9188518 8.5899779 21.812596 -17549.498 3336.8135 -10821.208 1643.4226 -644.56065 -8935.9666 - 2000 438.1306 -6691.4691 -2780.7407 1871.3547 9.9416812 8.6097487 21.862801 -6959.2196 -8486.8466 -4628.341 -1019.9006 443.03694 -2751.917 -Loop time of 2.46815 on 1 procs for 2000 steps with 144 atoms + 400 258.09921 -28257.8 -2788.3487 1856.1432 9.9146707 8.5863569 21.803402 -19478.873 -29571.375 -35723.151 4633.9025 8487.8103 -626.12008 + 600 277.77032 -22751.351 -2786.2715 1866.9783 9.9339253 8.6030319 21.845744 -21727.333 -29200.028 -17326.691 -4327.8577 -8218.4994 252.30614 + 800 349.8665 30508.004 -2784.2204 1873.4953 9.9454706 8.6130304 21.871134 29929.053 33562.675 28032.284 -3188.5636 12329.485 7558.5604 + 1000 373.67652 -18839.562 -2783.2178 1855.5937 9.9136922 8.5855095 21.80125 -18063.481 -22288.32 -16166.887 -416.09489 -10368.975 9030.4151 + 1200 423.34739 6846.9842 -2781.9271 1896.2131 9.9855083 8.6477041 21.959181 2147.3919 11765.847 6627.7141 -7627.6762 -1297.649 -4758.4757 + 1400 418.54526 -6416.7547 -2781.4358 1834.2719 9.8755745 8.5524986 21.717425 5693.0508 -19487.901 -5455.4139 827.66188 -523.1469 -3890.9904 + 1600 429.42798 3939.889 -2780.5861 1895.8859 9.984934 8.6472068 21.957918 3755.6972 -1326.4252 9390.395 1948.1084 4489.8536 1466.083 + 1800 447.76215 -8344.6447 -2780.1071 1858.4925 9.9188519 8.5899779 21.812596 -17549.502 3336.8092 -10821.241 1643.4315 -644.54621 -8935.98 + 2000 438.1305 -6691.4324 -2780.7407 1871.3547 9.9416812 8.6097487 21.8628 -6959.1834 -8486.8262 -4628.2877 -1019.8998 443.04638 -2751.9173 +Loop time of 11.2763 on 1 procs for 2000 steps with 144 atoms -Performance: 70.012 ns/day, 0.343 hours/ns, 810.323 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 15.324 ns/day, 1.566 hours/ns, 177.363 timesteps/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 | 2.0003 | 2.0003 | 2.0003 | 0.0 | 81.04 -Kspace | 0.20006 | 0.20006 | 0.20006 | 0.0 | 8.11 +Pair | 7.9085 | 7.9085 | 7.9085 | 0.0 | 70.13 +Kspace | 2.0339 | 2.0339 | 2.0339 | 0.0 | 18.04 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.023753 | 0.023753 | 0.023753 | 0.0 | 0.96 -Output | 0.0001986 | 0.0001986 | 0.0001986 | 0.0 | 0.01 -Modify | 0.23896 | 0.23896 | 0.23896 | 0.0 | 9.68 -Other | | 0.004907 | | | 0.20 +Comm | 0.15276 | 0.15276 | 0.15276 | 0.0 | 1.35 +Output | 0.00036049 | 0.00036049 | 0.00036049 | 0.0 | 0.00 +Modify | 1.1706 | 1.1706 | 1.1706 | 0.0 | 10.38 +Other | | 0.01023 | | | 0.09 -Nlocal: 144 ave 144 max 144 min +Nlocal: 144.000 ave 144 max 144 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3943 ave 3943 max 3943 min +Nghost: 3943.00 ave 3943 max 3943 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 41952 ave 41952 max 41952 min +Neighs: 41952.0 ave 41952 max 41952 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 41952 -Ave neighs/atom = 291.333 +Ave neighs/atom = 291.33333 Neighbor list builds = 0 Dangerous builds = 0 unfix quartz_qtb @@ -185,24 +188,23 @@ QBMSST parameters: Initial pressure calculated on first step Initial volume calculated on first step Initial energy calculated on first step -fix_modify shock energy yes variable dhug equal f_shock[1] variable dray equal f_shock[2] variable lgr_vel equal f_shock[3] variable lgr_pos equal f_shock[4] variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction -thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos +thermo_style custom step v_T_qm press econserve vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos thermo 200 timestep ${delta_t} timestep 0.001 run 1000 PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.303132 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30313178 grid = 9 8 16 stencil order = 5 - estimated absolute RMS force accuracy = 0.00104699 - estimated relative force accuracy = 7.27093e-05 + estimated absolute RMS force accuracy = 0.0010469888 + estimated relative force accuracy = 7.2709348e-05 using double precision FFTW3 3d grid and FFT values/proc = 5520 1152 Neighbor list info ... @@ -223,52 +225,53 @@ Neighbor list info ... stencil: none bin: none Fix QBMSST v0 = 1.87135e+03 -Fix QBMSST p0 = -4.62948e+03 +Fix QBMSST p0 = -4.62942e+03 Fix QBMSST e0 = to be -2.78074e+03 -Fix QBMSST initial strain rate of -4.01096e-01 established by reducing temperature by factor of 5.00000e-02 -Per MPI rank memory allocation (min/avg/max) = 80.1 | 80.1 | 80.1 Mbytes -Step v_T_qm Press TotEng Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos - 0 300 -6922.9433 -2780.7394 1871.3547 9.9416812 8.6097487 21.862801 -4819.9907 10.953265 -190.51273 0 0 - 200 294.95797 54876.416 -2779.2988 1723.7621 9.9416812 8.6097487 20.138495 108897.19 -29.773973 -9271.7281 6.1518102 -15.057867 - 400 288.3711 139521.03 -2778.7321 1628.5574 9.9416812 8.6097487 19.026231 222107.71 8.0682073 24727.575 10.120041 -28.714693 - 600 280.56521 98070.281 -2779.8934 1687.2434 9.9416812 8.6097487 19.711852 164558.51 2.6076928 16005.656 7.6739491 -42.705007 - 800 274.94701 106060.26 -2779.2916 1651.0723 9.9416812 8.6097487 19.289269 176842.6 -39.645354 -1804.9466 9.1815975 -56.628078 - 1000 268.47106 189695.34 -2779.4951 1492.6355 9.9416812 8.6097487 17.438272 277351.5 -84.834482 -33116.996 15.785409 -69.870519 -Loop time of 2.05219 on 1 procs for 1000 steps with 144 atoms +Fix QBMSST initial strain rate of -4.01095e-01 established by reducing temperature by factor of 5.00000e-02 +Per MPI rank memory allocation (min/avg/max) = 80.10 | 80.10 | 80.10 Mbytes +Step v_T_qm Press Econserve Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos + 0 300 -6922.9066 -2780.7394 1871.3547 9.9416812 8.6097487 21.8628 -4819.9374 10.953262 -190.5127 0 0 + 200 294.95802 54876.628 -2779.2988 1723.7617 9.9416812 8.6097487 20.13849 108897.62 -29.773363 -9271.7016 6.1518278 -15.057866 + 400 288.37122 139520.66 -2778.7321 1628.5573 9.9416812 8.6097487 19.02623 222107.14 8.0673735 24726.892 10.120044 -28.714689 + 600 280.56538 98072.818 -2779.8934 1687.2396 9.9416812 8.6097487 19.711808 164562.57 2.6099747 16006.563 7.6741039 -42.704989 + 800 274.9472 106058.35 -2779.2916 1651.0755 9.9416812 8.6097487 19.289307 176839.13 -39.647552 -1805.8176 9.1814643 -56.628046 + 1000 268.4714 189679.65 -2779.4952 1492.6558 9.9416812 8.6097487 17.43851 277332.66 -84.846841 -33118.917 15.784559 -69.870561 +Loop time of 8.7779 on 1 procs for 1000 steps with 144 atoms -Performance: 42.101 ns/day, 0.570 hours/ns, 487.284 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 9.843 ns/day, 2.438 hours/ns, 113.922 timesteps/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 | 1.6815 | 1.6815 | 1.6815 | 0.0 | 81.94 -Kspace | 0.10373 | 0.10373 | 0.10373 | 0.0 | 5.05 -Neigh | 0.0061183 | 0.0061183 | 0.0061183 | 0.0 | 0.30 -Comm | 0.012444 | 0.012444 | 0.012444 | 0.0 | 0.61 -Output | 0.00014687 | 0.00014687 | 0.00014687 | 0.0 | 0.01 -Modify | 0.24529 | 0.24529 | 0.24529 | 0.0 | 11.95 -Other | | 0.002948 | | | 0.14 +Pair | 6.8031 | 6.8031 | 6.8031 | 0.0 | 77.50 +Kspace | 1.0505 | 1.0505 | 1.0505 | 0.0 | 11.97 +Neigh | 0.024976 | 0.024976 | 0.024976 | 0.0 | 0.28 +Comm | 0.082612 | 0.082612 | 0.082612 | 0.0 | 0.94 +Output | 0.00032592 | 0.00032592 | 0.00032592 | 0.0 | 0.00 +Modify | 0.8108 | 0.8108 | 0.8108 | 0.0 | 9.24 +Other | | 0.005632 | | | 0.06 -Nlocal: 144 ave 144 max 144 min +Nlocal: 144.000 ave 144 max 144 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 4243 ave 4243 max 4243 min +Nghost: 4243.00 ave 4243 max 4243 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 48210 ave 48210 max 48210 min +Neighs: 48210.0 ave 48210 max 48210 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 48210 -Ave neighs/atom = 334.792 +Ave neighs/atom = 334.79167 Neighbor list builds = 8 Dangerous builds = 0 write_restart restart.1000 +System init for write_restart ... PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.306435 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30643517 grid = 9 8 15 stencil order = 5 - estimated absolute RMS force accuracy = 0.000955688 - estimated relative force accuracy = 6.63689e-05 + estimated absolute RMS force accuracy = 0.0009556927 + estimated relative force accuracy = 6.6369185e-05 using double precision FFTW3 3d grid and FFT values/proc = 5280 1080 Neighbor list info ... @@ -294,12 +297,14 @@ Neighbor list info ... clear using 1 OpenMP thread(s) per MPI task read_restart restart.1000 +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style charge from restart - orthogonal box = (-0.05484062286382799 -0.04749337384227555 2.0916641327653274) to (9.886840622863804 8.562255373842252 19.52993586723476) + orthogonal box = (-0.054840605 -0.047493358 2.0915450) to (9.8868406 8.5622554 19.530055) 1 by 1 by 1 MPI processor grid restoring pair style hybrid/overlay from restart 144 atoms - read_restart CPU = 0.0002563 secs + read_restart CPU = 0.001 seconds include alpha_quartz_potential.mod #This script implements the BKS pair potential for various silicon dioxide compounds. Inner part is fixed with a harmonic potential. Long range Coulomb interactions are evaluated with the pppm method. @@ -314,8 +319,8 @@ pair_coeff 1 2 table potential_SiO2.TPF Si-O ${cut_off} pair_coeff 1 2 table potential_SiO2.TPF Si-O 10 pair_coeff 2 2 table potential_SiO2.TPF O-O ${cut_off} #See the potential file for more information pair_coeff 2 2 table potential_SiO2.TPF O-O 10 -WARNING: 1 of 39901 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (src/pair_table.cpp:471) +WARNING: 1 of 39901 force values in table O-O are inconsistent with -dE/dr. + Should only be flagged at inflection points (src/pair_table.cpp:461) kspace_style pppm 1.0e-4 #Neighbor style @@ -338,25 +343,24 @@ QBMSST parameters: Initial energy calculated on first step Resetting global fix info from restart file: fix style: qbmsst, fix ID: shock -fix_modify shock energy yes variable dhug equal f_shock[1] variable dray equal f_shock[2] variable lgr_vel equal f_shock[3] variable lgr_pos equal f_shock[4] variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction -thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos +thermo_style custom step v_T_qm press econserve vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos thermo 500 timestep ${delta_t} timestep 0.001 -restart 1000 restart +#restart 1000 restart run 10000 #10 ps PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.306435 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30643517 grid = 9 8 15 stencil order = 5 - estimated absolute RMS force accuracy = 0.000955688 - estimated relative force accuracy = 6.63689e-05 + estimated absolute RMS force accuracy = 0.0009556927 + estimated relative force accuracy = 6.6369185e-05 using double precision FFTW3 3d grid and FFT values/proc = 5280 1080 All restart file global fix info was re-assigned @@ -378,53 +382,54 @@ Neighbor list info ... stencil: none bin: none Per MPI rank memory allocation (min/avg/max) = 80.12 | 80.12 | 80.12 Mbytes -Step v_T_qm Press TotEng Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos - 1000 268.47106 189686.77 -2781.5194 1492.6355 9.9416812 8.6097487 17.438272 277378.37 -84.692548 -33090.129 15.785409 0 - 1500 362.13476 692245.96 -2800.9352 1011.2037 9.9416812 8.6097487 11.813766 661095.53 188.71833 -49928.712 35.851981 -24.11484 - 2000 860.78914 714816.8 -2830.893 997.64749 9.9416812 8.6097487 11.65539 653537.64 852.68158 -68765.537 36.41702 -44.978484 - 2500 1620.8281 709511.19 -2840.8217 1000.3425 9.9416812 8.6097487 11.686875 660030.01 1184.3105 -60030.892 36.304689 -65.69966 - 3000 2395.6824 649526.84 -2832.6859 995.56591 9.9416812 8.6097487 11.631071 660984.37 939.07209 -63050.693 36.503782 -86.383242 - 3500 3034.6774 715794.56 -2822.6098 995.8622 9.9416812 8.6097487 11.634532 712849.74 1055.7295 -10938.816 36.491433 -106.99315 - 4000 3487.9039 736791.25 -2804.1216 994.13867 9.9416812 8.6097487 11.614397 765817.85 943.15747 40595.305 36.563271 -127.76315 - 4500 3718.6279 813775.8 -2788.1942 995.82514 9.9416812 8.6097487 11.634099 881961.06 1370.5559 158141.68 36.492977 -148.68649 - 5000 3691.4947 750146.58 -2770.5541 1018.4785 9.9416812 8.6097487 11.898756 770500.36 196.2793 65528.786 35.548762 -169.8589 - 5500 3585.8602 831522.51 -2766.0198 1005.6834 9.9416812 8.6097487 11.749273 916093.67 1088.1987 200476.48 36.082073 -190.89436 - 6000 3431.6405 749891.94 -2771.6404 1011.9077 9.9416812 8.6097487 11.82199 781321.11 268.24344 70882.55 35.82264 -212.20913 - 6500 3350.2876 666113.16 -2780.4124 1028.8353 9.9416812 8.6097487 12.019753 749294.32 371.38231 52939.676 35.117081 -233.59556 - 7000 3339.2397 675783.2 -2782.7559 1022.6541 9.9416812 8.6097487 11.947539 690109.39 -26.949124 -11388.054 35.374719 -254.95868 - 7500 3395.582 726601.74 -2784.7652 1018.1439 9.9416812 8.6097487 11.894846 759167.86 506.5811 53917.852 35.56271 -276.24361 - 8000 3393.2372 625141.93 -2771.6398 1035.4915 9.9416812 8.6097487 12.097517 598674.46 -895.80046 -92142.112 34.839641 -297.61681 - 8500 3272.9752 659367.77 -2776.608 1031.8188 9.9416812 8.6097487 12.054609 688358.42 -142.30814 -5513.8593 34.992722 -318.94541 - 9000 3277.8848 724828.76 -2777.6502 1017.6314 9.9416812 8.6097487 11.888859 724452.11 58.574942 18775.738 35.58407 -340.1718 - 9500 3273.7854 620652.38 -2780.0794 1023.5922 9.9416812 8.6097487 11.958499 747175.42 317.3826 46458.505 35.335617 -361.41643 - 10000 3329.1766 668606.38 -2786.3493 1022.9534 9.9416812 8.6097487 11.951035 703351.81 168.14538 2103.38 35.362244 -382.64609 - 10500 3398.9956 642919.16 -2784.2833 1016.2587 9.9416812 8.6097487 11.872822 661298.16 -230.03577 -45520.34 35.641287 -403.78721 - 11000 3418.7053 675754.06 -2782.6318 1005.7483 9.9416812 8.6097487 11.75003 689789.84 -136.97148 -25773.422 36.079372 -424.97556 -Loop time of 32.4277 on 1 procs for 10000 steps with 144 atoms +Step v_T_qm Press Econserve Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos + 1000 268.4714 189671.09 -2781.5189 1492.6558 9.9416812 8.6097487 17.43851 277359.52 -84.704915 -33092.054 15.784559 0 + 1500 362.24943 690690.88 -2801.3189 1013.1871 9.9416812 8.6097487 11.836938 660912.81 210.15736 -48461.278 35.76931 -24.117097 + 2000 851.29288 687202.75 -2829.28 998.92158 9.9416812 8.6097487 11.670275 702779.72 1177.175 -18463.457 36.363914 -45.102068 + 2500 1584.7231 702373.6 -2840.9926 998.47448 9.9416812 8.6097487 11.665052 685551.65 1366.7769 -36063.512 36.382549 -65.966813 + 3000 2369.1915 765783.04 -2835.3495 994.53954 9.9416812 8.6097487 11.61908 742616.98 1609.2532 17727.912 36.546562 -86.541922 + 3500 3092.3052 829161.44 -2827.8974 977.82563 9.9416812 8.6097487 11.423814 768559.05 1500.9858 29763.85 37.243215 -107.10048 + 4000 3627.1538 773057.81 -2813.687 988.31955 9.9416812 8.6097487 11.546413 738541.81 959.39292 8477.6525 36.805818 -127.75274 + 4500 3910.5455 753799.74 -2790.7863 1002.749 9.9416812 8.6097487 11.71499 763069.75 602.0127 45010.991 36.204385 -148.51594 + 5000 3976.7913 761978.62 -2782.0448 998.85434 9.9416812 8.6097487 11.669489 780709.6 482.34112 59410.482 36.366717 -169.42341 + 5500 3928.0113 702739.91 -2765.8379 1008.695 9.9416812 8.6097487 11.784456 632171.28 -991.2791 -80940.344 35.956549 -190.30951 + 6000 3731.5486 654300.14 -2763.1253 1032.1476 9.9416812 8.6097487 12.05845 642590.19 -832.8417 -51008.602 34.979018 -211.41573 + 6500 3505.5984 713092.19 -2767.3169 1010.6873 9.9416812 8.6097487 11.807732 735218.98 -176.4579 23764.995 35.873507 -232.57305 + 7000 3348.5047 762624.48 -2769.0996 1010.8032 9.9416812 8.6097487 11.809086 662703.98 -667.90587 -48653.562 35.868676 -253.64668 + 7500 3197.2839 689038.79 -2770.7583 1036.994 9.9416812 8.6097487 12.11507 679188.92 -330.37222 -10377.635 34.777016 -275.06425 + 8000 3117.1867 765531.79 -2775.0143 1023.9741 9.9416812 8.6097487 11.96296 681640.02 -288.82226 -18759.215 35.319699 -296.38453 + 8500 3053.5599 667992.24 -2772.057 1027.6458 9.9416812 8.6097487 12.005857 657921.43 -507.92809 -39422.884 35.166657 -317.64367 + 9000 2997.4957 704542.99 -2780.9279 1020.074 9.9416812 8.6097487 11.917396 647510.98 -398.1601 -56133.168 35.482259 -338.8598 + 9500 2990.5818 810181.5 -2783.2413 1002.8927 9.9416812 8.6097487 11.716669 859476.58 1107.5241 141537.42 36.198393 -359.85577 + 10000 3055.8298 792271.02 -2786.5277 991.62826 9.9416812 8.6097487 11.585068 847298.17 1051.5369 119986.89 36.667907 -380.83279 + 10500 3159.7134 706528.08 -2793.5555 1009.9173 9.9416812 8.6097487 11.798737 673106.83 67.67511 -38987.761 35.905599 -401.74903 + 11000 3261.7609 748345.85 -2783.0699 1017.8806 9.9416812 8.6097487 11.891771 656140.32 -267.8786 -49328.779 35.573683 -422.65593 +Loop time of 130.289 on 1 procs for 10000 steps with 144 atoms -Performance: 26.644 ns/day, 0.901 hours/ns, 308.378 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 6.631 ns/day, 3.619 hours/ns, 76.752 timesteps/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 | 28.397 | 28.397 | 28.397 | 0.0 | 87.57 -Kspace | 1.0225 | 1.0225 | 1.0225 | 0.0 | 3.15 -Neigh | 0.27594 | 0.27594 | 0.27594 | 0.0 | 0.85 -Comm | 0.1797 | 0.1797 | 0.1797 | 0.0 | 0.55 -Output | 0.10409 | 0.10409 | 0.10409 | 0.0 | 0.32 -Modify | 2.4112 | 2.4112 | 2.4112 | 0.0 | 7.44 -Other | | 0.03707 | | | 0.11 +Pair | 109.8 | 109.8 | 109.8 | 0.0 | 84.27 +Kspace | 10.328 | 10.328 | 10.328 | 0.0 | 7.93 +Neigh | 1.0855 | 1.0855 | 1.0855 | 0.0 | 0.83 +Comm | 1.2041 | 1.2041 | 1.2041 | 0.0 | 0.92 +Output | 0.0012848 | 0.0012848 | 0.0012848 | 0.0 | 0.00 +Modify | 7.8094 | 7.8094 | 7.8094 | 0.0 | 5.99 +Other | | 0.06511 | | | 0.05 -Nlocal: 144 ave 144 max 144 min +Nlocal: 144.000 ave 144 max 144 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 5541 ave 5541 max 5541 min +Nghost: 5430.00 ave 5430 max 5430 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 74662 ave 74662 max 74662 min +Neighs: 72807.0 ave 72807 max 72807 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 74662 -Ave neighs/atom = 518.486 -Neighbor list builds = 207 +Total # of neighbors = 72807 +Ave neighs/atom = 505.60417 +Neighbor list builds = 206 Dangerous builds = 0 -Total wall time: 0:00:37 +shell rm restart.1000 +Total wall time: 0:02:32 diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/log.15Jun20.alpha_quartz_qbmsst.g++.4 b/examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 similarity index 63% rename from examples/USER/qtb/alpha_quartz_qbmsst/log.15Jun20.alpha_quartz_qbmsst.g++.4 rename to examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 index 58738cd639..024ca3cc3f 100644 --- a/examples/USER/qtb/alpha_quartz_qbmsst/log.15Jun20.alpha_quartz_qbmsst.g++.4 +++ b/examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (15 Jun 2020) +LAMMPS (24 Dec 2020) using 1 OpenMP thread(s) per MPI task ## This script first uses fix qtb to equilibrate alpha quartz structure to an initial state with quantum nuclear correction and then simulate shock induced phase transition through the quantum thermal bath multi-scale shock technique variable x_rep equal 2 #plot is made with x_rep = 8 #x-direction replication number @@ -29,12 +29,12 @@ atom_style charge #Lattice lattice custom 1.0 a1 4.916000 0.000000 0.000000 a2 -2.45800 4.257381 0.000000 a3 0.000000 0.000000 5.405400 basis 0.469700 0.000000 0.000000 basis 0.000000 0.469700 0.666667 basis 0.530300 0.530300 0.333333 basis 0.413500 0.266900 0.119100 basis 0.266900 0.413500 0.547567 basis 0.733100 0.146600 0.785767 basis 0.586500 0.853400 0.214233 basis 0.853400 0.586500 0.452433 basis 0.146600 0.733100 0.880900 #American Mineralogist 65 920 1980 (Space Group 154) -Lattice spacing in x,y,z = 7.374 4.25738 5.4054 +Lattice spacing in x,y,z = 7.3740000 4.2573810 5.4054000 #Computational Cell region orthorhombic_unit_cell block 0 4.916000 0 8.514762 0 5.405400 units box create_box 2 orthorhombic_unit_cell -Created orthogonal box = (0.0 0.0 0.0) to (4.916 8.514762 5.4054) +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (4.9160000 8.5147620 5.4054000) 1 by 2 by 2 MPI processor grid create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 2 basis 5 2 basis 6 2 basis 7 2 basis 8 2 basis 9 2 Created 18 atoms @@ -43,17 +43,20 @@ replicate ${x_rep} ${y_rep} ${z_rep} replicate 2 ${y_rep} ${z_rep} replicate 2 1 ${z_rep} replicate 2 1 4 - orthogonal box = (0.0 0.0 0.0) to (9.832 8.514762 21.6216) +Replicating atoms ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (9.8320000 8.5147620 21.621600) 1 by 1 by 4 MPI processor grid 144 atoms - replicate CPU = 0.000225782 secs + replicate CPU = 0.001 seconds #Atomic Information mass 1 28.085500 mass 2 15.999400 set type 1 charge +2.4 +Setting atom values ... 48 settings made for charge set type 2 charge -1.2 +Setting atom values ... 96 settings made for charge @@ -72,8 +75,8 @@ pair_coeff 1 2 table potential_SiO2.TPF Si-O ${cut_off} pair_coeff 1 2 table potential_SiO2.TPF Si-O 10 pair_coeff 2 2 table potential_SiO2.TPF O-O ${cut_off} #See the potential file for more information pair_coeff 2 2 table potential_SiO2.TPF O-O 10 -WARNING: 1 of 39901 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (src/pair_table.cpp:471) +WARNING: 1 of 39901 force values in table O-O are inconsistent with -dE/dr. + Should only be flagged at inflection points (src/pair_table.cpp:461) kspace_style pppm 1.0e-4 #Neighbor style @@ -96,12 +99,12 @@ thermo_style custom step temp press etotal vol lx ly lz pxx pyy pzz p thermo 200 run 2000 # 2 ps PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.301598 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30159814 grid = 9 8 15 stencil order = 5 - estimated absolute RMS force accuracy = 0.00117056 - estimated relative force accuracy = 8.12908e-05 + estimated absolute RMS force accuracy = 0.0011705589 + estimated relative force accuracy = 8.1290814e-05 using double precision FFTW3 3d grid and FFT values/proc = 2400 288 Neighbor list info ... @@ -121,44 +124,44 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 79.7 | 79.7 | 79.7 Mbytes +Per MPI rank memory allocation (min/avg/max) = 79.70 | 79.70 | 79.70 Mbytes Step Temp Press TotEng Volume Lx Ly Lz Pxx Pyy Pzz Pxy Pyz Pxz - 0 0 -34026.791 -2793.6042 1810.0985 9.832 8.514762 21.6216 -37470.578 -37470.432 -27139.363 1.0530512e-10 0.94245783 4.0087238e-10 + 0 0 -34026.791 -2793.6042 1810.0985 9.832 8.514762 21.6216 -37470.578 -37470.432 -27139.363 -3.2012455e-11 0.94245783 1.6892124e-10 200 153.57631 45538.205 -2790.8177 1873.0866 9.9447472 8.612404 21.869543 41721.016 44095.248 50798.351 -3961.4596 1223.325 2871.656 400 234.74785 -34404.175 -2789.0189 1850.2127 9.9041 8.5772024 21.780156 -28329.333 -39376.313 -35506.88 -1154.5043 -5411.1071 2246.6749 - 600 265.24833 -20905.145 -2786.2727 1874.9981 9.948129 8.6153326 21.87698 -22753.886 -21091.083 -18870.468 -4645.5548 2968.2945 1415.0311 - 800 297.79035 32990.58 -2784.8247 1853.6946 9.910309 8.5825796 21.79381 30061.364 35359.18 33551.195 -3092.2971 1525.52 -6461.0249 - 1000 367.71884 -27539.239 -2783.0102 1864.7161 9.9299114 8.5995557 21.836917 -20273.387 -38720.429 -23623.901 7639.0334 -866.35665 543.52723 - 1200 399.77109 3807.7814 -2781.511 1893.4978 9.9807399 8.6435745 21.948695 1625.8226 7441.2236 2356.298 -4057.1674 3814.9305 1528.4567 - 1400 466.57962 -4148.235 -2780.1546 1851.5925 9.9065614 8.5793341 21.785568 -10883.19 1816.768 -3378.2828 896.25296 -7208.541 -42.253127 - 1600 497.86539 14505.31 -2778.9409 1882.2616 9.9609584 8.6264432 21.905193 8268.1103 20614.738 14633.082 -2690.5669 6807.3187 11995.878 - 1800 557.31182 -108.04462 -2778.1875 1875.514 9.9490413 8.6161228 21.878986 948.68308 -1929.7575 656.94053 -1628.2172 -6594.5909 -4423.4368 - 2000 480.39449 -8852.2243 -2778.4963 1862.9552 9.9267847 8.596848 21.830042 -18274.307 3038.8369 -11321.203 -5002.1016 12023.282 6845.2769 -Loop time of 1.42181 on 4 procs for 2000 steps with 144 atoms + 600 265.24834 -20905.145 -2786.2727 1874.9981 9.948129 8.6153326 21.87698 -22753.885 -21091.083 -18870.467 -4645.5539 2968.2936 1415.0335 + 800 297.79036 32990.577 -2784.8247 1853.6946 9.910309 8.5825796 21.79381 30061.366 35359.175 33551.191 -3092.2938 1525.518 -6461.029 + 1000 367.71885 -27539.237 -2783.0102 1864.7161 9.9299114 8.5995557 21.836917 -20273.384 -38720.43 -23623.895 7639.0325 -866.34777 543.5312 + 1200 399.7711 3807.785 -2781.511 1893.4978 9.9807399 8.6435745 21.948695 1625.8297 7441.2317 2356.2937 -4057.1659 3814.9292 1528.4637 + 1400 466.57958 -4148.2231 -2780.1546 1851.5925 9.9065614 8.5793341 21.785568 -10883.182 1816.778 -3378.2653 896.24645 -7208.5417 -42.262464 + 1600 497.86536 14505.308 -2778.9409 1882.2616 9.9609584 8.6264432 21.905193 8268.1088 20614.74 14633.075 -2690.5703 6807.3188 11995.875 + 1800 557.31178 -108.02787 -2778.1875 1875.514 9.9490413 8.6161228 21.878986 948.70277 -1929.753 656.96663 -1628.2124 -6594.6026 -4423.4256 + 2000 480.39444 -8852.2282 -2778.4963 1862.9552 9.9267847 8.596848 21.830042 -18274.302 3038.8276 -11321.21 -5002.1095 12023.298 6845.2631 +Loop time of 4.1373 on 4 procs for 2000 steps with 144 atoms -Performance: 121.535 ns/day, 0.197 hours/ns, 1406.656 timesteps/s -87.5% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 41.766 ns/day, 0.575 hours/ns, 483.407 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.72578 | 0.80093 | 0.87518 | 6.1 | 56.33 -Kspace | 0.33737 | 0.41245 | 0.48642 | 8.4 | 29.01 +Pair | 2.2821 | 2.4503 | 2.7881 | 12.7 | 59.22 +Kspace | 0.81032 | 1.1413 | 1.306 | 18.2 | 27.59 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.066098 | 0.071334 | 0.076039 | 1.6 | 5.02 -Output | 0.00021172 | 0.00039291 | 0.00093484 | 0.0 | 0.03 -Modify | 0.090105 | 0.1077 | 0.11384 | 3.1 | 7.58 -Other | | 0.029 | | | 2.04 +Comm | 0.16143 | 0.16964 | 0.17659 | 1.3 | 4.10 +Output | 0.00026584 | 0.00061899 | 0.0016773 | 0.0 | 0.01 +Modify | 0.29943 | 0.33639 | 0.34927 | 3.7 | 8.13 +Other | | 0.03911 | | | 0.95 -Nlocal: 36 ave 36 max 36 min +Nlocal: 36.0000 ave 36 max 36 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 2614 ave 2614 max 2614 min +Nghost: 2614.00 ave 2614 max 2614 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 10488 ave 11326 max 9404 min +Neighs: 10488.0 ave 11326 max 9404 min Histogram: 1 0 0 0 0 0 2 0 0 1 Total # of neighbors = 41952 -Ave neighs/atom = 291.333 +Ave neighs/atom = 291.33333 Neighbor list builds = 0 Dangerous builds = 0 unfix quartz_qtb @@ -185,24 +188,23 @@ QBMSST parameters: Initial pressure calculated on first step Initial volume calculated on first step Initial energy calculated on first step -fix_modify shock energy yes variable dhug equal f_shock[1] variable dray equal f_shock[2] variable lgr_vel equal f_shock[3] variable lgr_pos equal f_shock[4] variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction -thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos +thermo_style custom step v_T_qm press econserve vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos thermo 200 timestep ${delta_t} timestep 0.001 run 1000 PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.30088 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30087967 grid = 9 8 15 stencil order = 5 - estimated absolute RMS force accuracy = 0.00120534 - estimated relative force accuracy = 8.37062e-05 + estimated absolute RMS force accuracy = 0.0012053392 + estimated relative force accuracy = 8.3706174e-05 using double precision FFTW3 3d grid and FFT values/proc = 2400 288 Neighbor list info ... @@ -225,50 +227,51 @@ Neighbor list info ... Fix QBMSST v0 = 1.86296e+03 Fix QBMSST p0 = -1.13219e+04 Fix QBMSST e0 = to be -2.77850e+03 -Fix QBMSST initial strain rate of -4.21890e-01 established by reducing temperature by factor of 5.00000e-02 -Per MPI rank memory allocation (min/avg/max) = 79.7 | 79.7 | 79.7 Mbytes -Step v_T_qm Press TotEng Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos - 0 300 -9106.318 -2778.4963 1862.9552 9.9267847 8.596848 21.830042 -11562.002 12.009862 -240.0699 0 0 - 200 296.47213 25984.111 -2777.5178 1770.2164 9.9267847 8.596848 20.743332 64970.204 -25.305765 -1564.7673 3.8828772 -15.16768 - 400 291.06707 69977.517 -2777.6325 1684.893 9.9267847 8.596848 19.743515 144833.82 -12.184734 6667.384 7.4552796 -29.607028 - 600 287.21118 39706.699 -2778.0322 1716.9533 9.9267847 8.596848 20.119196 87971.152 -38.593844 -23279.741 6.1129484 -43.751298 - 800 284.33611 18833.281 -2778.1637 1792.7576 9.9267847 8.596848 21.007468 43725.433 -8.1267799 -3885.5802 2.9391022 -58.454556 - 1000 281.98328 -6030.6935 -2778.3314 1881.8369 9.9267847 8.596848 22.051297 -14118.602 1.3183874 13055.078 -0.79055793 -73.780965 -Loop time of 1.25215 on 4 procs for 1000 steps with 144 atoms +Fix QBMSST initial strain rate of -4.21889e-01 established by reducing temperature by factor of 5.00000e-02 +Per MPI rank memory allocation (min/avg/max) = 79.70 | 79.70 | 79.70 Mbytes +Step v_T_qm Press Econserve Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos + 0 300 -9106.3219 -2778.4963 1862.9552 9.9267847 8.596848 21.830042 -11562.009 12.009861 -240.06987 0 0 + 200 296.47212 25984.099 -2777.5178 1770.2165 9.9267847 8.596848 20.743332 64970.178 -25.305804 -1564.7427 3.8828751 -15.16768 + 400 291.06704 69977.415 -2777.6325 1684.8932 9.9267847 8.596848 19.743517 144833.61 -12.18477 6667.3264 7.4552723 -29.607029 + 600 287.21114 39706.769 -2778.0322 1716.9533 9.9267847 8.596848 20.119196 87971.211 -38.594057 -23279.705 6.1129499 -43.7513 + 800 284.33606 18833.325 -2778.1637 1792.7575 9.9267847 8.596848 21.007467 43725.516 -8.1270751 -3885.5508 2.9391052 -58.454557 + 1000 281.98323 -6030.7047 -2778.3314 1881.8368 9.9267847 8.596848 22.051295 -14118.589 1.3182589 13054.989 -0.79055248 -73.780966 +Loop time of 3.32539 on 4 procs for 1000 steps with 144 atoms -Performance: 69.001 ns/day, 0.348 hours/ns, 798.628 timesteps/s -90.6% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 25.982 ns/day, 0.924 hours/ns, 300.717 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 | 0.67979 | 0.73665 | 0.8091 | 5.4 | 58.83 -Kspace | 0.18687 | 0.25893 | 0.31544 | 9.1 | 20.68 -Neigh | 0.0011306 | 0.0012404 | 0.0013735 | 0.3 | 0.10 -Comm | 0.040339 | 0.041345 | 0.042296 | 0.4 | 3.30 -Output | 0.00020051 | 0.00035506 | 0.00081801 | 0.0 | 0.03 -Modify | 0.19595 | 0.2007 | 0.20253 | 0.6 | 16.03 -Other | | 0.01292 | | | 1.03 +Pair | 1.9626 | 2.0842 | 2.2541 | 7.9 | 62.68 +Kspace | 0.44255 | 0.61231 | 0.73369 | 14.5 | 18.41 +Neigh | 0.0050733 | 0.0052404 | 0.0053804 | 0.2 | 0.16 +Comm | 0.077084 | 0.077385 | 0.077714 | 0.1 | 2.33 +Output | 0.00029039 | 0.00046909 | 0.0010037 | 0.0 | 0.01 +Modify | 0.50853 | 0.52962 | 0.53724 | 1.7 | 15.93 +Other | | 0.01615 | | | 0.49 -Nlocal: 36 ave 38 max 34 min +Nlocal: 36.0000 ave 38 max 34 min Histogram: 1 0 1 0 0 0 0 1 0 1 -Nghost: 2527.75 ave 2547 max 2518 min +Nghost: 2527.75 ave 2547 max 2518 min Histogram: 2 0 0 1 0 0 0 0 0 1 -Neighs: 10194.8 ave 11177 max 9437 min +Neighs: 10194.8 ave 11177 max 9437 min Histogram: 2 0 0 0 0 0 1 0 0 1 Total # of neighbors = 40779 -Ave neighs/atom = 283.188 +Ave neighs/atom = 283.18750 Neighbor list builds = 6 Dangerous builds = 0 write_restart restart.1000 +System init for write_restart ... PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.302953 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30295266 grid = 9 8 16 stencil order = 5 - estimated absolute RMS force accuracy = 0.00105569 - estimated relative force accuracy = 7.33134e-05 + estimated absolute RMS force accuracy = 0.0010556863 + estimated relative force accuracy = 7.3313358e-05 using double precision FFTW3 3d grid and FFT values/proc = 2640 288 Neighbor list info ... @@ -294,12 +297,14 @@ Neighbor list info ... clear using 1 OpenMP thread(s) per MPI task read_restart restart.1000 +Reading restart file ... + restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style charge from restart - orthogonal box = (-0.04739235907204603 -0.041042988010289584 -0.21484841641189512) to (9.879392359072014 8.555804988010294 21.83644841641206) + orthogonal box = (-0.047392358 -0.041042987 -0.21484765) to (9.8793924 8.5558050 21.836448) 1 by 1 by 4 MPI processor grid restoring pair style hybrid/overlay from restart 144 atoms - read_restart CPU = 0.000472307 secs + read_restart CPU = 0.009 seconds include alpha_quartz_potential.mod #This script implements the BKS pair potential for various silicon dioxide compounds. Inner part is fixed with a harmonic potential. Long range Coulomb interactions are evaluated with the pppm method. @@ -314,8 +319,8 @@ pair_coeff 1 2 table potential_SiO2.TPF Si-O ${cut_off} pair_coeff 1 2 table potential_SiO2.TPF Si-O 10 pair_coeff 2 2 table potential_SiO2.TPF O-O ${cut_off} #See the potential file for more information pair_coeff 2 2 table potential_SiO2.TPF O-O 10 -WARNING: 1 of 39901 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (src/pair_table.cpp:471) +WARNING: 1 of 39901 force values in table O-O are inconsistent with -dE/dr. + Should only be flagged at inflection points (src/pair_table.cpp:461) kspace_style pppm 1.0e-4 #Neighbor style @@ -338,25 +343,24 @@ QBMSST parameters: Initial energy calculated on first step Resetting global fix info from restart file: fix style: qbmsst, fix ID: shock -fix_modify shock energy yes variable dhug equal f_shock[1] variable dray equal f_shock[2] variable lgr_vel equal f_shock[3] variable lgr_pos equal f_shock[4] variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction -thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos +thermo_style custom step v_T_qm press econserve vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos thermo 500 timestep ${delta_t} timestep 0.001 -restart 1000 restart +#restart 1000 restart run 10000 #10 ps PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:332) - G vector (1/distance) = 0.302953 + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30295266 grid = 9 8 16 stencil order = 5 - estimated absolute RMS force accuracy = 0.00105569 - estimated relative force accuracy = 7.33134e-05 + estimated absolute RMS force accuracy = 0.0010556863 + estimated relative force accuracy = 7.3313358e-05 using double precision FFTW3 3d grid and FFT values/proc = 2640 288 All restart file global fix info was re-assigned @@ -378,53 +382,54 @@ Neighbor list info ... stencil: none bin: none Per MPI rank memory allocation (min/avg/max) = 79.71 | 79.71 | 79.71 Mbytes -Step v_T_qm Press TotEng Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos - 1000 281.98328 -6031.2395 -2778.6227 1881.8369 9.9267847 8.596848 22.051297 -14113.621 1.3373278 13060.059 -0.79055793 0 - 1500 266.12746 44405.573 -2777.9815 1739.6543 9.9267847 8.596848 20.385206 92590.239 -12.06041 397.47049 5.1624821 -37.823748 - 2000 255.79411 17620.408 -2777.9685 1785.7619 9.9267847 8.596848 20.925494 48670.364 -16.082827 -4813.6764 3.2320016 -73.974437 - 2500 256.8887 40153.833 -2778.4337 1752.9461 9.9267847 8.596848 20.540959 79665.002 7.7413878 -1368.8927 4.6059671 -112.35254 - 3000 261.55251 5315.4799 -2779.0755 1834.3375 9.9267847 8.596848 21.4947 15896.368 22.588205 3192.882 1.1981949 -148.36068 - 3500 261.57101 57911.809 -2778.1223 1713.3956 9.9267847 8.596848 20.077507 110996.8 -9.4471543 -3240.9018 6.2619064 -186.41261 - 4000 254.88665 13952.95 -2778.4816 1818.2782 9.9267847 8.596848 21.306518 26833.588 2.2818412 647.88057 1.8705799 -222.72504 - 4500 240.08908 73322.997 -2776.7382 1668.6666 9.9267847 8.596848 19.553375 151978.11 -43.917346 189.1572 8.1346613 -260.52885 - 5000 214.49084 1925.2557 -2777.0657 1890.0985 9.9267847 8.596848 22.148106 -5218.7292 -44.5537 28890.787 -1.1364617 -297.26329 - 5500 194.6515 71804.842 -2777.3417 1669.7297 9.9267847 8.596848 19.565832 146911.42 -34.911593 -3985.0635 8.0901523 -334.1879 - 6000 186.23814 10196.007 -2777.1394 1837.3793 9.9267847 8.596848 21.530344 23550.907 -18.381207 13401.096 1.0708382 -371.9208 - 6500 172.53603 5474.3725 -2777.4502 1818.0038 9.9267847 8.596848 21.303303 18389.825 -22.65951 -8026.2088 1.8820667 -407.83084 - 7000 160.91186 107908.64 -2777.6746 1621.7378 9.9267847 8.596848 19.003464 196841.27 -8.6606903 5654.1938 10.099523 -444.9925 - 7500 146.01905 147030.69 -2777.2543 1539.7536 9.9267847 8.596848 18.042777 253089.02 -43.928324 -6926.1018 13.532114 -478.63113 - 8000 207.17758 837859.1 -2796.8957 989.32874 9.9267847 8.596848 11.592918 811765.11 1172.3778 89652.363 36.577833 -503.41923 - 8500 725.15657 853732.89 -2832.3144 974.18299 9.9267847 8.596848 11.415441 773926.64 1749.5702 39098.598 37.21197 -524.17835 - 9000 1554.6089 807867.74 -2843.0063 990.10922 9.9267847 8.596848 11.602064 749697.22 1959.0322 28239.71 36.545155 -544.77354 - 9500 2440.1194 748145.05 -2839.2364 992.38871 9.9267847 8.596848 11.628775 691503.58 1437.0708 -28040.223 36.449715 -565.41198 - 10000 3112.1817 823862.43 -2820.0495 982.35471 9.9267847 8.596848 11.511197 754954.89 1330.6807 26987.244 36.869828 -586.12357 - 10500 3550.0273 868916.79 -2803.7678 983.70386 9.9267847 8.596848 11.527006 867368.45 1727.9058 140533.46 36.813341 -607.00946 - 11000 3839.7527 830581.55 -2795.3804 995.31485 9.9267847 8.596848 11.663063 811740 1150.0462 94652.768 36.327201 -628.02229 -Loop time of 15.1476 on 4 procs for 10000 steps with 144 atoms +Step v_T_qm Press Econserve Volume Lx Ly Lz Pzz v_dhug v_dray v_lgr_vel v_lgr_pos + 1000 281.98323 -6031.2507 -2778.6227 1881.8368 9.9267847 8.596848 22.051295 -14113.608 1.3371988 13059.97 -0.79055248 0 + 1500 266.12743 44405.252 -2777.9815 1739.6551 9.9267847 8.596848 20.385215 92589.619 -12.060756 397.55607 5.1624473 -37.823753 + 2000 255.79412 17620.89 -2777.9685 1785.7605 9.9267847 8.596848 20.925477 48671.42 -16.082485 -4813.8454 3.2320631 -73.974438 + 2500 257.13592 39692.462 -2778.6986 1751.4095 9.9267847 8.596848 20.522952 80667.315 15.746345 -1656.6275 4.6703047 -112.35088 + 3000 248.95332 9617.5633 -2778.937 1830.5557 9.9267847 8.596848 21.450385 25275.769 19.730704 9397.3972 1.3565331 -148.37113 + 3500 247.70025 100159.87 -2778.0604 1610.8047 9.9267847 8.596848 18.875351 189849.69 -33.726976 -10516.027 10.557281 -185.61862 + 4000 266.07224 848367.31 -2787.9052 992.46097 9.9267847 8.596848 11.629622 880163.37 1477.3994 160680.23 36.44669 -213.83067 + 4500 645.86948 789169.63 -2822.9559 992.40405 9.9267847 8.596848 11.628955 696879.41 1039.4139 -22651.518 36.449073 -234.79958 + 5000 1369.4257 735014.89 -2838.4571 1002.6048 9.9267847 8.596848 11.748487 648785.76 1170.3517 -62181.314 36.021977 -255.55776 + 5500 2156.7632 768865.28 -2835.9297 995.94989 9.9267847 8.596848 11.670505 678013.94 1271.734 -38540.152 36.300612 -276.42588 + 6000 2864.2837 773631.53 -2828.0627 993.01727 9.9267847 8.596848 11.63614 749067.81 1567.7659 30051.708 36.423398 -297.26898 + 6500 3422.632 861319.73 -2810.1415 985.48363 9.9267847 8.596848 11.547861 816792.18 1535.8348 91451.363 36.738824 -318.12934 + 7000 3798.2073 791521.73 -2801.7757 993.1961 9.9267847 8.596848 11.638236 677215.78 330.09854 -41650.204 36.415911 -338.86015 + 7500 4060.7728 836165.25 -2789.6215 984.13658 9.9267847 8.596848 11.532077 780101.5 698.84908 53629.791 36.795223 -359.64284 + 8000 4122.5641 754871.86 -2776.0049 1006.6266 9.9267847 8.596848 11.795613 699610.84 -124.86381 -7979.8848 35.853592 -380.58907 + 8500 4087.3529 769727.63 -2775.3629 1018.2197 9.9267847 8.596848 11.931461 767853.09 415.9984 69995.141 35.368199 -401.90058 + 9000 3958.4459 615996.33 -2758.7864 1058.0696 9.9267847 8.596848 12.398422 641295.34 -689.82578 -23107.426 33.699723 -423.43203 + 9500 3746.2013 643366.31 -2767.1851 1043.1232 9.9267847 8.596848 12.22328 610176.19 -767.67823 -66774.534 34.325515 -445.14544 + 10000 3723.8623 659730.11 -2781.6634 1034.0441 9.9267847 8.596848 12.116891 671355.25 0.037615796 -13217.642 34.705647 -466.9448 + 10500 3705.48 637406.18 -2776.4898 1041.5851 9.9267847 8.596848 12.205256 725619.7 274.78304 47377.665 34.389914 -488.75102 + 11000 3678.0139 648116.35 -2779.0968 1049.9523 9.9267847 8.596848 12.303303 723144.21 382.51198 51926.71 34.039587 -510.63944 +Loop time of 51.3151 on 4 procs for 10000 steps with 144 atoms -Performance: 57.039 ns/day, 0.421 hours/ns, 660.171 timesteps/s -91.3% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 16.837 ns/day, 1.425 hours/ns, 194.874 timesteps/s +94.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 | 7.7228 | 9.085 | 10.626 | 36.0 | 59.98 -Kspace | 1.6343 | 3.1795 | 4.5467 | 61.0 | 20.99 -Neigh | 0.02063 | 0.027076 | 0.034395 | 3.1 | 0.18 -Comm | 0.54719 | 0.57781 | 0.60468 | 2.8 | 3.81 -Output | 0.10128 | 0.1019 | 0.10373 | 0.3 | 0.67 -Modify | 2.0819 | 2.1159 | 2.1495 | 1.8 | 13.97 -Other | | 0.06035 | | | 0.40 +Pair | 26.662 | 32.362 | 38.05 | 70.9 | 63.07 +Kspace | 5.8733 | 11.582 | 17.302 | 118.9 | 22.57 +Neigh | 0.18541 | 0.22229 | 0.25113 | 5.0 | 0.43 +Comm | 1.4273 | 1.4501 | 1.483 | 1.9 | 2.83 +Output | 0.0011935 | 0.0018681 | 0.003891 | 2.7 | 0.00 +Modify | 5.4539 | 5.5056 | 5.5294 | 1.3 | 10.73 +Other | | 0.1916 | | | 0.37 -Nlocal: 36 ave 38 max 33 min +Nlocal: 36.0000 ave 37 max 35 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 4159.50 ave 4171 max 4140 min Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 4267 ave 4304 max 4239 min -Histogram: 1 0 1 0 1 0 0 0 0 1 -Neighs: 18859.2 ave 25108 max 12333 min -Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 17967.8 ave 20291 max 15710 min +Histogram: 2 0 0 0 0 0 0 0 0 2 -Total # of neighbors = 75437 -Ave neighs/atom = 523.868 -Neighbor list builds = 95 +Total # of neighbors = 71871 +Ave neighs/atom = 499.10417 +Neighbor list builds = 161 Dangerous builds = 0 -Total wall time: 0:00:17 +shell rm restart.1000 +Total wall time: 0:01:01 diff --git a/examples/tersoff/in.hBN_shift b/examples/tersoff/in.hBN_shift index 0a72235278..82e71e7b39 100644 --- a/examples/tersoff/in.hBN_shift +++ b/examples/tersoff/in.hBN_shift @@ -23,9 +23,9 @@ neigh_modify delay 0 neigh_modify check yes #### Simulation settings #### -timestep 0.001 -velocity all create 300.0 4928459 loop geom -fix thermostat all nve +timestep 0.001 +velocity all create 300.0 4928459 loop geom +fix thermostat all nve ############# Output ############### thermo 100 @@ -34,4 +34,4 @@ thermo_style custom step etotal pe ke temp thermo_modify line one format float %20.16g lost warn ###### Run molecular dynamics ###### -run 1000 +run 1000 diff --git a/examples/tersoff/in.tersoff b/examples/tersoff/in.tersoff index f2be2ae761..90b18fa0a1 100644 --- a/examples/tersoff/in.tersoff +++ b/examples/tersoff/in.tersoff @@ -7,7 +7,7 @@ units metal atom_style atomic atom_modify map array boundary p p p -atom_modify sort 0 0.0 +atom_modify sort 0 0.0 # temperature @@ -35,45 +35,45 @@ region myreg block 0 4 & create_box 8 myreg create_atoms 1 region myreg & - basis 1 1 & - basis 2 2 & - basis 3 3 & - basis 4 4 & - basis 5 5 & - basis 6 6 & - basis 7 7 & - basis 8 8 + basis 1 1 & + basis 2 2 & + basis 3 3 & + basis 4 4 & + basis 5 5 & + basis 6 6 & + basis 7 7 & + basis 8 8 mass * 28.06 -velocity all create $t 5287287 loop geom +velocity all create $t 5287287 loop geom # Equilibrate using Tersoff model for silicon pair_style tersoff -pair_coeff * * Si.tersoff Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff Si Si Si Si Si Si Si Si +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes run 100 -write_restart restart.equil +write_restart restart.equil # Test Tersoff/Mod model for Si clear -read_restart restart.equil +read_restart restart.equil pair_style tersoff/mod -pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -82,14 +82,14 @@ run 100 # Test Tersoff/Mod/C model for Si clear -read_restart restart.equil +read_restart restart.equil newton on on pair_style tersoff/mod/c -pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -98,17 +98,17 @@ run 100 # Test Tersoff model for B/N/C clear -read_restart restart.equil +read_restart restart.equil -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap pair_style tersoff -pair_coeff * * BNC.tersoff N N N C B B C B +pair_coeff * * BNC.tersoff N N N C B B C B +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -117,19 +117,20 @@ run 100 # Test Tersoff model for B/N/C clear -read_restart restart.equil +read_restart restart.equil -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap pair_style tersoff shift 0.05 -pair_coeff * * BNC.tersoff N N N C B B C B +pair_coeff * * BNC.tersoff N N N C B B C B +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes run 100 +shell rm restart.equil diff --git a/examples/tersoff/log.13Jan21.tersoff.g++.1 b/examples/tersoff/log.09Feb21.tersoff.g++.1 similarity index 59% rename from examples/tersoff/log.13Jan21.tersoff.g++.1 rename to examples/tersoff/log.09Feb21.tersoff.g++.1 index b8833a2586..d636f28ae5 100644 --- a/examples/tersoff/log.13Jan21.tersoff.g++.1 +++ b/examples/tersoff/log.09Feb21.tersoff.g++.1 @@ -1,5 +1,4 @@ LAMMPS (24 Dec 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task # Simple regression tests for Tersoff potentials @@ -10,7 +9,7 @@ units metal atom_style atomic atom_modify map array boundary p p p -atom_modify sort 0 0.0 +atom_modify sort 0 0.0 # temperature @@ -28,26 +27,26 @@ region myreg block 0 4 0 4 create_box 8 myreg Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) 1 by 1 by 1 MPI processor grid -create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 +create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 Created 512 atoms - create_atoms CPU = 0.000 seconds + create_atoms CPU = 0.001 seconds mass * 28.06 -velocity all create $t 5287287 loop geom -velocity all create 1800 5287287 loop geom +velocity all create $t 5287287 loop geom +velocity all create 1800 5287287 loop geom # Equilibrate using Tersoff model for silicon pair_style tersoff -pair_coeff * * Si.tersoff Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff Si Si Si Si Si Si Si Si Reading tersoff potential file Si.tersoff with DATE: 2007-10-25 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -65,32 +64,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.985 | 2.985 | 2.985 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1800 -2370.771 0 -2251.8775 12511.419 - 10 1144.7447 -2327.3227 0 -2251.7759 21852.599 - 20 770.19243 -2302.1547 0 -2251.7633 22286.587 - 30 1059.4324 -2320.1988 0 -2251.8159 6242.222 - 40 1000.972 -2314.6531 0 -2251.796 -3069.9273 - 50 803.91758 -2300.1702 0 -2251.7834 -7154.1383 - 60 761.38639 -2296.1731 0 -2251.7928 -14520.921 - 70 750.57677 -2294.3086 0 -2251.7965 -21400.198 - 80 676.66672 -2288.2634 0 -2251.7899 -23480.201 - 90 640.24103 -2284.6678 0 -2251.7848 -20659.983 - 100 742.67188 -2290.0616 0 -2251.7855 -16211.799 -Loop time of 0.107338 on 1 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 0 1800 -2370.771 -2251.8775 -2251.8775 12511.419 + 10 1144.7447 -2327.3227 -2251.7101 -2251.7759 21852.599 + 20 770.19243 -2302.1547 -2251.282 -2251.7633 22286.587 + 30 1059.4324 -2320.1988 -2250.2213 -2251.8159 6242.222 + 40 1000.972 -2314.6531 -2248.5369 -2251.796 -3069.9273 + 50 803.91758 -2300.1702 -2247.0699 -2251.7834 -7154.1383 + 60 761.38639 -2296.1731 -2245.882 -2251.7928 -14520.921 + 70 750.57677 -2294.3086 -2244.7316 -2251.7965 -21400.198 + 80 676.66672 -2288.2634 -2243.5683 -2251.7899 -23480.201 + 90 640.24103 -2284.6678 -2242.3786 -2251.7848 -20659.983 + 100 742.67188 -2290.0616 -2241.0067 -2251.7855 -16211.799 +Loop time of 0.447105 on 1 procs for 100 steps with 512 atoms -Performance: 80.493 ns/day, 0.298 hours/ns, 931.637 timesteps/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 19.324 ns/day, 1.242 hours/ns, 223.661 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 | 0.10455 | 0.10455 | 0.10455 | 0.0 | 97.40 -Neigh | 0.001115 | 0.001115 | 0.001115 | 0.0 | 1.04 -Comm | 0.000482 | 0.000482 | 0.000482 | 0.0 | 0.45 -Output | 0.000194 | 0.000194 | 0.000194 | 0.0 | 0.18 -Modify | 0.000787 | 0.000787 | 0.000787 | 0.0 | 0.73 -Other | | 0.000209 | | | 0.19 +Pair | 0.4373 | 0.4373 | 0.4373 | 0.0 | 97.81 +Neigh | 0.0021279 | 0.0021279 | 0.0021279 | 0.0 | 0.48 +Comm | 0.0021732 | 0.0021732 | 0.0021732 | 0.0 | 0.49 +Output | 0.00020552 | 0.00020552 | 0.00020552 | 0.0 | 0.05 +Modify | 0.0047524 | 0.0047524 | 0.0047524 | 0.0 | 1.06 +Other | | 0.0005488 | | | 0.12 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -106,15 +105,14 @@ Ave neighs/atom = 16.414062 Neighbor list builds = 2 Dangerous builds = 0 -write_restart restart.equil +write_restart restart.equil System init for write_restart ... # Test Tersoff/Mod model for Si clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -122,19 +120,19 @@ Reading restart file ... 1 by 1 by 1 MPI processor grid pair style tersoff stores no restart info 512 atoms - read_restart CPU = 0.006 seconds + read_restart CPU = 0.001 seconds pair_style tersoff/mod -pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si Reading tersoff/mod potential file Si.tersoff.mod with DATE: 2013-07-26 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -153,32 +151,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.979 | 2.979 | 2.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -2210.6446 0 -2172.3685 -6444.2163 - 110 1135.5853 -2234.6974 0 -2172.3908 113.80404 - 120 1462.8415 -2253.8186 0 -2172.3853 10922.229 - 130 1755.9617 -2270.5152 0 -2172.3964 18780.707 - 140 1895.1939 -2277.1484 0 -2172.3965 22357.106 - 150 1869.5375 -2273.2734 0 -2172.3851 22616.492 - 160 1824.0448 -2268.4342 0 -2172.393 19254.299 - 170 1637.9038 -2254.5219 0 -2172.3815 15904.928 - 180 1451.9871 -2240.7199 0 -2172.3771 12064.754 - 190 1362.8248 -2233.1942 0 -2172.3789 7970.534 - 200 1341.1467 -2229.8951 0 -2172.3717 6244.8542 -Loop time of 0.128972 on 1 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -2210.6446 -2161.5897 -2172.3685 -6444.2163 + 110 1135.5853 -2234.6974 -2159.6898 -2172.3908 113.80404 + 120 1462.8415 -2253.8186 -2157.1951 -2172.3853 10922.229 + 130 1755.9617 -2270.5152 -2154.5306 -2172.3964 18780.707 + 140 1895.1939 -2277.1484 -2151.9672 -2172.3965 22357.106 + 150 1869.5375 -2273.2734 -2149.7868 -2172.3851 22616.492 + 160 1824.0448 -2268.4342 -2147.9525 -2172.393 19254.299 + 170 1637.9038 -2254.5219 -2146.3352 -2172.3815 15904.928 + 180 1451.9871 -2240.7199 -2144.8134 -2172.3771 12064.754 + 190 1362.8248 -2233.1942 -2143.177 -2172.3789 7970.534 + 200 1341.1467 -2229.8951 -2141.3097 -2172.3717 6244.8542 +Loop time of 0.428851 on 1 procs for 100 steps with 512 atoms -Performance: 66.991 ns/day, 0.358 hours/ns, 775.362 timesteps/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 20.147 ns/day, 1.191 hours/ns, 233.181 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 | 0.12498 | 0.12498 | 0.12498 | 0.0 | 96.91 -Neigh | 0.002322 | 0.002322 | 0.002322 | 0.0 | 1.80 -Comm | 0.000537 | 0.000537 | 0.000537 | 0.0 | 0.42 -Output | 0.000177 | 0.000177 | 0.000177 | 0.0 | 0.14 -Modify | 0.000761 | 0.000761 | 0.000761 | 0.0 | 0.59 -Other | | 0.000192 | | | 0.15 +Pair | 0.41656 | 0.41656 | 0.41656 | 0.0 | 97.13 +Neigh | 0.0043387 | 0.0043387 | 0.0043387 | 0.0 | 1.01 +Comm | 0.0025339 | 0.0025339 | 0.0025339 | 0.0 | 0.59 +Output | 0.00019503 | 0.00019503 | 0.00019503 | 0.0 | 0.05 +Modify | 0.0047224 | 0.0047224 | 0.0047224 | 0.0 | 1.10 +Other | | 0.0004995 | | | 0.12 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -197,9 +195,8 @@ Dangerous builds = 0 # Test Tersoff/Mod/C model for Si clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -210,16 +207,16 @@ Reading restart file ... read_restart CPU = 0.001 seconds newton on on pair_style tersoff/mod/c -pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si Reading tersoff/mod/c potential file Si.tersoff.modc with DATE: 2016-11-09 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -238,32 +235,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.976 | 2.976 | 2.976 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -2221.9308 0 -2183.6547 -11721.269 - 110 1106.895 -2244.1196 0 -2183.6843 -2359.7819 - 120 1327.6674 -2256.3155 0 -2183.6767 7904.6604 - 130 1487.0219 -2264.3656 0 -2183.6707 14660.783 - 140 1709.1746 -2276.4761 0 -2183.6886 19298.791 - 150 1710.6528 -2274.1129 0 -2183.6764 22026.559 - 160 1651.0659 -2267.9877 0 -2183.6699 20916.722 - 170 1632.7705 -2264.7081 0 -2183.6777 17339.031 - 180 1477.693 -2252.4683 0 -2183.6706 12563.594 - 190 1310.8768 -2239.5419 0 -2183.6581 9591.0484 - 200 1356.7172 -2240.5315 0 -2183.668 5584.6734 -Loop time of 0.133106 on 1 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -2221.9308 -2172.8759 -2183.6547 -11721.269 + 110 1106.895 -2244.1196 -2171.007 -2183.6843 -2359.7819 + 120 1327.6674 -2256.3155 -2168.6205 -2183.6767 7904.6604 + 130 1487.0219 -2264.3656 -2166.1449 -2183.6707 14660.783 + 140 1709.1746 -2276.4761 -2163.5818 -2183.6886 19298.791 + 150 1710.6528 -2274.1129 -2161.1209 -2183.6764 22026.559 + 160 1651.0659 -2267.9877 -2158.9316 -2183.6699 20916.722 + 170 1632.7705 -2264.7081 -2156.8605 -2183.6777 17339.031 + 180 1477.693 -2252.4683 -2154.8638 -2183.6706 12563.594 + 190 1310.8768 -2239.5419 -2152.9559 -2183.6581 9591.0484 + 200 1356.7172 -2240.5315 -2150.9177 -2183.668 5584.6734 +Loop time of 0.444872 on 1 procs for 100 steps with 512 atoms -Performance: 64.911 ns/day, 0.370 hours/ns, 751.281 timesteps/s -96.0% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 19.421 ns/day, 1.236 hours/ns, 224.784 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 | 0.1291 | 0.1291 | 0.1291 | 0.0 | 96.99 -Neigh | 0.002343 | 0.002343 | 0.002343 | 0.0 | 1.76 -Comm | 0.0005 | 0.0005 | 0.0005 | 0.0 | 0.38 -Output | 0.000186 | 0.000186 | 0.000186 | 0.0 | 0.14 -Modify | 0.000786 | 0.000786 | 0.000786 | 0.0 | 0.59 -Other | | 0.000191 | | | 0.14 +Pair | 0.43275 | 0.43275 | 0.43275 | 0.0 | 97.28 +Neigh | 0.0042851 | 0.0042851 | 0.0042851 | 0.0 | 0.96 +Comm | 0.0024009 | 0.0024009 | 0.0024009 | 0.0 | 0.54 +Output | 0.00019312 | 0.00019312 | 0.00019312 | 0.0 | 0.04 +Modify | 0.0047414 | 0.0047414 | 0.0047414 | 0.0 | 1.07 +Other | | 0.0004966 | | | 0.11 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -282,9 +279,8 @@ Dangerous builds = 0 # Test Tersoff model for B/N/C clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -294,27 +290,27 @@ Reading restart file ... 512 atoms read_restart CPU = 0.001 seconds -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap Changing box ... orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) pair_style tersoff -pair_coeff * * BNC.tersoff N N N C B B C B +pair_coeff * * BNC.tersoff N N N C B B C B Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -333,32 +329,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.985 | 2.985 | 2.985 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -2973.8527 0 -2935.5766 3438975.9 - 110 4061.1085 -3183.2489 0 -2930.1208 2211712.7 - 120 4120.3231 -3187.0108 0 -2928.3047 2166764.3 - 130 3602.7602 -3158.5939 0 -2926.6167 2244475.7 - 140 3222.7773 -3141.7275 0 -2925.5369 2161607 - 150 3487.4703 -3163.7495 0 -2921.2462 2222150.2 - 160 3436.3009 -3169.4234 0 -2920.8775 2144368.7 - 170 3308.1796 -3170.3773 0 -2920.8967 2223612.9 - 180 3304.3776 -3178.7805 0 -2920.102 2072546.6 - 190 3217.3561 -3180.7963 0 -2918.4548 2118776.2 - 200 3041.6832 -3176.1794 0 -2916.5787 2130124.6 -Loop time of 0.134621 on 1 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -2973.8527 -2924.7978 -2935.5766 3438975.9 + 110 4061.1085 -3183.2489 -2915.0049 -2930.1208 2211712.7 + 120 4120.3231 -3187.0108 -2914.8555 -2928.3047 2166764.3 + 130 3602.7602 -3158.5939 -2920.6246 -2926.6167 2244475.7 + 140 3222.7773 -3141.7275 -2928.8568 -2925.5369 2161607 + 150 3487.4703 -3163.7495 -2933.3954 -2921.2462 2222150.2 + 160 3436.3009 -3169.4234 -2942.449 -2920.8775 2144368.7 + 170 3308.1796 -3170.3773 -2951.8656 -2920.8967 2223612.9 + 180 3304.3776 -3178.7805 -2960.52 -2920.102 2072546.6 + 190 3217.3561 -3180.7963 -2968.2837 -2918.4548 2118776.2 + 200 3041.6832 -3176.1794 -2975.2703 -2916.5787 2130124.6 +Loop time of 0.55964 on 1 procs for 100 steps with 512 atoms -Performance: 64.180 ns/day, 0.374 hours/ns, 742.826 timesteps/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 15.438 ns/day, 1.555 hours/ns, 178.686 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 | 0.12837 | 0.12837 | 0.12837 | 0.0 | 95.35 -Neigh | 0.004553 | 0.004553 | 0.004553 | 0.0 | 3.38 -Comm | 0.000601 | 0.000601 | 0.000601 | 0.0 | 0.45 -Output | 0.000177 | 0.000177 | 0.000177 | 0.0 | 0.13 -Modify | 0.000742 | 0.000742 | 0.000742 | 0.0 | 0.55 -Other | | 0.000181 | | | 0.13 +Pair | 0.54187 | 0.54187 | 0.54187 | 0.0 | 96.83 +Neigh | 0.0087171 | 0.0087171 | 0.0087171 | 0.0 | 1.56 +Comm | 0.0036685 | 0.0036685 | 0.0036685 | 0.0 | 0.66 +Output | 0.00019526 | 0.00019526 | 0.00019526 | 0.0 | 0.03 +Modify | 0.0047348 | 0.0047348 | 0.0047348 | 0.0 | 0.85 +Other | | 0.0004504 | | | 0.08 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -377,9 +373,8 @@ Dangerous builds = 0 # Test Tersoff model for B/N/C clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -389,27 +384,27 @@ Reading restart file ... 512 atoms read_restart CPU = 0.001 seconds -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap Changing box ... orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) pair_style tersoff shift 0.05 -pair_coeff * * BNC.tersoff N N N C B B C B +pair_coeff * * BNC.tersoff N N N C B B C B Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -428,32 +423,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.985 | 2.985 | 2.985 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -3294.0266 0 -3255.7505 1615779.4 - 110 2870.7114 -3432.8485 0 -3257.629 1053310.6 - 120 2898.0798 -3431.4968 0 -3256.6851 1223402.3 - 130 2708.4483 -3419.0142 0 -3256.436 1105893.8 - 140 2307.8661 -3394.1268 0 -3256.1686 1148075.8 - 150 2215.3423 -3390.1427 0 -3255.8733 1138540 - 160 2515.488 -3412.6704 0 -3255.1731 1122902.8 - 170 2485.7109 -3415.0402 0 -3255.3787 1097748.5 - 180 2327.476 -3408.2463 0 -3254.6537 1061602.6 - 190 2339.5966 -3413.3961 0 -3254.7496 1088059 - 200 2260.5961 -3411.477 0 -3254.0771 1104581.5 -Loop time of 0.120764 on 1 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -3294.0266 -3244.9717 -3255.7505 1615779.4 + 110 2870.7114 -3432.8485 -3243.2324 -3257.629 1053310.6 + 120 2898.0798 -3431.4968 -3240.0731 -3256.6851 1223402.3 + 130 2708.4483 -3419.0142 -3240.1159 -3256.436 1105893.8 + 140 2307.8661 -3394.1268 -3241.6877 -3256.1686 1148075.8 + 150 2215.3423 -3390.1427 -3243.8151 -3255.8733 1138540 + 160 2515.488 -3412.6704 -3246.5175 -3255.1731 1122902.8 + 170 2485.7109 -3415.0402 -3250.8542 -3255.3787 1097748.5 + 180 2327.476 -3408.2463 -3254.512 -3254.6537 1061602.6 + 190 2339.5966 -3413.3961 -3258.8612 -3254.7496 1088059 + 200 2260.5961 -3411.477 -3262.1603 -3254.0771 1104581.5 +Loop time of 0.511812 on 1 procs for 100 steps with 512 atoms -Performance: 71.545 ns/day, 0.335 hours/ns, 828.061 timesteps/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 16.881 ns/day, 1.422 hours/ns, 195.384 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 | 0.11521 | 0.11521 | 0.11521 | 0.0 | 95.40 -Neigh | 0.003874 | 0.003874 | 0.003874 | 0.0 | 3.21 -Comm | 0.000542 | 0.000542 | 0.000542 | 0.0 | 0.45 -Output | 0.000177 | 0.000177 | 0.000177 | 0.0 | 0.15 -Modify | 0.000774 | 0.000774 | 0.000774 | 0.0 | 0.64 -Other | | 0.00019 | | | 0.16 +Pair | 0.49628 | 0.49628 | 0.49628 | 0.0 | 96.96 +Neigh | 0.0072167 | 0.0072167 | 0.0072167 | 0.0 | 1.41 +Comm | 0.0029061 | 0.0029061 | 0.0029061 | 0.0 | 0.57 +Output | 0.00019026 | 0.00019026 | 0.00019026 | 0.0 | 0.04 +Modify | 0.0047674 | 0.0047674 | 0.0047674 | 0.0 | 0.93 +Other | | 0.0004566 | | | 0.09 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -469,4 +464,4 @@ Ave neighs/atom = 28.664062 Neighbor list builds = 5 Dangerous builds = 0 -Total wall time: 0:00:00 +Total wall time: 0:00:02 diff --git a/examples/tersoff/log.13Jan21.tersoff.g++.4 b/examples/tersoff/log.09Feb21.tersoff.g++.4 similarity index 60% rename from examples/tersoff/log.13Jan21.tersoff.g++.4 rename to examples/tersoff/log.09Feb21.tersoff.g++.4 index 07431ff1eb..829ef0c452 100644 --- a/examples/tersoff/log.13Jan21.tersoff.g++.4 +++ b/examples/tersoff/log.09Feb21.tersoff.g++.4 @@ -1,5 +1,4 @@ LAMMPS (24 Dec 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task # Simple regression tests for Tersoff potentials @@ -10,7 +9,7 @@ units metal atom_style atomic atom_modify map array boundary p p p -atom_modify sort 0 0.0 +atom_modify sort 0 0.0 # temperature @@ -28,26 +27,26 @@ region myreg block 0 4 0 4 create_box 8 myreg Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (21.724000 21.724000 21.724000) 1 by 2 by 2 MPI processor grid -create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 +create_atoms 1 region myreg basis 1 1 basis 2 2 basis 3 3 basis 4 4 basis 5 5 basis 6 6 basis 7 7 basis 8 8 Created 512 atoms - create_atoms CPU = 0.000 seconds + create_atoms CPU = 0.001 seconds mass * 28.06 -velocity all create $t 5287287 loop geom -velocity all create 1800 5287287 loop geom +velocity all create $t 5287287 loop geom +velocity all create 1800 5287287 loop geom # Equilibrate using Tersoff model for silicon pair_style tersoff -pair_coeff * * Si.tersoff Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff Si Si Si Si Si Si Si Si Reading tersoff potential file Si.tersoff with DATE: 2007-10-25 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -65,32 +64,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.958 | 2.958 | 2.958 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1800 -2370.771 0 -2251.8775 12511.419 - 10 1144.7447 -2327.3227 0 -2251.7759 21852.599 - 20 770.19243 -2302.1547 0 -2251.7633 22286.587 - 30 1059.4324 -2320.1988 0 -2251.8159 6242.222 - 40 1000.972 -2314.6531 0 -2251.796 -3069.9273 - 50 803.91758 -2300.1702 0 -2251.7834 -7154.1383 - 60 761.38639 -2296.1731 0 -2251.7928 -14520.921 - 70 750.57677 -2294.3086 0 -2251.7965 -21400.198 - 80 676.66672 -2288.2634 0 -2251.7899 -23480.201 - 90 640.24103 -2284.6678 0 -2251.7848 -20659.983 - 100 742.67188 -2290.0616 0 -2251.7855 -16211.799 -Loop time of 0.0321762 on 4 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 0 1800 -2370.771 -2251.8775 -2251.8775 12511.419 + 10 1144.7447 -2327.3227 -2251.7101 -2251.7759 21852.599 + 20 770.19243 -2302.1547 -2251.282 -2251.7633 22286.587 + 30 1059.4324 -2320.1988 -2250.2213 -2251.8159 6242.222 + 40 1000.972 -2314.6531 -2248.5369 -2251.796 -3069.9273 + 50 803.91758 -2300.1702 -2247.0699 -2251.7834 -7154.1383 + 60 761.38639 -2296.1731 -2245.882 -2251.7928 -14520.921 + 70 750.57677 -2294.3086 -2244.7316 -2251.7965 -21400.198 + 80 676.66672 -2288.2634 -2243.5683 -2251.7899 -23480.201 + 90 640.24103 -2284.6678 -2242.3786 -2251.7848 -20659.983 + 100 742.67188 -2290.0616 -2241.0067 -2251.7855 -16211.799 +Loop time of 0.130429 on 4 procs for 100 steps with 512 atoms -Performance: 268.521 ns/day, 0.089 hours/ns, 3107.882 timesteps/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 66.243 ns/day, 0.362 hours/ns, 766.701 timesteps/s +96.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.026599 | 0.02712 | 0.027602 | 0.2 | 84.28 -Neigh | 0.000285 | 0.00028875 | 0.000294 | 0.0 | 0.90 -Comm | 0.003471 | 0.0039375 | 0.004446 | 0.6 | 12.24 -Output | 0.000112 | 0.00013675 | 0.000203 | 0.0 | 0.43 -Modify | 0.000443 | 0.0004555 | 0.000471 | 0.0 | 1.42 -Other | | 0.000238 | | | 0.74 +Pair | 0.10994 | 0.11386 | 0.11991 | 1.1 | 87.30 +Neigh | 0.0005877 | 0.00059474 | 0.00059915 | 0.0 | 0.46 +Comm | 0.0072911 | 0.013476 | 0.017439 | 3.4 | 10.33 +Output | 0.00014305 | 0.00022113 | 0.00045156 | 0.0 | 0.17 +Modify | 0.0015786 | 0.0016485 | 0.0017092 | 0.1 | 1.26 +Other | | 0.0006239 | | | 0.48 Nlocal: 128.000 ave 131 max 126 min Histogram: 2 0 0 0 0 0 1 0 0 1 @@ -106,15 +105,14 @@ Ave neighs/atom = 16.414062 Neighbor list builds = 2 Dangerous builds = 0 -write_restart restart.equil +write_restart restart.equil System init for write_restart ... # Test Tersoff/Mod model for Si clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -122,19 +120,19 @@ Reading restart file ... 1 by 2 by 2 MPI processor grid pair style tersoff stores no restart info 512 atoms - read_restart CPU = 0.002 seconds + read_restart CPU = 0.001 seconds pair_style tersoff/mod -pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff.mod Si Si Si Si Si Si Si Si Reading tersoff/mod potential file Si.tersoff.mod with DATE: 2013-07-26 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -153,32 +151,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.949 | 2.950 | 2.950 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -2210.6446 0 -2172.3685 -6444.2163 - 110 1135.5853 -2234.6974 0 -2172.3908 113.80404 - 120 1462.8415 -2253.8186 0 -2172.3853 10922.229 - 130 1755.9617 -2270.5152 0 -2172.3964 18780.707 - 140 1895.1939 -2277.1484 0 -2172.3965 22357.106 - 150 1869.5375 -2273.2734 0 -2172.3851 22616.492 - 160 1824.0448 -2268.4342 0 -2172.393 19254.299 - 170 1637.9038 -2254.5219 0 -2172.3815 15904.928 - 180 1451.9871 -2240.7199 0 -2172.3771 12064.754 - 190 1362.8248 -2233.1942 0 -2172.3789 7970.534 - 200 1341.1467 -2229.8951 0 -2172.3717 6244.8542 -Loop time of 0.0389003 on 4 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -2210.6446 -2161.5897 -2172.3685 -6444.2163 + 110 1135.5853 -2234.6974 -2159.6898 -2172.3908 113.80404 + 120 1462.8415 -2253.8186 -2157.1951 -2172.3853 10922.229 + 130 1755.9617 -2270.5152 -2154.5306 -2172.3964 18780.707 + 140 1895.1939 -2277.1484 -2151.9672 -2172.3965 22357.106 + 150 1869.5375 -2273.2734 -2149.7868 -2172.3851 22616.492 + 160 1824.0448 -2268.4342 -2147.9525 -2172.393 19254.299 + 170 1637.9038 -2254.5219 -2146.3352 -2172.3815 15904.928 + 180 1451.9871 -2240.7199 -2144.8134 -2172.3771 12064.754 + 190 1362.8248 -2233.1942 -2143.177 -2172.3789 7970.534 + 200 1341.1467 -2229.8951 -2141.3097 -2172.3717 6244.8542 +Loop time of 0.128801 on 4 procs for 100 steps with 512 atoms -Performance: 222.107 ns/day, 0.108 hours/ns, 2570.678 timesteps/s -98.6% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 67.080 ns/day, 0.358 hours/ns, 776.389 timesteps/s +97.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.031362 | 0.032656 | 0.033605 | 0.5 | 83.95 -Neigh | 0.000575 | 0.000599 | 0.000613 | 0.0 | 1.54 -Comm | 0.003768 | 0.004733 | 0.006014 | 1.2 | 12.17 -Output | 0.000207 | 0.00022525 | 0.000276 | 0.0 | 0.58 -Modify | 0.000445 | 0.00047975 | 0.0005 | 0.0 | 1.23 -Other | | 0.0002077 | | | 0.53 +Pair | 0.10866 | 0.11135 | 0.1163 | 0.9 | 86.45 +Neigh | 0.0011961 | 0.001219 | 0.0012498 | 0.1 | 0.95 +Comm | 0.0087612 | 0.013886 | 0.016597 | 2.6 | 10.78 +Output | 0.00013447 | 0.00028586 | 0.000736 | 0.0 | 0.22 +Modify | 0.0014391 | 0.0015088 | 0.0015388 | 0.1 | 1.17 +Other | | 0.0005538 | | | 0.43 Nlocal: 128.000 ave 135 max 123 min Histogram: 1 1 0 0 0 1 0 0 0 1 @@ -197,9 +195,8 @@ Dangerous builds = 0 # Test Tersoff/Mod/C model for Si clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -210,16 +207,16 @@ Reading restart file ... read_restart CPU = 0.001 seconds newton on on pair_style tersoff/mod/c -pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si +pair_coeff * * Si.tersoff.modc Si Si Si Si Si Si Si Si Reading tersoff/mod/c potential file Si.tersoff.modc with DATE: 2016-11-09 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -238,32 +235,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.949 | 2.949 | 2.949 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -2221.9308 0 -2183.6547 -11721.269 - 110 1106.895 -2244.1196 0 -2183.6843 -2359.7819 - 120 1327.6674 -2256.3155 0 -2183.6767 7904.6604 - 130 1487.0219 -2264.3656 0 -2183.6707 14660.783 - 140 1709.1746 -2276.4761 0 -2183.6886 19298.791 - 150 1710.6528 -2274.1129 0 -2183.6764 22026.559 - 160 1651.0659 -2267.9877 0 -2183.6699 20916.722 - 170 1632.7705 -2264.7081 0 -2183.6777 17339.031 - 180 1477.693 -2252.4683 0 -2183.6706 12563.594 - 190 1310.8768 -2239.5419 0 -2183.6581 9591.0484 - 200 1356.7172 -2240.5315 0 -2183.668 5584.6734 -Loop time of 0.039244 on 4 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -2221.9308 -2172.8759 -2183.6547 -11721.269 + 110 1106.895 -2244.1196 -2171.007 -2183.6843 -2359.7819 + 120 1327.6674 -2256.3155 -2168.6205 -2183.6767 7904.6604 + 130 1487.0219 -2264.3656 -2166.1449 -2183.6707 14660.783 + 140 1709.1746 -2276.4761 -2163.5818 -2183.6886 19298.791 + 150 1710.6528 -2274.1129 -2161.1209 -2183.6764 22026.559 + 160 1651.0659 -2267.9877 -2158.9316 -2183.6699 20916.722 + 170 1632.7705 -2264.7081 -2156.8605 -2183.6777 17339.031 + 180 1477.693 -2252.4683 -2154.8638 -2183.6706 12563.594 + 190 1310.8768 -2239.5419 -2152.9559 -2183.6581 9591.0484 + 200 1356.7172 -2240.5315 -2150.9177 -2183.668 5584.6734 +Loop time of 0.131975 on 4 procs for 100 steps with 512 atoms -Performance: 220.161 ns/day, 0.109 hours/ns, 2548.160 timesteps/s -98.5% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 65.467 ns/day, 0.367 hours/ns, 757.717 timesteps/s +97.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.03126 | 0.032782 | 0.033915 | 0.5 | 83.53 -Neigh | 0.000599 | 0.000707 | 0.000821 | 0.0 | 1.80 -Comm | 0.00363 | 0.004893 | 0.006493 | 1.5 | 12.47 -Output | 0.000122 | 0.0001425 | 0.000192 | 0.0 | 0.36 -Modify | 0.000497 | 0.00050925 | 0.000522 | 0.0 | 1.30 -Other | | 0.0002105 | | | 0.54 +Pair | 0.11186 | 0.11507 | 0.11812 | 0.7 | 87.19 +Neigh | 0.0011823 | 0.0011939 | 0.0012088 | 0.0 | 0.90 +Comm | 0.010214 | 0.0134 | 0.016663 | 2.0 | 10.15 +Output | 0.000139 | 0.000296 | 0.00076294 | 0.0 | 0.22 +Modify | 0.0014501 | 0.0014552 | 0.0014606 | 0.0 | 1.10 +Other | | 0.0005632 | | | 0.43 Nlocal: 128.000 ave 133 max 124 min Histogram: 1 0 1 0 0 1 0 0 0 1 @@ -282,9 +279,8 @@ Dangerous builds = 0 # Test Tersoff model for B/N/C clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -292,29 +288,29 @@ Reading restart file ... 1 by 2 by 2 MPI processor grid pair style tersoff stores no restart info 512 atoms - read_restart CPU = 0.001 seconds + read_restart CPU = 0.007 seconds -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap Changing box ... orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) pair_style tersoff -pair_coeff * * BNC.tersoff N N N C B B C B +pair_coeff * * BNC.tersoff N N N C B B C B Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -333,32 +329,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.952 | 2.952 | 2.952 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -2973.8527 0 -2935.5766 3438975.9 - 110 4061.1085 -3183.2489 0 -2930.1208 2211712.7 - 120 4120.3231 -3187.0108 0 -2928.3047 2166764.3 - 130 3602.7602 -3158.5939 0 -2926.6167 2244475.7 - 140 3222.7773 -3141.7275 0 -2925.5369 2161607 - 150 3487.4703 -3163.7495 0 -2921.2462 2222150.2 - 160 3436.3009 -3169.4234 0 -2920.8775 2144368.7 - 170 3308.1796 -3170.3773 0 -2920.8967 2223612.9 - 180 3304.3776 -3178.7805 0 -2920.102 2072546.6 - 190 3217.3561 -3180.7963 0 -2918.4548 2118776.2 - 200 3041.6832 -3176.1794 0 -2916.5787 2130124.6 -Loop time of 0.0488862 on 4 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -2973.8527 -2924.7978 -2935.5766 3438975.9 + 110 4061.1085 -3183.2489 -2915.0049 -2930.1208 2211712.7 + 120 4120.3231 -3187.0108 -2914.8555 -2928.3047 2166764.3 + 130 3602.7602 -3158.5939 -2920.6246 -2926.6167 2244475.7 + 140 3222.7773 -3141.7275 -2928.8568 -2925.5369 2161607 + 150 3487.4703 -3163.7495 -2933.3954 -2921.2462 2222150.2 + 160 3436.3009 -3169.4234 -2942.449 -2920.8775 2144368.7 + 170 3308.1796 -3170.3773 -2951.8656 -2920.8967 2223612.9 + 180 3304.3776 -3178.7805 -2960.52 -2920.102 2072546.6 + 190 3217.3561 -3180.7963 -2968.2837 -2918.4548 2118776.2 + 200 3041.6832 -3176.1794 -2975.2703 -2916.5787 2130124.6 +Loop time of 0.171186 on 4 procs for 100 steps with 512 atoms -Performance: 176.737 ns/day, 0.136 hours/ns, 2045.565 timesteps/s -93.6% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 50.471 ns/day, 0.476 hours/ns, 584.160 timesteps/s +96.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.037364 | 0.039346 | 0.041066 | 0.8 | 80.49 -Neigh | 0.001207 | 0.0012568 | 0.00136 | 0.2 | 2.57 -Comm | 0.005218 | 0.007064 | 0.009117 | 1.9 | 14.45 -Output | 0.000173 | 0.00020325 | 0.000277 | 0.0 | 0.42 -Modify | 0.000709 | 0.000715 | 0.000723 | 0.0 | 1.46 -Other | | 0.0003008 | | | 0.62 +Pair | 0.14009 | 0.14402 | 0.15181 | 1.2 | 84.13 +Neigh | 0.0023134 | 0.0024782 | 0.0026977 | 0.3 | 1.45 +Comm | 0.013972 | 0.02211 | 0.026362 | 3.3 | 12.92 +Output | 0.00015235 | 0.0003258 | 0.00084186 | 0.0 | 0.19 +Modify | 0.0016432 | 0.0017257 | 0.0018435 | 0.2 | 1.01 +Other | | 0.0005236 | | | 0.31 Nlocal: 128.000 ave 132 max 123 min Histogram: 1 0 0 0 1 0 0 1 0 1 @@ -377,9 +373,8 @@ Dangerous builds = 0 # Test Tersoff model for B/N/C clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) using 1 OpenMP thread(s) per MPI task -read_restart restart.equil +read_restart restart.equil Reading restart file ... restart file = 24 Dec 2020, LAMMPS = 24 Dec 2020 restoring atom style atomic from restart @@ -389,27 +384,27 @@ Reading restart file ... 512 atoms read_restart CPU = 0.001 seconds -variable fac equal 0.6 -change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap -change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap +variable fac equal 0.6 +change_box all x scale ${fac} y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale ${fac} z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale ${fac} remap +change_box all x scale 0.6 y scale 0.6 z scale 0.6 remap Changing box ... orthogonal box = (4.3448000 0.0000000 0.0000000) to (17.379200 21.724000 21.724000) orthogonal box = (4.3448000 4.3448000 0.0000000) to (17.379200 17.379200 21.724000) orthogonal box = (4.3448000 4.3448000 4.3448000) to (17.379200 17.379200 17.379200) pair_style tersoff shift 0.05 -pair_coeff * * BNC.tersoff N N N C B B C B +pair_coeff * * BNC.tersoff N N N C B B C B Reading tersoff potential file BNC.tersoff with DATE: 2013-03-21 +thermo_style custom step temp epair etotal econserve press thermo 10 fix 1 all nvt temp $t $t 0.1 fix 1 all nvt temp 1800 $t 0.1 fix 1 all nvt temp 1800 1800 0.1 Resetting global fix info from restart file: fix style: nvt, fix ID: 1 -fix_modify 1 energy yes timestep 1.0e-3 neighbor 1.0 bin neigh_modify every 1 delay 10 check yes @@ -428,32 +423,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 2.952 | 2.952 | 2.952 Mbytes -Step Temp E_pair E_mol TotEng Press - 100 742.67188 -3294.0266 0 -3255.7505 1615779.4 - 110 2870.7114 -3432.8485 0 -3257.629 1053310.6 - 120 2898.0798 -3431.4968 0 -3256.6851 1223402.3 - 130 2708.4483 -3419.0142 0 -3256.436 1105893.8 - 140 2307.8661 -3394.1268 0 -3256.1686 1148075.8 - 150 2215.3423 -3390.1427 0 -3255.8733 1138540 - 160 2515.488 -3412.6704 0 -3255.1731 1122902.8 - 170 2485.7109 -3415.0402 0 -3255.3787 1097748.5 - 180 2327.476 -3408.2463 0 -3254.6537 1061602.6 - 190 2339.5966 -3413.3961 0 -3254.7496 1088059 - 200 2260.5961 -3411.477 0 -3254.0771 1104581.5 -Loop time of 0.0409132 on 4 procs for 100 steps with 512 atoms +Step Temp E_pair TotEng Econserve Press + 100 742.67188 -3294.0266 -3244.9717 -3255.7505 1615779.4 + 110 2870.7114 -3432.8485 -3243.2324 -3257.629 1053310.6 + 120 2898.0798 -3431.4968 -3240.0731 -3256.6851 1223402.3 + 130 2708.4483 -3419.0142 -3240.1159 -3256.436 1105893.8 + 140 2307.8661 -3394.1268 -3241.6877 -3256.1686 1148075.8 + 150 2215.3423 -3390.1427 -3243.8151 -3255.8733 1138540 + 160 2515.488 -3412.6704 -3246.5175 -3255.1731 1122902.8 + 170 2485.7109 -3415.0402 -3250.8542 -3255.3787 1097748.5 + 180 2327.476 -3408.2463 -3254.512 -3254.6537 1061602.6 + 190 2339.5966 -3413.3961 -3258.8612 -3254.7496 1088059 + 200 2260.5961 -3411.477 -3262.1603 -3254.0771 1104581.5 +Loop time of 0.15156 on 4 procs for 100 steps with 512 atoms -Performance: 211.179 ns/day, 0.114 hours/ns, 2444.196 timesteps/s -97.1% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 57.007 ns/day, 0.421 hours/ns, 659.806 timesteps/s +96.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.03285 | 0.033327 | 0.03406 | 0.3 | 81.46 -Neigh | 0.000975 | 0.0010677 | 0.001184 | 0.2 | 2.61 -Comm | 0.004915 | 0.005528 | 0.006044 | 0.7 | 13.51 -Output | 0.000129 | 0.0001535 | 0.000226 | 0.0 | 0.38 -Modify | 0.000564 | 0.0005885 | 0.000604 | 0.0 | 1.44 -Other | | 0.0002483 | | | 0.61 +Pair | 0.12637 | 0.13067 | 0.13398 | 0.8 | 86.22 +Neigh | 0.0019262 | 0.0020029 | 0.0021148 | 0.2 | 1.32 +Comm | 0.012843 | 0.01629 | 0.020752 | 2.2 | 10.75 +Output | 0.00014877 | 0.00030798 | 0.00078011 | 0.0 | 0.20 +Modify | 0.0015197 | 0.0016043 | 0.0017824 | 0.3 | 1.06 +Other | | 0.0006804 | | | 0.45 Nlocal: 128.000 ave 133 max 123 min Histogram: 1 0 0 1 0 0 0 1 0 1 From e706f75d179ce4aabd9a6834be9dba5db2010c8c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 11:44:26 -0500 Subject: [PATCH 113/132] fix permissions --- examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene diff --git a/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene b/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene old mode 100755 new mode 100644 From 653c29624658154f09cda260aa1a0585f38d6520 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 12:29:14 -0500 Subject: [PATCH 114/132] document __version__ module member and version check --- doc/src/Python_module.rst | 17 +++++++++++++++++ doc/src/fix_flow_gauss.rst | 5 +++-- python/lammps/__init__.py | 10 ++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/doc/src/Python_module.rst b/doc/src/Python_module.rst index 8b4fbe1c2e..59be645cbd 100644 --- a/doc/src/Python_module.rst +++ b/doc/src/Python_module.rst @@ -26,6 +26,23 @@ There are multiple Python interface classes in the :py:mod:`lammps` module: .. _mpi4py_url: https://mpi4py.readthedocs.io +.. admonition:: Version check + :class: note + + The :py:mod:`lammps` module stores the version number of the LAMMPS + version it is installed from. When initializing the + :py:class:`lammps ` class, this version is checked to + be the same as the result from :py:func:`lammps.version`, the version + of the LAMMPS shared library that the module interfaces to. If the + they are not the same an AttributeError exception is raised since a + mismatch of versions (e.g. due to incorrect use of the + ``LD_LIBRARY_PATH`` or ``PYTHONPATH`` environment variables can lead + to crashes or data corruption and otherwise incorrect behavior. + +.. automodule:: lammps + :members: + :noindex: + ---------- The ``lammps`` class API diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index c7907432dc..67a0218c9b 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -165,8 +165,9 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`fix addforce `, :doc:`compute temp/profile - `, :doc:`velocity ` +:doc:`fix addforce `, +:doc:`compute temp/profile `, +:doc:`velocity ` Default """"""" diff --git a/python/lammps/__init__.py b/python/lammps/__init__.py index e73e514d8c..be496167e8 100644 --- a/python/lammps/__init__.py +++ b/python/lammps/__init__.py @@ -1,3 +1,13 @@ +""" +LAMMPS module global members: + +.. data:: __version__ + + Numerical representation of the LAMMPS version this + module was taken from. Has the same format as the + result of :py:func:`lammps.version`. +""" + from .constants import * from .core import * from .data import * From 418135667fdd7341963995bd307b4435ead73b89 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 12:38:46 -0500 Subject: [PATCH 115/132] address a whole bunch of spelling issues that suddenly popped up. --- doc/src/Developer_notes.rst | 2 +- doc/src/fix_cmap.rst | 2 +- doc/src/fix_colvars.rst | 2 +- doc/src/fix_modify.rst | 4 ++-- doc/src/fix_orient.rst | 2 +- doc/src/fix_orient_eco.rst | 2 +- doc/src/fix_precession_spin.rst | 2 +- doc/src/fix_tgnh_drude.rst | 2 +- doc/src/fix_wall_ees.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 4 ++++ 10 files changed, 14 insertions(+), 10 deletions(-) diff --git a/doc/src/Developer_notes.rst b/doc/src/Developer_notes.rst index d4fee7b9a0..ab2e3826f2 100644 --- a/doc/src/Developer_notes.rst +++ b/doc/src/Developer_notes.rst @@ -90,7 +90,7 @@ The fix must also do the following: The fix must also specify whether (by default) to include or exclude these contributions to the global/peratom energy/virial of the system. For the fix to include the contributions, set either of both of these -variables in the contructor: +variables in the constructor: * *thermo_energy* = 1, for global and peratom energy * *thermo_virial* = 1, for global and peratom virial diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index 94f8a903e9..892fd4ab41 100644 --- a/doc/src/fix_cmap.rst +++ b/doc/src/fix_cmap.rst @@ -103,7 +103,7 @@ uninterrupted fashion. The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy of the CMAP interactions to both the global potential energy and peratom potential energies of the -sysstem as part of :doc:`thermodynamic output ` or +system as part of :doc:`thermodynamic output ` or output by the :doc:`compute pe/atom ` command. The default setting for this fix is :doc:`fix_modify energy yes `. diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index 7a238d3242..3f503410d3 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -115,7 +115,7 @@ in a pair of double quotes ("), or can span multiple lines when bracketed by a pair of triple double quotes (""", like python embedded documentation). This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the Covars +:doc:`output commands `. The scalar is the Colvars energy mentioned above. The scalar value calculated by this fix is "extensive". diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index 3f97b158e2..a6bac6ac44 100644 --- a/doc/src/fix_modify.rst +++ b/doc/src/fix_modify.rst @@ -83,7 +83,7 @@ appropriate fix. .. note:: - For most fixes that suppport the *energy* keyword, the default + For most fixes that support the *energy* keyword, the default setting is *no*. For a few it is *yes*, when a user would expect that to be the case. The doc page of each fix gives the default. @@ -108,7 +108,7 @@ option to include or exclude the contribution from fixes. .. note:: - For most fixes that suppport the *virial* keyword, the default + For most fixes that support the *virial* keyword, the default setting is *no*. For a few it is *yes*, when a user would expect that to be the case. The doc page of each fix gives the default. diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index 12f22403cd..3397261552 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -149,7 +149,7 @@ 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 of atom interactions with the -grain bounadry driving force to the global potential energy of the +grain boundary driving force 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 `. diff --git a/doc/src/fix_orient_eco.rst b/doc/src/fix_orient_eco.rst index 71d5a6de86..1db83338d4 100644 --- a/doc/src/fix_orient_eco.rst +++ b/doc/src/fix_orient_eco.rst @@ -103,7 +103,7 @@ files `. The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy of atom interactions with the -grain bounadry driving force to the global potential energy of the +grain boundary driving force 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 `. diff --git a/doc/src/fix_precession_spin.rst b/doc/src/fix_precession_spin.rst index 17231d5686..5e818374a0 100644 --- a/doc/src/fix_precession_spin.rst +++ b/doc/src/fix_precession_spin.rst @@ -141,7 +141,7 @@ 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 energy assocatiated with the spin precession +this fix to add the energy associated with the spin precession torque 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 `. diff --git a/doc/src/fix_tgnh_drude.rst b/doc/src/fix_tgnh_drude.rst index 6d11539dd2..1854655a82 100644 --- a/doc/src/fix_tgnh_drude.rst +++ b/doc/src/fix_tgnh_drude.rst @@ -240,7 +240,7 @@ compute temperature on a subset of atoms. keyword will be unaffected by the *temp* setting. The cumulative energy change in the system imposed by these fixes, due -to thermostatting and/or barostating, are included in the +to thermostatting and/or barostatting, are included in the :doc:`thermodynamic output ` keywords *ecouple* and *econserve*. See the :doc:`thermo_style ` doc page for details. diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index fde9fe7234..cf689f3a77 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -131,7 +131,7 @@ The :doc:`fix_modify ` *energy* option is supported by these fixes to add the energy of interaction between atoms and all the specified walls or region wall to the global potential energy of the system as part of :doc:`thermodynamic output `. The -default settings for thes fixes are :doc:`fix_modify energy no +default settings for these fixes are :doc:`fix_modify energy no `. The :doc:`fix_modify ` *respa* option is supported by diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index a2f8764aee..13282ebe9c 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -508,6 +508,7 @@ cpp cpu createatoms createAtoms +CreateIDs crespi Crespi Critchley @@ -788,6 +789,7 @@ ees eFF efield effm +eflag eflux eg Eggebrecht @@ -2681,6 +2683,7 @@ rfile rg Rg Rhaphson +Rhe rheological rheology rhodo @@ -3335,6 +3338,7 @@ verlet Verlet versa ves +vflag vhi vibrational Vij From f92e07185b0ef544786f7d22f5085fb9b410f6f7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 13:21:04 -0500 Subject: [PATCH 116/132] initialize arrays for per-level gridcomm buffers to NULL --- src/KSPACE/msm.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 1e980e856f..490fbae0e0 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -654,7 +654,6 @@ void MSM::allocate() npergrid = 1; memory->create(gc_buf1[n],npergrid*ngc_buf1[n],"msm:gc_buf1"); memory->create(gc_buf2[n],npergrid*ngc_buf2[n],"msm:gc_buf2"); - } else { delete gc[n]; memory->destroy(gc_buf1[n]); @@ -808,6 +807,10 @@ void MSM::allocate_levels() for (int n=0; n Date: Tue, 9 Feb 2021 14:12:43 -0500 Subject: [PATCH 117/132] must purge python/build folder so we don't inherit outdated files --- cmake/CMakeLists.txt | 4 ++-- src/Makefile | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c1fef4d4e1..2d259791f2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -662,8 +662,8 @@ if(BUILD_SHARED_LIBS) endif() if (Python_EXECUTABLE) add_custom_target( - install-python - ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h + install-python ${CMAKE_COMMAND} -E remove_directory build + COMMAND ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h -p ${LAMMPS_PYTHON_DIR}/lammps -l ${CMAKE_BINARY_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX} WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR} diff --git a/src/Makefile b/src/Makefile index 7a5e1aa728..679cbe7b97 100644 --- a/src/Makefile +++ b/src/Makefile @@ -272,11 +272,13 @@ mpi-stubs: @cd STUBS; $(MAKE) clean; $(MAKE) # install LAMMPS shared lib and Python wrapper for Python usage -# include python package settings to -# automatically adapt name of python interpreter +# include python package settings to automatically adapt name of +# the python interpreter. must purge build folder to not install +# unwanted outdated files. sinclude ../lib/python/Makefile.lammps install-python: + @rm -rf ../python/build @$(PYTHON) ../python/install.py -v ../src/version.h \ -p ../python/lammps -l ../src/liblammps.so From 62a152e4a2a5767d20edd637e9b02fb1b095d66f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 14:13:18 -0500 Subject: [PATCH 118/132] get version number from package version instead of rewriting the __init__.py file --- python/install.py | 33 +-------------------------------- python/lammps/__init__.py | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/python/install.py b/python/install.py index bd0874593f..6765c33925 100644 --- a/python/install.py +++ b/python/install.py @@ -10,7 +10,7 @@ build target in the conventional and CMake based build systems # copy LAMMPS shared library and lammps package to system dirs from __future__ import print_function -import sys,os,re,shutil +import sys,os,shutil from argparse import ArgumentParser parser = ArgumentParser(prog='install.py', @@ -90,35 +90,11 @@ def get_lammps_version(header): verstr = get_lammps_version(args.version) -# convert string version to numeric version -vernum = 0 -vregex = re.compile(r"([0-9]+)([A-Za-z]+)(2[0-9]+)") -m = vregex.match(verstr) -if (m): - month2num = { 'Jan' : 1, 'Feb' : 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun' : 6, - 'Jul' : 7, 'Aug' : 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec' : 12 } - try: - vernum = int(m.group(3))*10000 - vernum += month2num[m.group(2)]*100 - vernum += int(m.group(1)) - except: - exit('Failure to parse version string: %s' % verstr) - print("Installing LAMMPS Python package version %s into site-packages folder" % verstr) # we need to switch to the folder of the python package os.chdir(os.path.dirname(args.package)) - - -# update version number in lammps module -vregex = re.compile(r".*(__version__ += +)[0-9]+") -with open(os.path.join('lammps','__init__.py'), "r+") as f: - content = f.read() - f.seek(0) - f.write(re.sub(vregex, lambda match: '{}{}'.format(match.group(1), vernum), content)) - f.truncate() - from distutils.core import setup from distutils.sysconfig import get_python_lib import site @@ -150,10 +126,3 @@ if tryuser: setup(**setup_kwargs) except: print("Installation into user site package folder failed.") - -# restore __version__ == 0 for in place usage -with open(os.path.join('lammps','__init__.py'), "r+") as f: - content = f.read() - f.seek(0) - f.write(re.sub(vregex, lambda match: '{}{}'.format(match.group(1), 0), content)) - f.truncate() diff --git a/python/lammps/__init__.py b/python/lammps/__init__.py index be496167e8..89ff30ead9 100644 --- a/python/lammps/__init__.py +++ b/python/lammps/__init__.py @@ -13,6 +13,37 @@ from .core import * from .data import * from .pylammps import * -# automatically updated during installation +# convert module string version to numeric version +def get_version_number(): + import re + from sys import version_info + vstring = None + if version_info.major == 3 and version_info.minor >= 8: + from importlib.metadata import version + try: + vstring = version('lammps') + except: pass + else: + from pkg_resources import get_distribution + try: + vstring = get_distribution('lammps').version + except: pass -__version__ = 0 + if not vstring: + return 0 + + vregex = re.compile(r"([0-9]+)([A-Za-z]+)(2[0-9]+)") + m = vregex.match(vstring) + + if (m): + month2num = { 'Jan' : 1, 'Feb' : 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun' : 6, + 'Jul' : 7, 'Aug' : 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec' : 12 } + try: + vernum = int(m.group(3))*10000 + vernum += month2num[m.group(2)]*100 + vernum += int(m.group(1)) + except: + exit('Failure to parse version string: %s' % verstr) + return vernum + +__version__ = get_version_number() From 903433d9dd7aca6f8989b917c0d10801d96c4541 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 14:22:30 -0500 Subject: [PATCH 119/132] use datetime module to convert string date to numeric date --- python/lammps/__init__.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/python/lammps/__init__.py b/python/lammps/__init__.py index 89ff30ead9..48839273c5 100644 --- a/python/lammps/__init__.py +++ b/python/lammps/__init__.py @@ -15,7 +15,7 @@ from .pylammps import * # convert module string version to numeric version def get_version_number(): - import re + from datetime import datetime from sys import version_info vstring = None if version_info.major == 3 and version_info.minor >= 8: @@ -32,18 +32,7 @@ def get_version_number(): if not vstring: return 0 - vregex = re.compile(r"([0-9]+)([A-Za-z]+)(2[0-9]+)") - m = vregex.match(vstring) - - if (m): - month2num = { 'Jan' : 1, 'Feb' : 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun' : 6, - 'Jul' : 7, 'Aug' : 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec' : 12 } - try: - vernum = int(m.group(3))*10000 - vernum += month2num[m.group(2)]*100 - vernum += int(m.group(1)) - except: - exit('Failure to parse version string: %s' % verstr) - return vernum + d = datetime.strptime(vstring, "%d%b%Y") + return d.year*10000 + d.month*100 + d.day __version__ = get_version_number() From fff1c0c9a7dc5873f1ffb1bd897aebb201919265 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 20:56:33 -0500 Subject: [PATCH 120/132] rename numpy.py to numpy_wrapper.py to avoid lookup conflicts with python2.7 --- python/lammps/core.py | 2 +- python/lammps/{numpy.py => numpy_wrapper.py} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename python/lammps/{numpy.py => numpy_wrapper.py} (100%) diff --git a/python/lammps/core.py b/python/lammps/core.py index 1dc135359d..d1bc7bc138 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -416,7 +416,7 @@ class lammps(object): :rtype: numpy_wrapper """ if not self._numpy: - from .numpy import numpy_wrapper + from .numpy_wrapper import numpy_wrapper self._numpy = numpy_wrapper(self) return self._numpy diff --git a/python/lammps/numpy.py b/python/lammps/numpy_wrapper.py similarity index 100% rename from python/lammps/numpy.py rename to python/lammps/numpy_wrapper.py From 2dd3b368cd7abc16ec3950d0cc14e5bdc13a6a12 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 20:57:08 -0500 Subject: [PATCH 121/132] do not install mliap python support for python 2.x --- python/install.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/python/install.py b/python/install.py index 6765c33925..6e4c509f07 100644 --- a/python/install.py +++ b/python/install.py @@ -98,6 +98,12 @@ os.chdir(os.path.dirname(args.package)) from distutils.core import setup from distutils.sysconfig import get_python_lib import site +from sys import version_info + +if version_info.major >= 3: + pkgs = ['lammps', 'lammps.mliap'] +else: + pkgs = ['lammps'] #Arguments common to global or user install -- everything but data_files setup_kwargs= dict(name="lammps", @@ -107,7 +113,7 @@ setup_kwargs= dict(name="lammps", url="https://lammps.sandia.gov", description="LAMMPS Molecular Dynamics Python package", license="GPL", - packages=["lammps","lammps.mliap"], + packages=pkgs, ) tryuser=False From 71139ffc9c3f0c7e82e789dde04b5d0523bc08df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Feb 2021 21:34:08 -0500 Subject: [PATCH 122/132] change version strings to 10 Feb 2021 --- doc/lammps.1 | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 12cff4eeec..9351ba5636 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "9 February 2021" "2021-02-09" +.TH LAMMPS "10 February 2021" "2021-02-10" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. diff --git a/src/version.h b/src/version.h index c04929c145..84541d4456 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "9 Feb 2021" +#define LAMMPS_VERSION "10 Feb 2021" From bbb355b1f5efdf0225e6d44f1893fcdfd32e4f61 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 00:29:39 -0500 Subject: [PATCH 123/132] check error status of calls to Python and if they failed print error and terminate --- src/PYTHON/fix_python_invoke.cpp | 23 ++++++++----- src/PYTHON/fix_python_move.cpp | 55 +++++++++++++++++++++----------- 2 files changed, 51 insertions(+), 27 deletions(-) diff --git a/src/PYTHON/fix_python_invoke.cpp b/src/PYTHON/fix_python_invoke.cpp index 6fbd43cbd9..23c4197dca 100644 --- a/src/PYTHON/fix_python_invoke.cpp +++ b/src/PYTHON/fix_python_invoke.cpp @@ -17,6 +17,7 @@ #include "fix_python_invoke.h" +#include "comm.h" #include "error.h" #include "lmppython.h" #include "python_compat.h" @@ -52,14 +53,14 @@ FixPythonInvoke::FixPythonInvoke(LAMMPS *lmp, int narg, char **arg) : // get Python function PyGILState_STATE gstate = PyGILState_Ensure(); - PyObject * pyMain = PyImport_AddModule("__main__"); + PyObject *pyMain = PyImport_AddModule("__main__"); if (!pyMain) { PyGILState_Release(gstate); error->all(FLERR,"Could not initialize embedded Python"); } - char * fname = arg[5]; + char *fname = arg[5]; pFunc = PyObject_GetAttrString(pyMain, fname); if (!pFunc) { @@ -83,13 +84,16 @@ void FixPythonInvoke::end_of_step() { PyGILState_STATE gstate = PyGILState_Ensure(); - PyObject * ptr = PY_VOID_POINTER(lmp); - PyObject * arglist = Py_BuildValue("(O)", ptr); + PyObject *ptr = PY_VOID_POINTER(lmp); + PyObject *arglist = Py_BuildValue("(O)", ptr); - PyObject * result = PyEval_CallObject((PyObject*)pFunc, arglist); + PyObject *result = PyEval_CallObject((PyObject*)pFunc, arglist); Py_DECREF(arglist); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) + error->all(FLERR,"Fix python/invoke end_of_step() method failed"); } /* ---------------------------------------------------------------------- */ @@ -100,11 +104,14 @@ void FixPythonInvoke::post_force(int vflag) PyGILState_STATE gstate = PyGILState_Ensure(); - PyObject * ptr = PY_VOID_POINTER(lmp); - PyObject * arglist = Py_BuildValue("(Oi)", ptr, vflag); + PyObject *ptr = PY_VOID_POINTER(lmp); + PyObject *arglist = Py_BuildValue("(Oi)", ptr, vflag); - PyObject * result = PyEval_CallObject((PyObject*)pFunc, arglist); + PyObject *result = PyEval_CallObject((PyObject*)pFunc, arglist); Py_DECREF(arglist); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) + error->all(FLERR,"Fix python/invoke post_force() method failed"); } diff --git a/src/PYTHON/fix_python_move.cpp b/src/PYTHON/fix_python_move.cpp index 18047b794e..5425b78193 100644 --- a/src/PYTHON/fix_python_move.cpp +++ b/src/PYTHON/fix_python_move.cpp @@ -17,6 +17,7 @@ #include "fix_python_move.h" +#include "comm.h" #include "error.h" #include "lmppython.h" #include "python_compat.h" @@ -42,13 +43,13 @@ FixPythonMove::FixPythonMove(LAMMPS *lmp, int narg, char **arg) : PyGILState_STATE gstate = PyGILState_Ensure(); // add current directory to PYTHONPATH - PyObject * py_path = PySys_GetObject((char *)"path"); + PyObject *py_path = PySys_GetObject((char *)"path"); PyList_Append(py_path, PY_STRING_FROM_STRING(".")); // create integrator instance - char * full_cls_name = arg[3]; - char * lastpos = strrchr(full_cls_name, '.'); + char *full_cls_name = arg[3]; + char *lastpos = strrchr(full_cls_name, '.'); if (lastpos == nullptr) { error->all(FLERR,"Fix python/integrate requires fully qualified class name"); @@ -57,14 +58,14 @@ FixPythonMove::FixPythonMove(LAMMPS *lmp, int narg, char **arg) : size_t module_name_length = strlen(full_cls_name) - strlen(lastpos); size_t cls_name_length = strlen(lastpos)-1; - char * module_name = new char[module_name_length+1]; - char * cls_name = new char[cls_name_length+1]; + char *module_name = new char[module_name_length+1]; + char *cls_name = new char[cls_name_length+1]; strncpy(module_name, full_cls_name, module_name_length); module_name[module_name_length] = 0; strcpy(cls_name, lastpos+1); - PyObject * pModule = PyImport_ImportModule(module_name); + PyObject *pModule = PyImport_ImportModule(module_name); if (!pModule) { PyErr_Print(); PyErr_Clear(); @@ -86,9 +87,9 @@ FixPythonMove::FixPythonMove(LAMMPS *lmp, int narg, char **arg) : delete [] module_name; delete [] cls_name; - PyObject * ptr = PY_VOID_POINTER(lmp); - PyObject * arglist = Py_BuildValue("(O)", ptr); - PyObject * py_move_obj = PyObject_CallObject(py_move_type, arglist); + PyObject *ptr = PY_VOID_POINTER(lmp); + PyObject *arglist = Py_BuildValue("(O)", ptr); + PyObject *py_move_obj = PyObject_CallObject(py_move_type, arglist); Py_DECREF(arglist); if (!py_move_obj) { @@ -136,10 +137,12 @@ void FixPythonMove::init() PyErr_Print(); PyErr_Clear(); PyGILState_Release(gstate); - error->all(FLERR,"Could not find 'init' method'"); + error->all(FLERR,"Could not find 'init()' method'"); } - PyObject * result = PyEval_CallObject(py_init, nullptr); + PyObject *result = PyEval_CallObject(py_init, nullptr); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) error->all(FLERR,"Fix python/move init() method failed"); } /* ---------------------------------------------------------------------- */ @@ -155,10 +158,13 @@ void FixPythonMove::initial_integrate(int vflag) PyGILState_Release(gstate); error->all(FLERR,"Could not find 'initial_integrate' method'"); } - PyObject * arglist = Py_BuildValue("(i)", vflag); - PyObject * result = PyEval_CallObject(py_initial_integrate, arglist); + PyObject *arglist = Py_BuildValue("(i)", vflag); + PyObject *result = PyEval_CallObject(py_initial_integrate, arglist); Py_DECREF(arglist); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) error->all(FLERR,"Fix python/move initial_integrate() " + "method failed"); } /* ---------------------------------------------------------------------- */ @@ -174,8 +180,11 @@ void FixPythonMove::final_integrate() PyGILState_Release(gstate); error->all(FLERR,"Could not find 'final_integrate' method'"); } - PyObject * result = PyEval_CallObject(py_final_integrate, nullptr); + PyObject *result = PyEval_CallObject(py_final_integrate, nullptr); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) error->all(FLERR,"Fix python/move final_integrate() method " + "failed"); } /* ---------------------------------------------------------------------- */ @@ -191,10 +200,13 @@ void FixPythonMove::initial_integrate_respa(int vflag, int ilevel, int iloop) PyGILState_Release(gstate); error->all(FLERR,"Could not find 'initial_integrate_respa' method'"); } - PyObject * arglist = Py_BuildValue("(iii)", vflag, ilevel, iloop); - PyObject * result = PyEval_CallObject(py_initial_integrate_respa, arglist); + PyObject *arglist = Py_BuildValue("(iii)", vflag, ilevel, iloop); + PyObject *result = PyEval_CallObject(py_initial_integrate_respa, arglist); Py_DECREF(arglist); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) error->all(FLERR,"Fix python/move initial_integrate_respa() " + "method failed"); } /* ---------------------------------------------------------------------- */ @@ -210,10 +222,13 @@ void FixPythonMove::final_integrate_respa(int ilevel, int iloop) PyGILState_Release(gstate); error->all(FLERR,"Could not find 'final_integrate_respa' method'"); } - PyObject * arglist = Py_BuildValue("(ii)", ilevel, iloop); - PyObject * result = PyEval_CallObject(py_final_integrate_respa, arglist); + PyObject *arglist = Py_BuildValue("(ii)", ilevel, iloop); + PyObject *result = PyEval_CallObject(py_final_integrate_respa, arglist); Py_DECREF(arglist); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) error->all(FLERR,"Fix python/move final_integrate_respa() " + "method failed"); } /* ---------------------------------------------------------------------- */ @@ -229,6 +244,8 @@ void FixPythonMove::reset_dt() PyGILState_Release(gstate); error->all(FLERR,"Could not find 'reset_dt' method'"); } - PyObject * result = PyEval_CallObject(py_reset_dt, nullptr); + PyObject *result = PyEval_CallObject(py_reset_dt, nullptr); + if (!result && (comm->me == 0)) PyErr_Print(); PyGILState_Release(gstate); + if (!result) error->all(FLERR,"Fix python/move reset_dt() method failed"); } From 11341a5b6651cbdab242a6ea1a195fc3357fe55b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 08:57:14 -0500 Subject: [PATCH 124/132] enforce documented Python version requirement for MLIAP with Python --- cmake/Modules/Packages/MLIAP.cmake | 11 ++++++++++- doc/src/Packages_details.rst | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cmake/Modules/Packages/MLIAP.cmake b/cmake/Modules/Packages/MLIAP.cmake index d3f601a1e1..81bb10cb8f 100644 --- a/cmake/Modules/Packages/MLIAP.cmake +++ b/cmake/Modules/Packages/MLIAP.cmake @@ -1,7 +1,7 @@ # if PYTHON package is included we may also include Python support in MLIAP set(MLIAP_ENABLE_PYTHON_DEFAULT OFF) if(PKG_PYTHON) - find_package(Cythonize) + find_package(Cythonize QUIET) if(Cythonize_FOUND) set(MLIAP_ENABLE_PYTHON_DEFAULT ON) endif() @@ -14,6 +14,15 @@ if(MLIAP_ENABLE_PYTHON) if(NOT PKG_PYTHON) message(FATAL_ERROR "Must enable PYTHON package for including Python support in MLIAP") endif() + if(CMAKE_VERSION VERSION_LESS 3.12) + if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6) + message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later") + endif() + else() + if(Python_VERSION VERSION_LESS 3.6) + message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later") + endif() + endif() set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython) set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/MLIAP/mliap_model_python_couple.pyx) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index e044adfcb3..455df083e4 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -668,8 +668,8 @@ A general interface for machine-learning interatomic potentials, including PyTor To use this package, also the :ref:`SNAP package ` package needs to be installed. To make the *mliappy* model available, also the -:ref:`PYTHON package ` package needs to be installed, the version of -Python must be 3.6 or later, and the `cython `_ software +:ref:`PYTHON package ` package needs to be installed, the version +of Python must be 3.6 or later, and the `cython `_ software must be installed. **Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL). From 761527e5634e9b240801b645ec4efb64d68c5427 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Wed, 10 Feb 2021 09:55:28 -0700 Subject: [PATCH 125/132] clarified Voigt ordering and non-Voigt ordering for virial[6] --- doc/src/compute_pressure.rst | 7 +++++-- doc/src/compute_stress_atom.rst | 5 +++++ src/angle.h | 2 +- src/bond.h | 2 +- src/compute_pressure.h | 2 +- src/dihedral.h | 2 +- src/domain.h | 1 + src/improper.h | 2 +- src/kspace.h | 2 +- src/pair.h | 2 +- 10 files changed, 18 insertions(+), 9 deletions(-) diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index b89d17bc5a..f69f70daba 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -122,8 +122,11 @@ Output info This compute calculates a global scalar (the pressure) and a global vector of length 6 (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 ` doc page for an overview of LAMMPS output -options. +or vector values from a compute as input. See the :doc:`Howto output +` doc page for an overview of LAMMPS output options. + +The ordering of values in the symmetric pressure tensor is as follows: +pxx, pyy, pzz, pxy, pxz, pyz. The scalar and vector values calculated by this compute are "intensive". The scalar and vector values will be in pressure diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index 08f1c5f1ba..393d3b2ffb 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -216,6 +216,11 @@ an identical manner to compute *stress/atom*. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. +The ordering of the 6 columns for *stress/atom* is as follows: xx, yy, +zz, xy, xz, yz. The ordering of the 9 columns for +*centroid/stress/atom* is as follows: xx, yy, zz, xy, xz, yz, yx, zx, +zy. + The per-atom array values will be in pressure\*volume :doc:`units ` as discussed above. diff --git a/src/angle.h b/src/angle.h index ffed437743..c8af8202f0 100644 --- a/src/angle.h +++ b/src/angle.h @@ -26,7 +26,7 @@ class Angle : protected Pointers { int *setflag; int writedata; // 1 if writes coeffs to data file double energy; // accumulated energies - double virial[6]; // accumulated virial + double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom,**vatom; // accumulated per-atom energy/virial double **cvatom; // accumulated per-atom centroid virial diff --git a/src/bond.h b/src/bond.h index 5406aa3f02..74f38ad455 100644 --- a/src/bond.h +++ b/src/bond.h @@ -26,7 +26,7 @@ class Bond : protected Pointers { int *setflag; int writedata; // 1 if writes coeffs to data file double energy; // accumulated energies - double virial[6]; // accumulated virial + double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom,**vatom; // accumulated per-atom energy/virial int reinitflag; // 1 if compatible with fix adapt and alike diff --git a/src/compute_pressure.h b/src/compute_pressure.h index 8d0ec4aa04..235ccbe1eb 100644 --- a/src/compute_pressure.h +++ b/src/compute_pressure.h @@ -40,7 +40,7 @@ class ComputePressure : public Compute { double *kspace_virial; Compute *temperature; char *id_temp; - double virial[6]; + double virial[6]; // ordering: xx,yy,zz,xy,xz,yz int pairhybridflag; class Pair *pairhybrid; int keflag,pairflag,bondflag,angleflag,dihedralflag,improperflag; diff --git a/src/dihedral.h b/src/dihedral.h index c571a74dd4..c7fd459f1e 100644 --- a/src/dihedral.h +++ b/src/dihedral.h @@ -26,7 +26,7 @@ class Dihedral : protected Pointers { int *setflag; int writedata; // 1 if writes coeffs to data file double energy; // accumulated energy - double virial[6]; // accumulated virial + double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom,**vatom; // accumulated per-atom energy/virial double **cvatom; // accumulated per-atom centroid virial diff --git a/src/domain.h b/src/domain.h index d807463bf3..12a5558594 100644 --- a/src/domain.h +++ b/src/domain.h @@ -76,6 +76,7 @@ class Domain : protected Pointers { // triclinic box double xy,xz,yz; // 3 tilt factors double h[6],h_inv[6]; // shape matrix in Voigt notation + // Voigt = xx,yy,zz,yz,xz,xy double h_rate[6],h_ratelo[3]; // rate of box size/shape change int box_change; // 1 if any of next 3 flags are set, else 0 diff --git a/src/improper.h b/src/improper.h index 9e73be931c..1b3c9b6786 100644 --- a/src/improper.h +++ b/src/improper.h @@ -26,7 +26,7 @@ class Improper : protected Pointers { int *setflag; int writedata; // 1 if writes coeffs to data file double energy; // accumulated energies - double virial[6]; // accumulated virial + double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom,**vatom; // accumulated per-atom energy/virial double **cvatom; // accumulated per-atom centroid virial diff --git a/src/kspace.h b/src/kspace.h index 978daeace1..4777963d8a 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -32,7 +32,7 @@ class KSpace : protected Pointers { public: double energy; // accumulated energies double energy_1,energy_6; - double virial[6]; // accumulated virial + double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom,**vatom; // accumulated per-atom energy/virial double e2group; // accumulated group-group energy double f2group[3]; // accumulated group-group force diff --git a/src/pair.h b/src/pair.h index 5801941458..9bca64fbf3 100644 --- a/src/pair.h +++ b/src/pair.h @@ -35,7 +35,7 @@ class Pair : protected Pointers { static int instance_total; // # of Pair classes ever instantiated double eng_vdwl,eng_coul; // accumulated energies - double virial[6]; // accumulated virial + double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom,**vatom; // accumulated per-atom energy/virial double **cvatom; // accumulated per-atom centroid virial From 5fecd9ed72b4fdd031f4c44ca19f154d8a58ba3f Mon Sep 17 00:00:00 2001 From: Plimpton Date: Wed, 10 Feb 2021 09:58:53 -0700 Subject: [PATCH 126/132] more Voigt clarifications --- src/atom_vec_tri.cpp | 2 +- src/domain.h | 2 +- src/math_extra.cpp | 8 ++++---- src/math_extra.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index e9477a7d41..44a0986cb8 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -539,7 +539,7 @@ void AtomVecTri::data_atom_bonus(int m, char **values) double area = 0.5 * MathExtra::len3(norm); rmass[m] *= area; - // inertia = inertia tensor of triangle as 6-vector in Voigt notation + // inertia = inertia tensor of triangle as 6-vector in Voigt ordering double inertia[6]; MathExtra::inertia_triangle(c1,c2,c3,rmass[m],inertia); diff --git a/src/domain.h b/src/domain.h index 12a5558594..c3ea9e2bea 100644 --- a/src/domain.h +++ b/src/domain.h @@ -75,7 +75,7 @@ class Domain : protected Pointers { // triclinic box double xy,xz,yz; // 3 tilt factors - double h[6],h_inv[6]; // shape matrix in Voigt notation + double h[6],h_inv[6]; // shape matrix in Voigt ordering // Voigt = xx,yy,zz,yz,xz,xy double h_rate[6],h_ratelo[3]; // rate of box size/shape change diff --git a/src/math_extra.cpp b/src/math_extra.cpp index 2116324494..df74ad5be2 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -396,7 +396,7 @@ void quat_to_mat_trans(const double *quat, double mat[3][3]) compute space-frame inertia tensor of an ellipsoid radii = 3 radii of ellipsoid quat = orientiation quaternion of ellipsoid - return symmetric inertia tensor as 6-vector in Voigt notation + return symmetric inertia tensor as 6-vector in Voigt ordering ------------------------------------------------------------------------- */ void inertia_ellipsoid(double *radii, double *quat, double mass, @@ -424,7 +424,7 @@ void inertia_ellipsoid(double *radii, double *quat, double mass, compute space-frame inertia tensor of a line segment in 2d length = length of line theta = orientiation of line - return symmetric inertia tensor as 6-vector in Voigt notation + return symmetric inertia tensor as 6-vector in Voigt ordering ------------------------------------------------------------------------- */ void inertia_line(double length, double theta, double mass, double *inertia) @@ -462,7 +462,7 @@ void inertia_line(double length, double theta, double mass, double *inertia) S = 1/24 [2 1 1] [1 2 1] [1 1 2] - return symmetric inertia tensor as 6-vector in Voigt notation + return symmetric inertia tensor as 6-vector in Voigt ordering ------------------------------------------------------------------------- */ void inertia_triangle(double *v0, double *v1, double *v2, @@ -503,7 +503,7 @@ void inertia_triangle(double *v0, double *v1, double *v2, compute space-frame inertia tensor of a triangle idiag = previously computed diagonal inertia tensor quat = orientiation quaternion of triangle - return symmetric inertia tensor as 6-vector in Voigt notation + return symmetric inertia tensor as 6-vector in Voigt ordering ------------------------------------------------------------------------- */ void inertia_triangle(double *idiag, double *quat, double /*mass*/, diff --git a/src/math_extra.h b/src/math_extra.h index 390538efdb..767ae3f531 100644 --- a/src/math_extra.h +++ b/src/math_extra.h @@ -95,7 +95,7 @@ namespace MathExtra { double dt); // shape matrix operations - // upper-triangular 3x3 matrix stored in Voigt notation as 6-vector + // upper-triangular 3x3 matrix stored in Voigt ordering as 6-vector inline void multiply_shape_shape(const double *one, const double *two, double *ans); @@ -593,7 +593,7 @@ inline void MathExtra::scalar_times3(const double f, double m[3][3]) /* ---------------------------------------------------------------------- multiply 2 shape matrices - upper-triangular 3x3, stored as 6-vector in Voigt notation + upper-triangular 3x3, stored as 6-vector in Voigt ordering ------------------------------------------------------------------------- */ inline void MathExtra::multiply_shape_shape(const double *one, From 006de01c053c29250d12a3aa5c0668bd25c136f6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 12:20:04 -0500 Subject: [PATCH 127/132] update false positives list for spell checking --- doc/utils/sphinx-config/false_positives.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 13282ebe9c..9937a98850 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2540,6 +2540,8 @@ Px pxx Pxx Pxy +pxy +pxz py Py pydir @@ -2551,10 +2553,13 @@ pymol pypar pythonic pytorch +pyy Pyy +pyz pz Pz Pzz +pzz qbmsst qcore qdist From 95a4ac157b46f847aef1ed80b0429d849ed8aca7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 14:27:17 -0500 Subject: [PATCH 128/132] update a few more comments --- src/fix_box_relax.cpp | 2 +- src/fix_nh.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fix_box_relax.cpp b/src/fix_box_relax.cpp index 0200f8ed03..ef3032fe0c 100644 --- a/src/fix_box_relax.cpp +++ b/src/fix_box_relax.cpp @@ -738,7 +738,7 @@ void FixBoxRelax::couple() if (!std::isfinite(p_current[0]) || !std::isfinite(p_current[1]) || !std::isfinite(p_current[2])) error->all(FLERR,"Non-numeric pressure - simulation unstable"); - // switch order from xy-xz-yz to Voigt + // switch order from xy-xz-yz to Voigt ordering if (pstyle == TRICLINIC) { p_current[3] = tensor[5]; diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index d1a2cb1463..46afe7b2d7 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -1063,7 +1063,7 @@ void FixNH::couple() if (!std::isfinite(p_current[0]) || !std::isfinite(p_current[1]) || !std::isfinite(p_current[2])) error->all(FLERR,"Non-numeric pressure - simulation unstable"); - // switch order from xy-xz-yz to Voigt + // switch order from xy-xz-yz to Voigt ordering if (pstyle == TRICLINIC) { p_current[3] = tensor[5]; @@ -1118,7 +1118,7 @@ void FixNH::remap() // h_dot = omega_dot * h // // where h_dot, omega_dot and h are all upper-triangular - // 3x3 tensors. In Voigt notation, the elements of the + // 3x3 tensors. In Voigt ordering, the elements of the // RHS product tensor are: // h_dot = [0*0, 1*1, 2*2, 1*3+3*2, 0*4+5*3+4*2, 0*5+5*1] // From f8a5991416ddcc2a4b8622c6ab7657b2d9c11cf1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 17:09:56 -0500 Subject: [PATCH 129/132] rearrange output a little bit --- src/citeme.cpp | 52 ++++++++++++++++++++------------------------------ 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/src/citeme.cpp b/src/citeme.cpp index a3bbef2f3c..fdd1ee867d 100644 --- a/src/citeme.cpp +++ b/src/citeme.cpp @@ -18,21 +18,13 @@ using namespace LAMMPS_NS; static const char cite_separator[] = - "\nCITE-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 LAMMPS simulation uses code contributions which should be cited.\n" - "Please see https://lammps.sandia.gov/doc/Intro_citing.html for more\n" - "information on citing LAMMPS itself.\n"; + "Your simulation uses code contributions which should be cited:\n"; -static const char cite_short[] = - "A short list of the features is given below.\n\n"; - -static const char cite_full[] = - "Below is a list of the full references in BibTeX format.\n\n"; - -static const char cite_file[] = "Please see the {} {} " - "for detailed references in BibTeX format.\n"; +static const char cite_file[] = "The {} {} lists these citations in " + "BibTeX format.\n\n"; /* ---------------------------------------------------------------------- */ @@ -52,7 +44,6 @@ CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) fp = fopen(_file,"w"); if (fp) { fputs(cite_nagline,fp); - fputs(cite_full,fp); fflush(fp); } else { utils::logmesg(lmp, "Unable to open citation file '" + citefile @@ -89,46 +80,45 @@ void CiteMe::add(const char *ref) } if (scrbuffer.empty()) { + scrbuffer += "\n"; scrbuffer += cite_separator; scrbuffer += cite_nagline; - if (!citefile.empty()) scrbuffer += fmt::format(cite_file,"file",citefile); - if (screen_flag == VERBOSE) scrbuffer += cite_full; - if (screen_flag == TERSE) { - if (logfile_flag == VERBOSE) - scrbuffer += fmt::format(cite_file,"log","file"); - scrbuffer += cite_short; - } + if (screen_flag == VERBOSE) scrbuffer += "\n"; } + if (logbuffer.empty()) { + logbuffer += "\n"; logbuffer += cite_separator; logbuffer += cite_nagline; - if (!citefile.empty()) logbuffer += fmt::format(cite_file,"file",citefile); - if (logfile_flag == VERBOSE) logbuffer += cite_full; - if (logfile_flag == TERSE) { - if (screen_flag == VERBOSE) - scrbuffer += fmt::format(cite_file,"screen","output"); - logbuffer += cite_short; - } + if (logfile_flag == VERBOSE) logbuffer += "\n"; } std::string reference = ref; std::size_t found = reference.find_first_of("\n"); 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; - if (logfile_flag == TERSE) logbuffer += header; + if (screen_flag == VERBOSE) scrbuffer += "- " + reference; + if (screen_flag == TERSE) scrbuffer += "- " + header; + if (logfile_flag == VERBOSE) logbuffer += "- " + reference; + if (logfile_flag == TERSE) logbuffer += "- " + header; } 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"); scrbuffer += cite_separator; 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) + scrbuffer += fmt::format(cite_file,"screen","output"); logbuffer += cite_separator; if (logfile) fputs(logbuffer.c_str(),logfile); logbuffer.clear(); From cb7e68644fe1a9e9500c7e0b748a7c5cccb06a90 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Wed, 10 Feb 2021 16:21:25 -0700 Subject: [PATCH 130/132] fix issues with multiple uses of create_bonds command --- doc/src/create_bonds.rst | 10 ++++++++++ src/create_bonds.cpp | 2 +- src/neigh_request.cpp | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/src/create_bonds.rst b/doc/src/create_bonds.rst index b69fd909f0..056b60c7aa 100644 --- a/doc/src/create_bonds.rst +++ b/doc/src/create_bonds.rst @@ -125,6 +125,16 @@ cannot appear in the neighbor list, to avoid creation of duplicate bonds. The neighbor list for all atom type pairs must also extend to a distance that encompasses the *rmax* for new bonds to create. +.. note:: + + If you want to create bonds between pairs of 1-3 or 1-4 atoms in + the current bond topology, then you need to use :doc:`special_bonds + lj 0 1 1 ` to insure those pairs appear in the + neighbor list. They will not appear with the default special_bonds + settings which are zero for 1-2, 1-3, and 1-4 atoms. 1-3 or 1-4 + atoms are those which are 2 hops or 3 hops apart in the bond + topology. + An additional requirement for this style is that your system must be ready to perform a simulation. This means, for example, that all :doc:`pair_style ` coefficients be set via the diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index 7ee17bcfcc..e5274d2cf8 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -233,7 +233,7 @@ void CreateBonds::many() // build neighbor list this command needs based on earlier request NeighList *list = neighbor->lists[irequest]; - neighbor->build_one(list); + neighbor->build_one(list,1); // loop over all neighs of each atom // compute distance between two atoms consistently on both procs diff --git a/src/neigh_request.cpp b/src/neigh_request.cpp index 0d4818fbe1..2339783d14 100644 --- a/src/neigh_request.cpp +++ b/src/neigh_request.cpp @@ -225,6 +225,8 @@ void NeighRequest::copy_request(NeighRequest *other, int skipflag) int i,j; int ntypes = atom->ntypes; + skip = other->skip; + if (other->iskip) { iskip = new int[ntypes+1]; for (i = 1; i <= ntypes; i++) From 697f82c145694b21944fab0f4075a461fbe09962 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 18:40:25 -0500 Subject: [PATCH 131/132] whitespace --- src/neigh_request.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/neigh_request.cpp b/src/neigh_request.cpp index 2339783d14..8c8168952e 100644 --- a/src/neigh_request.cpp +++ b/src/neigh_request.cpp @@ -226,7 +226,7 @@ void NeighRequest::copy_request(NeighRequest *other, int skipflag) int ntypes = atom->ntypes; skip = other->skip; - + if (other->iskip) { iskip = new int[ntypes+1]; for (i = 1; i <= ntypes; i++) From 5c415a1ba39073c37dfdebf13eeb4c355b52e231 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Feb 2021 20:14:19 -0500 Subject: [PATCH 132/132] use neighbor->nrequest to be safer, since neighbor->nlist may be larger --- src/USER-INTEL/npair_skip_intel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/USER-INTEL/npair_skip_intel.cpp b/src/USER-INTEL/npair_skip_intel.cpp index 4f6648ddc1..53900f116f 100644 --- a/src/USER-INTEL/npair_skip_intel.cpp +++ b/src/USER-INTEL/npair_skip_intel.cpp @@ -55,8 +55,8 @@ void NPairSkipIntel::copy_neighbor_info() { NPair::copy_neighbor_info(); if (_full_props) delete []_full_props; - _full_props = new int[neighbor->nlist]; - for (int i = 0; i < neighbor->nlist; i++) + _full_props = new int[neighbor->nrequest]; + for (int i = 0; i < neighbor->nrequest; i++) _full_props[i] = neighbor->requests[i]->full; }