From ea9c1002fed3261274eeac0769b165a2f27fcea2 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 11 Oct 2019 17:51:19 -0600 Subject: [PATCH 001/153] Created placeholders for ComputeGrid and ComputeSNAGrid classes --- src/compute_grid.cpp | 186 ++++++++++++++++++++++++++ src/compute_grid.h | 69 ++++++++++ src/compute_sna_grid.cpp | 277 +++++++++++++++++++++++++++++++++++++++ src/compute_sna_grid.h | 75 +++++++++++ 4 files changed, 607 insertions(+) create mode 100644 src/compute_grid.cpp create mode 100644 src/compute_grid.h create mode 100644 src/compute_sna_grid.cpp create mode 100644 src/compute_sna_grid.h diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp new file mode 100644 index 0000000000..c67d72160b --- /dev/null +++ b/src/compute_grid.cpp @@ -0,0 +1,186 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_grid.h" +#include +#include +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "domain.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +enum{ONCE,NFREQ,EVERY}; + +/* ---------------------------------------------------------------------- */ + +ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), + idchunk(NULL), masstotal(NULL), massproc(NULL), com(NULL), comall(NULL) +{ + if (narg != 4) error->all(FLERR,"Illegal compute com/chunk command"); + + array_flag = 1; + size_array_cols = 3; + size_array_rows = 0; + size_array_rows_variable = 1; + extarray = 0; + + // ID of compute chunk/atom + + int n = strlen(arg[3]) + 1; + idchunk = new char[n]; + strcpy(idchunk,arg[3]); + + init(); + + // chunk-based data + + nchunk = 1; + maxchunk = 0; + allocate(); + + firstflag = massneed = 1; +} + +/* ---------------------------------------------------------------------- */ + +ComputeGrid::~ComputeGrid() +{ + delete [] idchunk; + memory->destroy(massproc); + memory->destroy(masstotal); + memory->destroy(com); + memory->destroy(comall); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeGrid::init() +{ + int icompute = modify->find_compute(idchunk); + if (icompute < 0) + error->all(FLERR,"Chunk/atom compute does not exist for compute com/chunk"); + cchunk = (ComputeChunkAtom *) modify->compute[icompute]; + if (strcmp(cchunk->style,"chunk/atom") != 0) + error->all(FLERR,"Compute com/chunk does not use chunk/atom compute"); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeGrid::setup() +{ + // one-time calculation of per-chunk mass + // done in setup, so that ComputeChunkAtom::setup() is already called + + if (firstflag && cchunk->idsflag == ONCE) { + compute_array(); + firstflag = massneed = 0; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputeGrid::compute_array() +{ + int index; + double massone; + double unwrap[3]; + + invoked_array = update->ntimestep; + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + int *ichunk = cchunk->ichunk; + + if (nchunk > maxchunk) allocate(); + size_array_rows = nchunk; + + // zero local per-chunk values + + for (int i = 0; i < nchunk; i++) + com[i][0] = com[i][1] = com[i][2] = 0.0; + if (massneed) + for (int i = 0; i < nchunk; i++) massproc[i] = 0.0; + + // compute COM for each chunk + + double **x = atom->x; + int *mask = atom->mask; + int *type = atom->type; + imageint *image = atom->image; + double *mass = atom->mass; + double *rmass = atom->rmass; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + index = ichunk[i]-1; + if (index < 0) continue; + if (rmass) massone = rmass[i]; + else massone = mass[type[i]]; + domain->unmap(x[i],image[i],unwrap); + com[index][0] += unwrap[0] * massone; + com[index][1] += unwrap[1] * massone; + com[index][2] += unwrap[2] * massone; + if (massneed) massproc[index] += massone; + } + + MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + if (massneed) + MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); + + for (int i = 0; i < nchunk; i++) { + if (masstotal[i] > 0.0) { + comall[i][0] /= masstotal[i]; + comall[i][1] /= masstotal[i]; + comall[i][2] /= masstotal[i]; + } else comall[i][0] = comall[i][1] = comall[i][2] = 0.0; + } +} + +/* ---------------------------------------------------------------------- + free and reallocate per-chunk arrays +------------------------------------------------------------------------- */ + +void ComputeGrid::allocate() +{ + memory->destroy(massproc); + memory->destroy(masstotal); + memory->destroy(com); + memory->destroy(comall); + maxchunk = nchunk; + memory->create(massproc,maxchunk,"com/chunk:massproc"); + memory->create(masstotal,maxchunk,"com/chunk:masstotal"); + memory->create(com,maxchunk,3,"com/chunk:com"); + memory->create(comall,maxchunk,3,"com/chunk:comall"); + array = comall; +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double ComputeGrid::memory_usage() +{ + double bytes = (bigint) maxchunk * 2 * sizeof(double); + bytes += (bigint) maxchunk * 2*3 * sizeof(double); + return bytes; +} diff --git a/src/compute_grid.h b/src/compute_grid.h new file mode 100644 index 0000000000..cece7050de --- /dev/null +++ b/src/compute_grid.h @@ -0,0 +1,69 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(grid,ComputeGrid) + +#else + +#ifndef LMP_COMPUTE_GRID_H +#define LMP_COMPUTE_GRID_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeGrid : public Compute { + public: + char *idchunk; // fields accessed by other classes + double *masstotal; + + ComputeGrid(class LAMMPS *, int, char **); + ~ComputeGrid(); + void init(); + void setup(); + void compute_array(); + + void lock_enable(); + void lock_disable(); + int lock_length(); + void lock(class Fix *, bigint, bigint); + void unlock(class Fix *); + + double memory_usage(); + + private: + int nchunk,maxchunk; + int firstflag,massneed; + + double *massproc; + double **com,**comall; + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/compute_sna_grid.cpp b/src/compute_sna_grid.cpp new file mode 100644 index 0000000000..58f7e9fc38 --- /dev/null +++ b/src/compute_sna_grid.cpp @@ -0,0 +1,277 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_sna_grid.h" +#include +#include +#include "sna.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "force.h" +#include "pair.h" +#include "comm.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), cutsq(NULL), list(NULL), sna(NULL), + radelem(NULL), wjelem(NULL) +{ + double rmin0, rfac0; + int twojmax, switchflag, bzeroflag; + radelem = NULL; + wjelem = NULL; + + int ntypes = atom->ntypes; + int nargmin = 6+2*ntypes; + + if (narg < nargmin) error->all(FLERR,"Illegal compute sna/grid command"); + + // default values + + rmin0 = 0.0; + switchflag = 1; + bzeroflag = 1; + quadraticflag = 0; + + // offset by 1 to match up with types + + memory->create(radelem,ntypes+1,"sna/grid:radelem"); + memory->create(wjelem,ntypes+1,"sna/grid:wjelem"); + + rcutfac = atof(arg[3]); + rfac0 = atof(arg[4]); + twojmax = atoi(arg[5]); + + for(int i = 0; i < ntypes; i++) + radelem[i+1] = atof(arg[6+i]); + for(int i = 0; i < ntypes; i++) + wjelem[i+1] = atof(arg[6+ntypes+i]); + + // construct cutsq + + double cut; + cutmax = 0.0; + memory->create(cutsq,ntypes+1,ntypes+1,"sna/grid:cutsq"); + for(int i = 1; i <= ntypes; i++) { + cut = 2.0*radelem[i]*rcutfac; + if (cut > cutmax) cutmax = cut; + cutsq[i][i] = cut*cut; + for(int j = i+1; j <= ntypes; j++) { + cut = (radelem[i]+radelem[j])*rcutfac; + cutsq[i][j] = cutsq[j][i] = cut*cut; + } + } + + // process optional args + + int iarg = nargmin; + + while (iarg < narg) { + if (strcmp(arg[iarg],"rmin0") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + rmin0 = atof(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"switchflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + switchflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"bzeroflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + bzeroflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"quadraticflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + quadraticflag = atoi(arg[iarg+1]); + iarg += 2; + } else error->all(FLERR,"Illegal compute sna/grid command"); + } + + snaptr = new SNA(lmp,rfac0,twojmax, + rmin0,switchflag,bzeroflag); + + ncoeff = snaptr->ncoeff; + size_peratom_cols = ncoeff; + if (quadraticflag) size_peratom_cols += (ncoeff*(ncoeff+1))/2; + peratom_flag = 1; + + nmax = 0; + sna = NULL; +} + +/* ---------------------------------------------------------------------- */ + +ComputeSNAGrid::~ComputeSNAGrid() +{ + memory->destroy(sna); + memory->destroy(radelem); + memory->destroy(wjelem); + memory->destroy(cutsq); + delete snaptr; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSNAGrid::init() +{ + if (force->pair == NULL) + error->all(FLERR,"Compute sna/grid requires a pair style be defined"); + + if (cutmax > force->pair->cutforce) + error->all(FLERR,"Compute sna/grid cutoff is longer than pairwise cutoff"); + + // need an occasional full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->compute = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->occasional = 1; + + int count = 0; + for (int i = 0; i < modify->ncompute; i++) + if (strcmp(modify->compute[i]->style,"sna/grid") == 0) count++; + if (count > 1 && comm->me == 0) + error->warning(FLERR,"More than one compute sna/grid"); + snaptr->init(); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSNAGrid::init_list(int /*id*/, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSNAGrid::compute_pergrid() +{ + invoked_peratom = update->ntimestep; + + // grow sna array if necessary + + if (atom->nmax > nmax) { + memory->destroy(sna); + nmax = atom->nmax; + memory->create(sna,nmax,size_peratom_cols,"sna/grid:sna"); + array_atom = sna; + } + + // invoke full neighbor list (will copy or build if necessary) + + neighbor->build_one(list); + + const int inum = list->inum; + const int* const ilist = list->ilist; + const int* const numneigh = list->numneigh; + int** const firstneigh = list->firstneigh; + int * const type = atom->type; + + // compute sna for each atom in group + // use full neighbor list to count atoms less than cutoff + + double** const x = atom->x; + const int* const mask = atom->mask; + + for (int ii = 0; ii < inum; ii++) { + const int i = ilist[ii]; + if (mask[i] & groupbit) { + + const double xtmp = x[i][0]; + const double ytmp = x[i][1]; + const double ztmp = x[i][2]; + const int itype = type[i]; + const double radi = radelem[itype]; + const int* const jlist = firstneigh[i]; + const int jnum = numneigh[i]; + + // insure rij, inside, and typej are of size jnum + + snaptr->grow_rij(jnum); + + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff + + int ninside = 0; + for (int jj = 0; jj < jnum; jj++) { + int j = jlist[jj]; + j &= NEIGHMASK; + + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + if (rsq < cutsq[itype][jtype] && rsq>1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = (radi+radelem[jtype])*rcutfac; + ninside++; + } + } + + snaptr->compute_ui(ninside); + snaptr->compute_zi(); + snaptr->compute_bi(); + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + sna[i][icoeff] = snaptr->blist[icoeff]; + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bi = snaptr->blist[icoeff]; + + // diagonal element of quadratic matrix + + sna[i][ncount++] = 0.5*bi*bi; + + // upper-triangular elements of quadratic matrix + + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + sna[i][ncount++] = bi*snaptr->blist[jcoeff]; + } + } + } else { + for (int icoeff = 0; icoeff < size_peratom_cols; icoeff++) + sna[i][icoeff] = 0.0; + } + } +} + +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ + +double ComputeSNAGrid::memory_usage() +{ + double bytes = nmax*size_peratom_cols * sizeof(double); // sna + bytes += snaptr->memory_usage(); // SNA object + + return bytes; +} + diff --git a/src/compute_sna_grid.h b/src/compute_sna_grid.h new file mode 100644 index 0000000000..f85d9679cc --- /dev/null +++ b/src/compute_sna_grid.h @@ -0,0 +1,75 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(sna/grid,ComputeSNAGrid) + +#else + +#ifndef LMP_COMPUTE_SNA_GRID_H +#define LMP_COMPUTE_SNA_GRID_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeSNAGrid : public Compute { + public: + ComputeSNAGrid(class LAMMPS *, int, char **); + ~ComputeSNAGrid(); + void init(); + void init_list(int, class NeighList *); + void compute_grid(); + double memory_usage(); + + private: + int nmax; + int ncoeff; + double **cutsq; + class NeighList *list; + double **sna; + double rcutfac; + double *radelem; + double *wjelem; + class SNA* snaptr; + double cutmax; + int quadraticflag; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Compute sna/grid requires a pair style be defined + +Self-explanatory. + +E: Compute sna/grid cutoff is longer than pairwise cutoff + +Self-explanatory. + +W: More than one compute sna/grid + +Self-explanatory. + +*/ From 762ecf8f0e5bb8fb146bb7ef42bd80e9a4e7f9e1 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sat, 19 Oct 2019 17:03:19 -0600 Subject: [PATCH 002/153] Completed serial version with PBC, but incorrect --- src/compute_grid.cpp | 255 +++++++++++++++++++++++---------------- src/compute_grid.h | 45 ++++--- src/compute_sna_grid.cpp | 166 +++++++++++++------------ src/compute_sna_grid.h | 8 +- 4 files changed, 266 insertions(+), 208 deletions(-) diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index c67d72160b..d8c7eb3697 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -18,169 +18,218 @@ #include "update.h" #include "modify.h" #include "domain.h" +#include "force.h" #include "memory.h" #include "error.h" using namespace LAMMPS_NS; -enum{ONCE,NFREQ,EVERY}; - /* ---------------------------------------------------------------------- */ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(NULL), masstotal(NULL), massproc(NULL), com(NULL), comall(NULL) + Compute(lmp, narg, arg) { - if (narg != 4) error->all(FLERR,"Illegal compute com/chunk command"); + if (narg < 6) error->all(FLERR,"Illegal compute grid command"); array_flag = 1; - size_array_cols = 3; + size_array_cols = 0; size_array_rows = 0; - size_array_rows_variable = 1; - extarray = 0; + extarray = 1; - // ID of compute chunk/atom + int iarg0 = 3; + int iarg = iarg0; + if (strcmp(arg[iarg],"grid") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal compute grid command"); + nx = force->inumeric(FLERR,arg[iarg+1]); + ny = force->inumeric(FLERR,arg[iarg+2]); + nz = force->inumeric(FLERR,arg[iarg+3]); + if (nx <= 0 || ny <= 0 || nz <= 0) + error->all(FLERR,"All grid dimensions must be positive"); + iarg += 4; + } else error->all(FLERR,"Illegal compute grid command"); - int n = strlen(arg[3]) + 1; - idchunk = new char[n]; - strcpy(idchunk,arg[3]); + nargbase = iarg - iarg0; - init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); - - firstflag = massneed = 1; + size_array_rows = nx*ny*nz; } /* ---------------------------------------------------------------------- */ ComputeGrid::~ComputeGrid() { - delete [] idchunk; - memory->destroy(massproc); - memory->destroy(masstotal); - memory->destroy(com); - memory->destroy(comall); } /* ---------------------------------------------------------------------- */ void ComputeGrid::init() { - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for compute com/chunk"); - cchunk = (ComputeChunkAtom *) modify->compute[icompute]; - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute com/chunk does not use chunk/atom compute"); } /* ---------------------------------------------------------------------- */ void ComputeGrid::setup() { - // one-time calculation of per-chunk mass - // done in setup, so that ComputeChunkAtom::setup() is already called + + // calculate grid layout - if (firstflag && cchunk->idsflag == ONCE) { - compute_array(); - firstflag = massneed = 0; + triclinic = domain->triclinic; + + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; } + + double xprd = prd[0]; + double yprd = prd[1]; + double zprd = prd[2]; + + delxinv = nx/xprd; + delyinv = ny/yprd; + delzinv = nz/zprd; + + delx = 1.0/delxinv; + dely = 1.0/delyinv; + delz = 1.0/delzinv; + + // sufficient conditions for stencil bounding rcut + + // require |delz*mz|^2 <= rcut^2 + // require |dely*my|^2 <= rcut^2 + |delyz*mz_max|^2 + // require |delx*mx|^2 <= rcut^2 + |delxz*mz_max|^2 + |delxy*my_max|^2 + + double delxy = domain->xy/ny; + double delxz = domain->xz/nz; + double delyz = domain->yz/nz; + + if (!triclinic) { + mz = cutmax*delzinv + 1; + my = sqrt(cutmax*cutmax + pow(delyz*mz,2))*delyinv + 1; + mx = sqrt(cutmax*cutmax + pow(delxz*mz,2) + + pow(delxy*my,2))*delxinv + 1; + } else { + double delxinvtmp = nx/domain->xprd; + double delyinvtmp = ny/domain->yprd; + double delzinvtmp = nz/domain->zprd; + mz = cutmax*delzinvtmp + 1; + my = sqrt(cutmax*cutmax + pow(delyz*mz,2))*delyinvtmp + 1; + mx = sqrt(cutmax*cutmax + pow(delxz*mz,2) + + pow(delxy*my,2))*delxinvtmp + 1; + } + + printf("mx = %d\n",mx); + printf("my = %d\n",my); + printf("mz = %d\n",mz); + + // size global grid to accomodate periodic interactions + + nxfull = nx + 2*mx; + nyfull = ny + 2*my; + nzfull = nz + 2*mz; + nxyfull = nxfull * nyfull; + + printf("nxfull = %d\n",nxfull); + printf("nyfull = %d\n",nyfull); + printf("nzfull = %d\n",nzfull); + + x0full = boxlo[0] - mx*delx; + y0full = boxlo[1] - my*dely; + z0full = boxlo[2] - mz*delz; + + allocate(); } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + convert grid index to box coords +------------------------------------------------------------------------- */ -void ComputeGrid::compute_array() +void ComputeGrid::igridfull2x(int igrid, double *x) { - int index; - double massone; - double unwrap[3]; + int iz = igrid / nxyfull; + igrid -= iz*nxyfull; + int iy = igrid / nxfull; + igrid -= igrid*nxfull; + int ix = igrid; - invoked_array = update->ntimestep; + x[0] = x0full+ix*delx; + x[1] = y0full+iy*dely; + x[2] = z0full+iz*delz; - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + if (triclinic) domain->lamda2x(x, x); - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); - int *ichunk = cchunk->ichunk; +} - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; +/* ---------------------------------------------------------------------- + gather global array from full grid +------------------------------------------------------------------------- */ - // zero local per-chunk values +void ComputeGrid::gather_global_array() +{ + int iarray; + memset(&array[0][0],0,size_array_rows*size_array_cols*sizeof(double)); - for (int i = 0; i < nchunk; i++) - com[i][0] = com[i][1] = com[i][2] = 0.0; - if (massneed) - for (int i = 0; i < nchunk; i++) massproc[i] = 0.0; + for (int igrid = 0; igrid < ngridfull; igrid++) { - // compute COM for each chunk + // inefficient, should exploit shared ix structure - double **x = atom->x; - int *mask = atom->mask; - int *type = atom->type; - imageint *image = atom->image; - double *mass = atom->mass; - double *rmass = atom->rmass; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - index = ichunk[i]-1; - if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); - com[index][0] += unwrap[0] * massone; - com[index][1] += unwrap[1] * massone; - com[index][2] += unwrap[2] * massone; - if (massneed) massproc[index] += massone; - } - - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); - if (massneed) - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - - for (int i = 0; i < nchunk; i++) { - if (masstotal[i] > 0.0) { - comall[i][0] /= masstotal[i]; - comall[i][1] /= masstotal[i]; - comall[i][2] /= masstotal[i]; - } else comall[i][0] = comall[i][1] = comall[i][2] = 0.0; + iarray = igridfull2iarray(igrid); + for (int icol = 0; icol < size_array_cols; icol++) + array[iarray][icol] += gridfull[igrid][icol]; } } /* ---------------------------------------------------------------------- - free and reallocate per-chunk arrays + convert full grid index to compute array index + inefficient, should exploit shared ix structure +------------------------------------------------------------------------- */ + +int ComputeGrid::igridfull2iarray(int igrid) +{ + int iz = igrid / nxyfull; + igrid -= iz*nxyfull; + int iy = igrid / nxfull; + igrid -= igrid*nxfull; + int ix = igrid; + + ix -= mx; + iy -= my; + iz -= mz; + + while (ix < 0) ix += nx; + while (iy < 0) iy += ny; + while (iz < 0) iz += nz; + + while (ix >= nx) ix -= nx; + while (iy >= ny) iy -= ny; + while (iz >= nz) iz -= nz; + + int iarray = (iz * ny + iy) * nx + ix; + + return iarray; +} + +/* ---------------------------------------------------------------------- + free and reallocate arrays ------------------------------------------------------------------------- */ void ComputeGrid::allocate() { - memory->destroy(massproc); - memory->destroy(masstotal); - memory->destroy(com); - memory->destroy(comall); - maxchunk = nchunk; - memory->create(massproc,maxchunk,"com/chunk:massproc"); - memory->create(masstotal,maxchunk,"com/chunk:masstotal"); - memory->create(com,maxchunk,3,"com/chunk:com"); - memory->create(comall,maxchunk,3,"com/chunk:comall"); - array = comall; -} + ngridfull = nxfull*nyfull*nzfull; + // grow global array if necessary + + memory->destroy(array); + memory->create(array,size_array_rows,size_array_cols,"sna/grid:array"); + memory->create(gridfull,ngridfull,size_array_cols,"sna/grid:gridfull"); +} /* ---------------------------------------------------------------------- memory usage of local data ------------------------------------------------------------------------- */ double ComputeGrid::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (bigint) maxchunk * 2*3 * sizeof(double); - return bytes; + int nbytes = 0; + return nbytes; } diff --git a/src/compute_grid.h b/src/compute_grid.h index cece7050de..61775186ff 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -11,12 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef COMPUTE_CLASS - -ComputeStyle(grid,ComputeGrid) - -#else - #ifndef LMP_COMPUTE_GRID_H #define LMP_COMPUTE_GRID_H @@ -26,36 +20,39 @@ namespace LAMMPS_NS { class ComputeGrid : public Compute { public: - char *idchunk; // fields accessed by other classes - double *masstotal; ComputeGrid(class LAMMPS *, int, char **); - ~ComputeGrid(); + virtual ~ComputeGrid(); void init(); void setup(); - void compute_array(); - - void lock_enable(); - void lock_disable(); - int lock_length(); - void lock(class Fix *, bigint, bigint); - void unlock(class Fix *); + virtual void compute_array() = 0; double memory_usage(); + protected: + int nx, ny, nz; // grid dimensions + int nxfull, nyfull, nzfull; // grid dimensions with ghost points + int nxyfull; // nx_full*ny_full + int ngridfull; // number of full grid points + double **gridfull; // full grid points + int mx, my, mz; // cutmax stencil dimensions + int triclinic; // triclinic flag + double *boxlo, *prd; // box info (units real/ortho or reduced/tri) + double delxinv,delyinv,delzinv; // inverse grid spacing + double delx,dely,delz; // grid spacing + double x0full, y0full, z0full; // origin of full grid + int nargbase; // number of base class args + double cutmax; // largest cutoff distance + virtual void allocate(); + void igridfull2x(int, double*); // convert full grid point to coord + void gather_global_array(); // gather global array from full grid + int igridfull2iarray(int); // convert full grid index to compute array index + private: - int nchunk,maxchunk; - int firstflag,massneed; - - double *massproc; - double **com,**comall; - - void allocate(); }; } -#endif #endif /* ERROR/WARNING messages: diff --git a/src/compute_sna_grid.cpp b/src/compute_sna_grid.cpp index 58f7e9fc38..1f998ced9b 100644 --- a/src/compute_sna_grid.cpp +++ b/src/compute_sna_grid.cpp @@ -11,6 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include "compute_grid.h" #include "compute_sna_grid.h" #include #include @@ -30,7 +31,7 @@ using namespace LAMMPS_NS; ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), cutsq(NULL), list(NULL), sna(NULL), + ComputeGrid(lmp, narg, arg), cutsq(NULL), list(NULL), sna(NULL), radelem(NULL), wjelem(NULL) { double rmin0, rfac0; @@ -38,6 +39,13 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : radelem = NULL; wjelem = NULL; + // skip over arguments used by base class + // so that argument positions are identical to + // regular per-atom compute + + arg += nargbase; + narg -= nargbase; + int ntypes = atom->ntypes; int nargmin = 6+2*ntypes; @@ -58,6 +66,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : rcutfac = atof(arg[3]); rfac0 = atof(arg[4]); twojmax = atoi(arg[5]); + printf("rcutfac = %g rfac0 = %g twojmax = %d\n",rcutfac, rfac0, twojmax); for(int i = 0; i < ntypes; i++) radelem[i+1] = atof(arg[6+i]); @@ -73,6 +82,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : cut = 2.0*radelem[i]*rcutfac; if (cut > cutmax) cutmax = cut; cutsq[i][i] = cut*cut; + printf("i = %d cutsq[i][i] = %g\n",i,cutsq[i][i]); for(int j = i+1; j <= ntypes; j++) { cut = (radelem[i]+radelem[j])*rcutfac; cutsq[i][j] = cutsq[j][i] = cut*cut; @@ -84,6 +94,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { + printf("iarg = %d arg = %s\n",iarg, arg[iarg]); if (strcmp(arg[iarg],"rmin0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute sna/grid command"); @@ -105,18 +116,19 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : quadraticflag = atoi(arg[iarg+1]); iarg += 2; } else error->all(FLERR,"Illegal compute sna/grid command"); + } + printf("rmin0 = %g, bzeroflag = %d, quadraticflag = %d\n", + rmin0, bzeroflag, quadraticflag); + snaptr = new SNA(lmp,rfac0,twojmax, rmin0,switchflag,bzeroflag); ncoeff = snaptr->ncoeff; - size_peratom_cols = ncoeff; - if (quadraticflag) size_peratom_cols += (ncoeff*(ncoeff+1))/2; - peratom_flag = 1; - - nmax = 0; - sna = NULL; + size_array_cols = ncoeff; + if (quadraticflag) size_array_cols += (ncoeff*(ncoeff+1))/2; + array_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -166,101 +178,101 @@ void ComputeSNAGrid::init_list(int /*id*/, NeighList *ptr) /* ---------------------------------------------------------------------- */ -void ComputeSNAGrid::compute_pergrid() +void ComputeSNAGrid::compute_array() { - invoked_peratom = update->ntimestep; + invoked_array = update->ntimestep; - // grow sna array if necessary +// // invoke full neighbor list (will copy or build if necessary) - if (atom->nmax > nmax) { - memory->destroy(sna); - nmax = atom->nmax; - memory->create(sna,nmax,size_peratom_cols,"sna/grid:sna"); - array_atom = sna; - } +// neighbor->build_one(list); - // invoke full neighbor list (will copy or build if necessary) +// const int inum = list->inum; +// const int* const ilist = list->ilist; +// const int* const numneigh = list->numneigh; +// int** const firstneigh = list->firstneigh; - neighbor->build_one(list); - - const int inum = list->inum; - const int* const ilist = list->ilist; - const int* const numneigh = list->numneigh; - int** const firstneigh = list->firstneigh; int * const type = atom->type; - // compute sna for each atom in group - // use full neighbor list to count atoms less than cutoff + // compute sna for each gridpoint double** const x = atom->x; const int* const mask = atom->mask; + const int ntotal = atom->nlocal + atom->nghost; - for (int ii = 0; ii < inum; ii++) { - const int i = ilist[ii]; - if (mask[i] & groupbit) { + printf("ngridfull = %d\n",ngridfull); + for (int igrid = 0; igrid < ngridfull; igrid++) { + printf("igrid = %d\n",igrid); + double rtmp[3]; + igridfull2x(igrid, rtmp); + const double xtmp = rtmp[0]; + const double ytmp = rtmp[1]; + const double ztmp = rtmp[2]; - const double xtmp = x[i][0]; - const double ytmp = x[i][1]; - const double ztmp = x[i][2]; - const int itype = type[i]; - const double radi = radelem[itype]; - const int* const jlist = firstneigh[i]; - const int jnum = numneigh[i]; + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff - // insure rij, inside, and typej are of size jnum + int ninside = 0; + for (int j = 0; j < ntotal; j++) { - snaptr->grow_rij(jnum); + // check that j is in comute group - // rij[][3] = displacements between atom I and those neighbors - // inside = indices of neighbors of I within cutoff - // typej = types of neighbors of I within cutoff + if (!(mask[j] & groupbit)) continue; - int ninside = 0; - for (int jj = 0; jj < jnum; jj++) { - int j = jlist[jj]; - j &= NEIGHMASK; + // insure rij, inside, and typej are of size jnum - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - int jtype = type[j]; - if (rsq < cutsq[itype][jtype] && rsq>1e-20) { - snaptr->rij[ninside][0] = delx; - snaptr->rij[ninside][1] = dely; - snaptr->rij[ninside][2] = delz; - snaptr->inside[ninside] = j; - snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = (radi+radelem[jtype])*rcutfac; - ninside++; - } + snaptr->grow_rij(ninside+1); + + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + if (rsq < cutsq[jtype][jtype] && rsq>1e-20) { + printf("ninside = %d\n",ninside); + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + ninside++; } + } - snaptr->compute_ui(ninside); - snaptr->compute_zi(); - snaptr->compute_bi(); - for (int icoeff = 0; icoeff < ncoeff; icoeff++) - sna[i][icoeff] = snaptr->blist[icoeff]; - if (quadraticflag) { - int ncount = ncoeff; - for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bi = snaptr->blist[icoeff]; + snaptr->compute_ui(ninside); + snaptr->compute_zi(); + snaptr->compute_bi(); + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + sna[igrid][icoeff] = snaptr->blist[icoeff]; + printf("igrid = %d B0 = %g\n",igrid,sna[igrid][0]); + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bi = snaptr->blist[icoeff]; - // diagonal element of quadratic matrix + // diagonal element of quadratic matrix - sna[i][ncount++] = 0.5*bi*bi; + sna[igrid][ncount++] = 0.5*bi*bi; - // upper-triangular elements of quadratic matrix + // upper-triangular elements of quadratic matrix - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - sna[i][ncount++] = bi*snaptr->blist[jcoeff]; - } + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + sna[igrid][ncount++] = bi*snaptr->blist[jcoeff]; } - } else { - for (int icoeff = 0; icoeff < size_peratom_cols; icoeff++) - sna[i][icoeff] = 0.0; } } + gather_global_array(); +} + +/* ---------------------------------------------------------------------- + allocate array in base class and then set up pointers +------------------------------------------------------------------------- */ + +void ComputeSNAGrid::allocate() +{ + ComputeGrid::allocate(); + sna = gridfull; } /* ---------------------------------------------------------------------- @@ -269,7 +281,7 @@ void ComputeSNAGrid::compute_pergrid() double ComputeSNAGrid::memory_usage() { - double bytes = nmax*size_peratom_cols * sizeof(double); // sna + double bytes = size_array_rows*size_array_cols * sizeof(double); // grid bytes += snaptr->memory_usage(); // SNA object return bytes; diff --git a/src/compute_sna_grid.h b/src/compute_sna_grid.h index f85d9679cc..2bd18a915e 100644 --- a/src/compute_sna_grid.h +++ b/src/compute_sna_grid.h @@ -20,18 +20,19 @@ ComputeStyle(sna/grid,ComputeSNAGrid) #ifndef LMP_COMPUTE_SNA_GRID_H #define LMP_COMPUTE_SNA_GRID_H -#include "compute.h" +#include "compute_grid.h" namespace LAMMPS_NS { -class ComputeSNAGrid : public Compute { +class ComputeSNAGrid : public ComputeGrid { public: ComputeSNAGrid(class LAMMPS *, int, char **); ~ComputeSNAGrid(); void init(); void init_list(int, class NeighList *); - void compute_grid(); + void compute_array(); double memory_usage(); + void allocate(); private: int nmax; @@ -43,7 +44,6 @@ class ComputeSNAGrid : public Compute { double *radelem; double *wjelem; class SNA* snaptr; - double cutmax; int quadraticflag; }; From 8374280383487f86c1f69f437501e1a77c253e60 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 23 Oct 2019 18:46:28 -0600 Subject: [PATCH 003/153] Got a first pass working for ortho and tri grids --- examples/snap/in.grid | 71 +++++++++++++++++ examples/snap/in.grid.tri | 116 ++++++++++++++++++++++++++++ src/{ => SNAP}/compute_sna_grid.cpp | 0 src/{ => SNAP}/compute_sna_grid.h | 0 src/compute_grid.cpp | 56 ++++++++++---- src/compute_grid.h | 2 + 6 files changed, 231 insertions(+), 14 deletions(-) create mode 100644 examples/snap/in.grid create mode 100644 examples/snap/in.grid.tri rename src/{ => SNAP}/compute_sna_grid.cpp (100%) rename src/{ => SNAP}/compute_sna_grid.h (100%) diff --git a/examples/snap/in.grid b/examples/snap/in.grid new file mode 100644 index 0000000000..bec57dc9ff --- /dev/null +++ b/examples/snap/in.grid @@ -0,0 +1,71 @@ +# Demonstrate bispectrum computes + +# Initialize simulation + +variable nsteps index 0 +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 0 1 0 & + a3 0 0 1 & + basis 0 0 0 & + basis 0.5 0.5 0.5 & +# origin 0.25 0.25 0.25 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +include Ta06A.snap + +# define grid compute and atom compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 0 + +compute b all sna/atom & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +# define output + +thermo_style custom step temp ke pe vol c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] +thermo_modify norm yes + +dump mydump_b all custom 1000 dump_b id c_b[*] + +# run + +run 0 + diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri new file mode 100644 index 0000000000..c02138f66a --- /dev/null +++ b/examples/snap/in.grid.tri @@ -0,0 +1,116 @@ +# Demonstrate bispectrum computes + +# Initialize simulation + +variable nsteps index 0 +variable nrep index 1 +variable a index 3.316 +variable ngrid index 4 + +variable ngridx equal 3*${ngrid} +variable ngridy equal 2*${ngrid} +variable ngridz equal 1*${ngrid} + +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 1 1 0 & + a3 1 1 1 & + basis 0 0 0 & + basis 0.0 0.0 0.5 & +# origin 0.25 0.25 0.25 + +box tilt large +region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +include Ta06A.snap + +# define grid compute and atom compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 0 + +compute b all sna/atom & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +# define output + +thermo_style custom step temp ke pe vol & + c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] c_mygrid[9][1] & + c_mygrid[10][1] c_mygrid[11][1] c_mygrid[12][1] c_mygrid[13][1] c_mygrid[14][1] c_mygrid[15][1] c_mygrid[16][1] c_mygrid[17][1] c_mygrid[18][1] c_mygrid[19][1] & + c_mygrid[20][1] c_mygrid[21][1] c_mygrid[22][1] c_mygrid[23][1] c_mygrid[24][1] c_mygrid[25][1] c_mygrid[26][1] c_mygrid[27][1] c_mygrid[28][1] c_mygrid[29][1] & + c_mygrid[30][1] c_mygrid[31][1] c_mygrid[32][1] c_mygrid[33][1] c_mygrid[34][1] c_mygrid[35][1] c_mygrid[36][1] c_mygrid[37][1] c_mygrid[38][1] c_mygrid[39][1] & + c_mygrid[40][1] c_mygrid[41][1] c_mygrid[42][1] c_mygrid[43][1] c_mygrid[44][1] c_mygrid[45][1] c_mygrid[46][1] c_mygrid[47][1] c_mygrid[48][1] c_mygrid[49][1] & + c_mygrid[50][1] c_mygrid[51][1] c_mygrid[52][1] c_mygrid[53][1] c_mygrid[54][1] c_mygrid[55][1] c_mygrid[56][1] c_mygrid[57][1] c_mygrid[58][1] c_mygrid[59][1] & + c_mygrid[60][1] c_mygrid[61][1] c_mygrid[62][1] c_mygrid[63][1] c_mygrid[64][1] c_mygrid[65][1] c_mygrid[66][1] c_mygrid[67][1] c_mygrid[68][1] c_mygrid[69][1] & + c_mygrid[70][1] c_mygrid[71][1] c_mygrid[72][1] c_mygrid[73][1] c_mygrid[74][1] c_mygrid[75][1] c_mygrid[76][1] c_mygrid[77][1] c_mygrid[78][1] c_mygrid[79][1] & + c_mygrid[80][1] c_mygrid[81][1] c_mygrid[82][1] c_mygrid[83][1] c_mygrid[84][1] c_mygrid[85][1] c_mygrid[86][1] c_mygrid[87][1] c_mygrid[88][1] c_mygrid[89][1] & + c_mygrid[90][1] c_mygrid[91][1] c_mygrid[92][1] c_mygrid[93][1] c_mygrid[94][1] c_mygrid[95][1] c_mygrid[96][1] c_mygrid[97][1] c_mygrid[98][1] c_mygrid[99][1] & + c_mygrid[101][1] c_mygrid[102][1] c_mygrid[103][1] c_mygrid[104][1] c_mygrid[105][1] c_mygrid[106][1] c_mygrid[107][1] c_mygrid[108][1] c_mygrid[109][1] & + c_mygrid[110][1] c_mygrid[111][1] c_mygrid[112][1] c_mygrid[113][1] c_mygrid[114][1] c_mygrid[115][1] c_mygrid[116][1] c_mygrid[117][1] c_mygrid[118][1] c_mygrid[119][1] & + c_mygrid[120][1] c_mygrid[121][1] c_mygrid[122][1] c_mygrid[123][1] c_mygrid[124][1] c_mygrid[125][1] c_mygrid[126][1] c_mygrid[127][1] c_mygrid[128][1] c_mygrid[129][1] & + c_mygrid[130][1] c_mygrid[131][1] c_mygrid[132][1] c_mygrid[133][1] c_mygrid[134][1] c_mygrid[135][1] c_mygrid[136][1] c_mygrid[137][1] c_mygrid[138][1] c_mygrid[139][1] & + c_mygrid[140][1] c_mygrid[141][1] c_mygrid[142][1] c_mygrid[143][1] c_mygrid[144][1] c_mygrid[145][1] c_mygrid[146][1] c_mygrid[147][1] c_mygrid[148][1] c_mygrid[149][1] & + c_mygrid[150][1] c_mygrid[151][1] c_mygrid[152][1] c_mygrid[153][1] c_mygrid[154][1] c_mygrid[155][1] c_mygrid[156][1] c_mygrid[157][1] c_mygrid[158][1] c_mygrid[159][1] & + c_mygrid[160][1] c_mygrid[161][1] c_mygrid[162][1] c_mygrid[163][1] c_mygrid[164][1] c_mygrid[165][1] c_mygrid[166][1] c_mygrid[167][1] c_mygrid[168][1] c_mygrid[169][1] & + c_mygrid[170][1] c_mygrid[171][1] c_mygrid[172][1] c_mygrid[173][1] c_mygrid[174][1] c_mygrid[175][1] c_mygrid[176][1] c_mygrid[177][1] c_mygrid[178][1] c_mygrid[179][1] & + c_mygrid[180][1] c_mygrid[181][1] c_mygrid[182][1] c_mygrid[183][1] c_mygrid[184][1] c_mygrid[185][1] c_mygrid[186][1] c_mygrid[187][1] c_mygrid[188][1] c_mygrid[189][1] & + c_mygrid[190][1] c_mygrid[191][1] c_mygrid[192][1] c_mygrid[193][1] c_mygrid[194][1] c_mygrid[195][1] c_mygrid[196][1] c_mygrid[197][1] c_mygrid[198][1] c_mygrid[199][1] & + c_mygrid[201][1] c_mygrid[202][1] c_mygrid[203][1] c_mygrid[204][1] c_mygrid[205][1] c_mygrid[206][1] c_mygrid[207][1] c_mygrid[208][1] c_mygrid[209][1] & + c_mygrid[210][1] c_mygrid[211][1] c_mygrid[212][1] c_mygrid[213][1] c_mygrid[214][1] c_mygrid[215][1] c_mygrid[216][1] c_mygrid[217][1] c_mygrid[218][1] c_mygrid[219][1] & + c_mygrid[220][1] c_mygrid[221][1] c_mygrid[222][1] c_mygrid[223][1] c_mygrid[224][1] c_mygrid[225][1] c_mygrid[226][1] c_mygrid[227][1] c_mygrid[228][1] c_mygrid[229][1] & + c_mygrid[230][1] c_mygrid[231][1] c_mygrid[232][1] c_mygrid[233][1] c_mygrid[234][1] c_mygrid[235][1] c_mygrid[236][1] c_mygrid[237][1] c_mygrid[238][1] c_mygrid[239][1] & + c_mygrid[240][1] c_mygrid[241][1] c_mygrid[242][1] c_mygrid[243][1] c_mygrid[244][1] c_mygrid[245][1] c_mygrid[246][1] c_mygrid[247][1] c_mygrid[248][1] c_mygrid[249][1] & + c_mygrid[250][1] c_mygrid[251][1] c_mygrid[252][1] c_mygrid[253][1] c_mygrid[254][1] c_mygrid[255][1] c_mygrid[256][1] c_mygrid[257][1] c_mygrid[258][1] c_mygrid[259][1] & + c_mygrid[260][1] c_mygrid[261][1] c_mygrid[262][1] c_mygrid[263][1] c_mygrid[264][1] c_mygrid[265][1] c_mygrid[266][1] c_mygrid[267][1] c_mygrid[268][1] c_mygrid[269][1] & + c_mygrid[270][1] c_mygrid[271][1] c_mygrid[272][1] c_mygrid[273][1] c_mygrid[274][1] c_mygrid[275][1] c_mygrid[276][1] c_mygrid[277][1] c_mygrid[278][1] c_mygrid[279][1] & + c_mygrid[280][1] c_mygrid[281][1] c_mygrid[282][1] c_mygrid[283][1] c_mygrid[284][1] c_mygrid[285][1] c_mygrid[286][1] c_mygrid[287][1] c_mygrid[288][1] c_mygrid[289][1] & + c_mygrid[290][1] c_mygrid[291][1] c_mygrid[292][1] c_mygrid[293][1] c_mygrid[294][1] c_mygrid[295][1] c_mygrid[296][1] c_mygrid[297][1] c_mygrid[298][1] c_mygrid[299][1] & + c_mygrid[301][1] c_mygrid[302][1] c_mygrid[303][1] c_mygrid[304][1] c_mygrid[305][1] c_mygrid[306][1] c_mygrid[307][1] c_mygrid[308][1] c_mygrid[309][1] & + c_mygrid[310][1] c_mygrid[311][1] c_mygrid[312][1] c_mygrid[313][1] c_mygrid[314][1] c_mygrid[315][1] c_mygrid[316][1] c_mygrid[317][1] c_mygrid[318][1] c_mygrid[319][1] & + c_mygrid[320][1] c_mygrid[321][1] c_mygrid[322][1] c_mygrid[323][1] c_mygrid[324][1] c_mygrid[325][1] c_mygrid[326][1] c_mygrid[327][1] c_mygrid[328][1] c_mygrid[329][1] & + c_mygrid[330][1] c_mygrid[331][1] c_mygrid[332][1] c_mygrid[333][1] c_mygrid[334][1] c_mygrid[335][1] c_mygrid[336][1] c_mygrid[337][1] c_mygrid[338][1] c_mygrid[339][1] & + c_mygrid[340][1] c_mygrid[341][1] c_mygrid[342][1] c_mygrid[343][1] c_mygrid[344][1] c_mygrid[345][1] c_mygrid[346][1] c_mygrid[347][1] c_mygrid[348][1] c_mygrid[349][1] & + c_mygrid[350][1] c_mygrid[351][1] c_mygrid[352][1] c_mygrid[353][1] c_mygrid[354][1] c_mygrid[355][1] c_mygrid[356][1] c_mygrid[357][1] c_mygrid[358][1] c_mygrid[359][1] & + c_mygrid[360][1] c_mygrid[361][1] c_mygrid[362][1] c_mygrid[363][1] c_mygrid[364][1] c_mygrid[365][1] c_mygrid[366][1] c_mygrid[367][1] c_mygrid[368][1] c_mygrid[369][1] & + c_mygrid[370][1] c_mygrid[371][1] c_mygrid[372][1] c_mygrid[373][1] c_mygrid[374][1] c_mygrid[375][1] c_mygrid[376][1] c_mygrid[377][1] c_mygrid[378][1] c_mygrid[379][1] & + c_mygrid[380][1] c_mygrid[381][1] c_mygrid[382][1] c_mygrid[383][1] c_mygrid[384][1] + +thermo_modify norm yes + +dump mydump_b all custom 1000 dump_b id c_b[*] + +# run + +run 0 + diff --git a/src/compute_sna_grid.cpp b/src/SNAP/compute_sna_grid.cpp similarity index 100% rename from src/compute_sna_grid.cpp rename to src/SNAP/compute_sna_grid.cpp diff --git a/src/compute_sna_grid.h b/src/SNAP/compute_sna_grid.h similarity index 100% rename from src/compute_sna_grid.h rename to src/SNAP/compute_sna_grid.h diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index d8c7eb3697..ec969fd01f 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -34,7 +34,7 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : array_flag = 1; size_array_cols = 0; size_array_rows = 0; - extarray = 1; + extarray = 0; int iarg0 = 3; int iarg = iarg0; @@ -119,10 +119,6 @@ void ComputeGrid::setup() + pow(delxy*my,2))*delxinvtmp + 1; } - printf("mx = %d\n",mx); - printf("my = %d\n",my); - printf("mz = %d\n",mz); - // size global grid to accomodate periodic interactions nxfull = nx + 2*mx; @@ -130,10 +126,6 @@ void ComputeGrid::setup() nzfull = nz + 2*mz; nxyfull = nxfull * nyfull; - printf("nxfull = %d\n",nxfull); - printf("nyfull = %d\n",nyfull); - printf("nzfull = %d\n",nzfull); - x0full = boxlo[0] - mx*delx; y0full = boxlo[1] - my*dely; z0full = boxlo[2] - mz*delz; @@ -148,9 +140,9 @@ void ComputeGrid::setup() void ComputeGrid::igridfull2x(int igrid, double *x) { int iz = igrid / nxyfull; - igrid -= iz*nxyfull; + igrid -= iz * nxyfull; int iy = igrid / nxfull; - igrid -= igrid*nxfull; + igrid -= iy * nxfull; int ix = igrid; x[0] = x0full+ix*delx; @@ -161,14 +153,28 @@ void ComputeGrid::igridfull2x(int igrid, double *x) } +/* ---------------------------------------------------------------------- + copy local grid to global array +------------------------------------------------------------------------- */ + +void ComputeGrid::copy_local_grid() +{ + int igridfull; + for (int iarray = 0; iarray < size_array_rows; iarray++) { + igridfull = iarray2igridfull(iarray); + for (int icol = 0; icol < size_array_cols; icol++) + array[iarray][icol] = gridfull[igridfull][icol]; + } +} + /* ---------------------------------------------------------------------- gather global array from full grid ------------------------------------------------------------------------- */ void ComputeGrid::gather_global_array() { - int iarray; - memset(&array[0][0],0,size_array_rows*size_array_cols*sizeof(double)); + int iarray; + memset(&array[0][0],0,size_array_rows*size_array_cols*sizeof(double)); for (int igrid = 0; igrid < ngridfull; igrid++) { @@ -190,7 +196,7 @@ int ComputeGrid::igridfull2iarray(int igrid) int iz = igrid / nxyfull; igrid -= iz*nxyfull; int iy = igrid / nxfull; - igrid -= igrid*nxfull; + igrid -= iy*nxfull; int ix = igrid; ix -= mx; @@ -210,6 +216,28 @@ int ComputeGrid::igridfull2iarray(int igrid) return iarray; } +/* ---------------------------------------------------------------------- + convert compute array index to full grid index + inefficient, should exploit shared ix structure +------------------------------------------------------------------------- */ + +int ComputeGrid::iarray2igridfull(int iarray) +{ + int iz = iarray / (nx*ny); + iarray -= iz*(nx*ny); + int iy = iarray / nx; + iarray -= iy*nx; + int ix = iarray; + + ix += mx; + iy += my; + iz += mz; + + int igrid = (iz * nyfull + iy) * nxfull + ix; + + return igrid; +} + /* ---------------------------------------------------------------------- free and reallocate arrays ------------------------------------------------------------------------- */ diff --git a/src/compute_grid.h b/src/compute_grid.h index 61775186ff..bc757c37bc 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -46,7 +46,9 @@ class ComputeGrid : public Compute { virtual void allocate(); void igridfull2x(int, double*); // convert full grid point to coord void gather_global_array(); // gather global array from full grid + void copy_local_grid(); // copy local grid to global array int igridfull2iarray(int); // convert full grid index to compute array index + int iarray2igridfull(int); // convert compute array index to full grid index private: }; From 0fc325c98b2b4ffd8fb24cd53ce732221add6ac0 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 23 Oct 2019 18:56:21 -0600 Subject: [PATCH 004/153] Got a first pass working for ortho and tri grids --- src/SNAP/compute_sna_grid.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/SNAP/compute_sna_grid.cpp b/src/SNAP/compute_sna_grid.cpp index 1f998ced9b..26bd272d9f 100644 --- a/src/SNAP/compute_sna_grid.cpp +++ b/src/SNAP/compute_sna_grid.cpp @@ -66,7 +66,6 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : rcutfac = atof(arg[3]); rfac0 = atof(arg[4]); twojmax = atoi(arg[5]); - printf("rcutfac = %g rfac0 = %g twojmax = %d\n",rcutfac, rfac0, twojmax); for(int i = 0; i < ntypes; i++) radelem[i+1] = atof(arg[6+i]); @@ -82,7 +81,6 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : cut = 2.0*radelem[i]*rcutfac; if (cut > cutmax) cutmax = cut; cutsq[i][i] = cut*cut; - printf("i = %d cutsq[i][i] = %g\n",i,cutsq[i][i]); for(int j = i+1; j <= ntypes; j++) { cut = (radelem[i]+radelem[j])*rcutfac; cutsq[i][j] = cutsq[j][i] = cut*cut; @@ -94,7 +92,6 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - printf("iarg = %d arg = %s\n",iarg, arg[iarg]); if (strcmp(arg[iarg],"rmin0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute sna/grid command"); @@ -119,9 +116,6 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } - printf("rmin0 = %g, bzeroflag = %d, quadraticflag = %d\n", - rmin0, bzeroflag, quadraticflag); - snaptr = new SNA(lmp,rfac0,twojmax, rmin0,switchflag,bzeroflag); @@ -199,9 +193,12 @@ void ComputeSNAGrid::compute_array() const int* const mask = atom->mask; const int ntotal = atom->nlocal + atom->nghost; + // insure rij, inside, and typej are of size jnum + + snaptr->grow_rij(ntotal); + printf("ngridfull = %d\n",ngridfull); for (int igrid = 0; igrid < ngridfull; igrid++) { - printf("igrid = %d\n",igrid); double rtmp[3]; igridfull2x(igrid, rtmp); const double xtmp = rtmp[0]; @@ -215,21 +212,17 @@ void ComputeSNAGrid::compute_array() int ninside = 0; for (int j = 0; j < ntotal; j++) { - // check that j is in comute group + // check that j is in compute group if (!(mask[j] & groupbit)) continue; - // insure rij, inside, and typej are of size jnum - - snaptr->grow_rij(ninside+1); - const double delx = xtmp - x[j][0]; const double dely = ytmp - x[j][1]; const double delz = ztmp - x[j][2]; const double rsq = delx*delx + dely*dely + delz*delz; int jtype = type[j]; if (rsq < cutsq[jtype][jtype] && rsq>1e-20) { - printf("ninside = %d\n",ninside); + // printf("ninside = %d\n",ninside); snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; snaptr->rij[ninside][2] = delz; @@ -245,7 +238,7 @@ void ComputeSNAGrid::compute_array() snaptr->compute_bi(); for (int icoeff = 0; icoeff < ncoeff; icoeff++) sna[igrid][icoeff] = snaptr->blist[icoeff]; - printf("igrid = %d B0 = %g\n",igrid,sna[igrid][0]); + // printf("igrid = %d %g %g %g %d B0 = %g\n",igrid,xtmp,ytmp,ztmp,ninside,sna[igrid][0]); if (quadraticflag) { int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { @@ -262,7 +255,8 @@ void ComputeSNAGrid::compute_array() } } } - gather_global_array(); + // gather_global_array(); + copy_local_grid(); } /* ---------------------------------------------------------------------- From 5956908cfd2bbd097be8126cc4f062d5cc9cc519 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 23 Oct 2019 21:51:36 -0600 Subject: [PATCH 005/153] Added cols for coords --- examples/snap/in.grid | 6 ++- examples/snap/in.grid.tri | 78 +++++++++++++++++------------------ src/SNAP/compute_sna_grid.cpp | 6 +-- src/compute_grid.cpp | 41 +++++++++++++++++- src/compute_grid.h | 5 ++- 5 files changed, 90 insertions(+), 46 deletions(-) diff --git a/examples/snap/in.grid b/examples/snap/in.grid index bec57dc9ff..5293558fab 100644 --- a/examples/snap/in.grid +++ b/examples/snap/in.grid @@ -60,7 +60,11 @@ compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & # define output -thermo_style custom step temp ke pe vol c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] +thermo_style custom step temp ke pe vol & + c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] & + c_mygrid[1][2] c_mygrid[2][2] c_mygrid[3][2] c_mygrid[4][2] c_mygrid[5][2] c_mygrid[6][2] c_mygrid[7][2] c_mygrid[8][2] & + c_mygrid[1][3] c_mygrid[2][3] c_mygrid[3][3] c_mygrid[4][3] c_mygrid[5][3] c_mygrid[6][3] c_mygrid[7][3] c_mygrid[8][3] & + c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] thermo_modify norm yes dump mydump_b all custom 1000 dump_b id c_b[*] diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index c02138f66a..3c471d9b66 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -66,45 +66,45 @@ compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} & # define output thermo_style custom step temp ke pe vol & - c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] c_mygrid[9][1] & - c_mygrid[10][1] c_mygrid[11][1] c_mygrid[12][1] c_mygrid[13][1] c_mygrid[14][1] c_mygrid[15][1] c_mygrid[16][1] c_mygrid[17][1] c_mygrid[18][1] c_mygrid[19][1] & - c_mygrid[20][1] c_mygrid[21][1] c_mygrid[22][1] c_mygrid[23][1] c_mygrid[24][1] c_mygrid[25][1] c_mygrid[26][1] c_mygrid[27][1] c_mygrid[28][1] c_mygrid[29][1] & - c_mygrid[30][1] c_mygrid[31][1] c_mygrid[32][1] c_mygrid[33][1] c_mygrid[34][1] c_mygrid[35][1] c_mygrid[36][1] c_mygrid[37][1] c_mygrid[38][1] c_mygrid[39][1] & - c_mygrid[40][1] c_mygrid[41][1] c_mygrid[42][1] c_mygrid[43][1] c_mygrid[44][1] c_mygrid[45][1] c_mygrid[46][1] c_mygrid[47][1] c_mygrid[48][1] c_mygrid[49][1] & - c_mygrid[50][1] c_mygrid[51][1] c_mygrid[52][1] c_mygrid[53][1] c_mygrid[54][1] c_mygrid[55][1] c_mygrid[56][1] c_mygrid[57][1] c_mygrid[58][1] c_mygrid[59][1] & - c_mygrid[60][1] c_mygrid[61][1] c_mygrid[62][1] c_mygrid[63][1] c_mygrid[64][1] c_mygrid[65][1] c_mygrid[66][1] c_mygrid[67][1] c_mygrid[68][1] c_mygrid[69][1] & - c_mygrid[70][1] c_mygrid[71][1] c_mygrid[72][1] c_mygrid[73][1] c_mygrid[74][1] c_mygrid[75][1] c_mygrid[76][1] c_mygrid[77][1] c_mygrid[78][1] c_mygrid[79][1] & - c_mygrid[80][1] c_mygrid[81][1] c_mygrid[82][1] c_mygrid[83][1] c_mygrid[84][1] c_mygrid[85][1] c_mygrid[86][1] c_mygrid[87][1] c_mygrid[88][1] c_mygrid[89][1] & - c_mygrid[90][1] c_mygrid[91][1] c_mygrid[92][1] c_mygrid[93][1] c_mygrid[94][1] c_mygrid[95][1] c_mygrid[96][1] c_mygrid[97][1] c_mygrid[98][1] c_mygrid[99][1] & - c_mygrid[101][1] c_mygrid[102][1] c_mygrid[103][1] c_mygrid[104][1] c_mygrid[105][1] c_mygrid[106][1] c_mygrid[107][1] c_mygrid[108][1] c_mygrid[109][1] & - c_mygrid[110][1] c_mygrid[111][1] c_mygrid[112][1] c_mygrid[113][1] c_mygrid[114][1] c_mygrid[115][1] c_mygrid[116][1] c_mygrid[117][1] c_mygrid[118][1] c_mygrid[119][1] & - c_mygrid[120][1] c_mygrid[121][1] c_mygrid[122][1] c_mygrid[123][1] c_mygrid[124][1] c_mygrid[125][1] c_mygrid[126][1] c_mygrid[127][1] c_mygrid[128][1] c_mygrid[129][1] & - c_mygrid[130][1] c_mygrid[131][1] c_mygrid[132][1] c_mygrid[133][1] c_mygrid[134][1] c_mygrid[135][1] c_mygrid[136][1] c_mygrid[137][1] c_mygrid[138][1] c_mygrid[139][1] & - c_mygrid[140][1] c_mygrid[141][1] c_mygrid[142][1] c_mygrid[143][1] c_mygrid[144][1] c_mygrid[145][1] c_mygrid[146][1] c_mygrid[147][1] c_mygrid[148][1] c_mygrid[149][1] & - c_mygrid[150][1] c_mygrid[151][1] c_mygrid[152][1] c_mygrid[153][1] c_mygrid[154][1] c_mygrid[155][1] c_mygrid[156][1] c_mygrid[157][1] c_mygrid[158][1] c_mygrid[159][1] & - c_mygrid[160][1] c_mygrid[161][1] c_mygrid[162][1] c_mygrid[163][1] c_mygrid[164][1] c_mygrid[165][1] c_mygrid[166][1] c_mygrid[167][1] c_mygrid[168][1] c_mygrid[169][1] & - c_mygrid[170][1] c_mygrid[171][1] c_mygrid[172][1] c_mygrid[173][1] c_mygrid[174][1] c_mygrid[175][1] c_mygrid[176][1] c_mygrid[177][1] c_mygrid[178][1] c_mygrid[179][1] & - c_mygrid[180][1] c_mygrid[181][1] c_mygrid[182][1] c_mygrid[183][1] c_mygrid[184][1] c_mygrid[185][1] c_mygrid[186][1] c_mygrid[187][1] c_mygrid[188][1] c_mygrid[189][1] & - c_mygrid[190][1] c_mygrid[191][1] c_mygrid[192][1] c_mygrid[193][1] c_mygrid[194][1] c_mygrid[195][1] c_mygrid[196][1] c_mygrid[197][1] c_mygrid[198][1] c_mygrid[199][1] & - c_mygrid[201][1] c_mygrid[202][1] c_mygrid[203][1] c_mygrid[204][1] c_mygrid[205][1] c_mygrid[206][1] c_mygrid[207][1] c_mygrid[208][1] c_mygrid[209][1] & - c_mygrid[210][1] c_mygrid[211][1] c_mygrid[212][1] c_mygrid[213][1] c_mygrid[214][1] c_mygrid[215][1] c_mygrid[216][1] c_mygrid[217][1] c_mygrid[218][1] c_mygrid[219][1] & - c_mygrid[220][1] c_mygrid[221][1] c_mygrid[222][1] c_mygrid[223][1] c_mygrid[224][1] c_mygrid[225][1] c_mygrid[226][1] c_mygrid[227][1] c_mygrid[228][1] c_mygrid[229][1] & - c_mygrid[230][1] c_mygrid[231][1] c_mygrid[232][1] c_mygrid[233][1] c_mygrid[234][1] c_mygrid[235][1] c_mygrid[236][1] c_mygrid[237][1] c_mygrid[238][1] c_mygrid[239][1] & - c_mygrid[240][1] c_mygrid[241][1] c_mygrid[242][1] c_mygrid[243][1] c_mygrid[244][1] c_mygrid[245][1] c_mygrid[246][1] c_mygrid[247][1] c_mygrid[248][1] c_mygrid[249][1] & - c_mygrid[250][1] c_mygrid[251][1] c_mygrid[252][1] c_mygrid[253][1] c_mygrid[254][1] c_mygrid[255][1] c_mygrid[256][1] c_mygrid[257][1] c_mygrid[258][1] c_mygrid[259][1] & - c_mygrid[260][1] c_mygrid[261][1] c_mygrid[262][1] c_mygrid[263][1] c_mygrid[264][1] c_mygrid[265][1] c_mygrid[266][1] c_mygrid[267][1] c_mygrid[268][1] c_mygrid[269][1] & - c_mygrid[270][1] c_mygrid[271][1] c_mygrid[272][1] c_mygrid[273][1] c_mygrid[274][1] c_mygrid[275][1] c_mygrid[276][1] c_mygrid[277][1] c_mygrid[278][1] c_mygrid[279][1] & - c_mygrid[280][1] c_mygrid[281][1] c_mygrid[282][1] c_mygrid[283][1] c_mygrid[284][1] c_mygrid[285][1] c_mygrid[286][1] c_mygrid[287][1] c_mygrid[288][1] c_mygrid[289][1] & - c_mygrid[290][1] c_mygrid[291][1] c_mygrid[292][1] c_mygrid[293][1] c_mygrid[294][1] c_mygrid[295][1] c_mygrid[296][1] c_mygrid[297][1] c_mygrid[298][1] c_mygrid[299][1] & - c_mygrid[301][1] c_mygrid[302][1] c_mygrid[303][1] c_mygrid[304][1] c_mygrid[305][1] c_mygrid[306][1] c_mygrid[307][1] c_mygrid[308][1] c_mygrid[309][1] & - c_mygrid[310][1] c_mygrid[311][1] c_mygrid[312][1] c_mygrid[313][1] c_mygrid[314][1] c_mygrid[315][1] c_mygrid[316][1] c_mygrid[317][1] c_mygrid[318][1] c_mygrid[319][1] & - c_mygrid[320][1] c_mygrid[321][1] c_mygrid[322][1] c_mygrid[323][1] c_mygrid[324][1] c_mygrid[325][1] c_mygrid[326][1] c_mygrid[327][1] c_mygrid[328][1] c_mygrid[329][1] & - c_mygrid[330][1] c_mygrid[331][1] c_mygrid[332][1] c_mygrid[333][1] c_mygrid[334][1] c_mygrid[335][1] c_mygrid[336][1] c_mygrid[337][1] c_mygrid[338][1] c_mygrid[339][1] & - c_mygrid[340][1] c_mygrid[341][1] c_mygrid[342][1] c_mygrid[343][1] c_mygrid[344][1] c_mygrid[345][1] c_mygrid[346][1] c_mygrid[347][1] c_mygrid[348][1] c_mygrid[349][1] & - c_mygrid[350][1] c_mygrid[351][1] c_mygrid[352][1] c_mygrid[353][1] c_mygrid[354][1] c_mygrid[355][1] c_mygrid[356][1] c_mygrid[357][1] c_mygrid[358][1] c_mygrid[359][1] & - c_mygrid[360][1] c_mygrid[361][1] c_mygrid[362][1] c_mygrid[363][1] c_mygrid[364][1] c_mygrid[365][1] c_mygrid[366][1] c_mygrid[367][1] c_mygrid[368][1] c_mygrid[369][1] & - c_mygrid[370][1] c_mygrid[371][1] c_mygrid[372][1] c_mygrid[373][1] c_mygrid[374][1] c_mygrid[375][1] c_mygrid[376][1] c_mygrid[377][1] c_mygrid[378][1] c_mygrid[379][1] & - c_mygrid[380][1] c_mygrid[381][1] c_mygrid[382][1] c_mygrid[383][1] c_mygrid[384][1] + c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] c_mygrid[9][4] & + c_mygrid[10][4] c_mygrid[11][4] c_mygrid[12][4] c_mygrid[13][4] c_mygrid[14][4] c_mygrid[15][4] c_mygrid[16][4] c_mygrid[17][4] c_mygrid[18][4] c_mygrid[19][4] & + c_mygrid[20][4] c_mygrid[21][4] c_mygrid[22][4] c_mygrid[23][4] c_mygrid[24][4] c_mygrid[25][4] c_mygrid[26][4] c_mygrid[27][4] c_mygrid[28][4] c_mygrid[29][4] & + c_mygrid[30][4] c_mygrid[31][4] c_mygrid[32][4] c_mygrid[33][4] c_mygrid[34][4] c_mygrid[35][4] c_mygrid[36][4] c_mygrid[37][4] c_mygrid[38][4] c_mygrid[39][4] & + c_mygrid[40][4] c_mygrid[41][4] c_mygrid[42][4] c_mygrid[43][4] c_mygrid[44][4] c_mygrid[45][4] c_mygrid[46][4] c_mygrid[47][4] c_mygrid[48][4] c_mygrid[49][4] & + c_mygrid[50][4] c_mygrid[51][4] c_mygrid[52][4] c_mygrid[53][4] c_mygrid[54][4] c_mygrid[55][4] c_mygrid[56][4] c_mygrid[57][4] c_mygrid[58][4] c_mygrid[59][4] & + c_mygrid[60][4] c_mygrid[61][4] c_mygrid[62][4] c_mygrid[63][4] c_mygrid[64][4] c_mygrid[65][4] c_mygrid[66][4] c_mygrid[67][4] c_mygrid[68][4] c_mygrid[69][4] & + c_mygrid[70][4] c_mygrid[71][4] c_mygrid[72][4] c_mygrid[73][4] c_mygrid[74][4] c_mygrid[75][4] c_mygrid[76][4] c_mygrid[77][4] c_mygrid[78][4] c_mygrid[79][4] & + c_mygrid[80][4] c_mygrid[81][4] c_mygrid[82][4] c_mygrid[83][4] c_mygrid[84][4] c_mygrid[85][4] c_mygrid[86][4] c_mygrid[87][4] c_mygrid[88][4] c_mygrid[89][4] & + c_mygrid[90][4] c_mygrid[91][4] c_mygrid[92][4] c_mygrid[93][4] c_mygrid[94][4] c_mygrid[95][4] c_mygrid[96][4] c_mygrid[97][4] c_mygrid[98][4] c_mygrid[99][4] & + c_mygrid[101][4] c_mygrid[102][4] c_mygrid[103][4] c_mygrid[104][4] c_mygrid[105][4] c_mygrid[106][4] c_mygrid[107][4] c_mygrid[108][4] c_mygrid[109][4] & + c_mygrid[110][4] c_mygrid[111][4] c_mygrid[112][4] c_mygrid[113][4] c_mygrid[114][4] c_mygrid[115][4] c_mygrid[116][4] c_mygrid[117][4] c_mygrid[118][4] c_mygrid[119][4] & + c_mygrid[120][4] c_mygrid[121][4] c_mygrid[122][4] c_mygrid[123][4] c_mygrid[124][4] c_mygrid[125][4] c_mygrid[126][4] c_mygrid[127][4] c_mygrid[128][4] c_mygrid[129][4] & + c_mygrid[130][4] c_mygrid[131][4] c_mygrid[132][4] c_mygrid[133][4] c_mygrid[134][4] c_mygrid[135][4] c_mygrid[136][4] c_mygrid[137][4] c_mygrid[138][4] c_mygrid[139][4] & + c_mygrid[140][4] c_mygrid[141][4] c_mygrid[142][4] c_mygrid[143][4] c_mygrid[144][4] c_mygrid[145][4] c_mygrid[146][4] c_mygrid[147][4] c_mygrid[148][4] c_mygrid[149][4] & + c_mygrid[150][4] c_mygrid[151][4] c_mygrid[152][4] c_mygrid[153][4] c_mygrid[154][4] c_mygrid[155][4] c_mygrid[156][4] c_mygrid[157][4] c_mygrid[158][4] c_mygrid[159][4] & + c_mygrid[160][4] c_mygrid[161][4] c_mygrid[162][4] c_mygrid[163][4] c_mygrid[164][4] c_mygrid[165][4] c_mygrid[166][4] c_mygrid[167][4] c_mygrid[168][4] c_mygrid[169][4] & + c_mygrid[170][4] c_mygrid[171][4] c_mygrid[172][4] c_mygrid[173][4] c_mygrid[174][4] c_mygrid[175][4] c_mygrid[176][4] c_mygrid[177][4] c_mygrid[178][4] c_mygrid[179][4] & + c_mygrid[180][4] c_mygrid[181][4] c_mygrid[182][4] c_mygrid[183][4] c_mygrid[184][4] c_mygrid[185][4] c_mygrid[186][4] c_mygrid[187][4] c_mygrid[188][4] c_mygrid[189][4] & + c_mygrid[190][4] c_mygrid[191][4] c_mygrid[192][4] c_mygrid[193][4] c_mygrid[194][4] c_mygrid[195][4] c_mygrid[196][4] c_mygrid[197][4] c_mygrid[198][4] c_mygrid[199][4] & + c_mygrid[201][4] c_mygrid[202][4] c_mygrid[203][4] c_mygrid[204][4] c_mygrid[205][4] c_mygrid[206][4] c_mygrid[207][4] c_mygrid[208][4] c_mygrid[209][4] & + c_mygrid[210][4] c_mygrid[211][4] c_mygrid[212][4] c_mygrid[213][4] c_mygrid[214][4] c_mygrid[215][4] c_mygrid[216][4] c_mygrid[217][4] c_mygrid[218][4] c_mygrid[219][4] & + c_mygrid[220][4] c_mygrid[221][4] c_mygrid[222][4] c_mygrid[223][4] c_mygrid[224][4] c_mygrid[225][4] c_mygrid[226][4] c_mygrid[227][4] c_mygrid[228][4] c_mygrid[229][4] & + c_mygrid[230][4] c_mygrid[231][4] c_mygrid[232][4] c_mygrid[233][4] c_mygrid[234][4] c_mygrid[235][4] c_mygrid[236][4] c_mygrid[237][4] c_mygrid[238][4] c_mygrid[239][4] & + c_mygrid[240][4] c_mygrid[241][4] c_mygrid[242][4] c_mygrid[243][4] c_mygrid[244][4] c_mygrid[245][4] c_mygrid[246][4] c_mygrid[247][4] c_mygrid[248][4] c_mygrid[249][4] & + c_mygrid[250][4] c_mygrid[251][4] c_mygrid[252][4] c_mygrid[253][4] c_mygrid[254][4] c_mygrid[255][4] c_mygrid[256][4] c_mygrid[257][4] c_mygrid[258][4] c_mygrid[259][4] & + c_mygrid[260][4] c_mygrid[261][4] c_mygrid[262][4] c_mygrid[263][4] c_mygrid[264][4] c_mygrid[265][4] c_mygrid[266][4] c_mygrid[267][4] c_mygrid[268][4] c_mygrid[269][4] & + c_mygrid[270][4] c_mygrid[271][4] c_mygrid[272][4] c_mygrid[273][4] c_mygrid[274][4] c_mygrid[275][4] c_mygrid[276][4] c_mygrid[277][4] c_mygrid[278][4] c_mygrid[279][4] & + c_mygrid[280][4] c_mygrid[281][4] c_mygrid[282][4] c_mygrid[283][4] c_mygrid[284][4] c_mygrid[285][4] c_mygrid[286][4] c_mygrid[287][4] c_mygrid[288][4] c_mygrid[289][4] & + c_mygrid[290][4] c_mygrid[291][4] c_mygrid[292][4] c_mygrid[293][4] c_mygrid[294][4] c_mygrid[295][4] c_mygrid[296][4] c_mygrid[297][4] c_mygrid[298][4] c_mygrid[299][4] & + c_mygrid[301][4] c_mygrid[302][4] c_mygrid[303][4] c_mygrid[304][4] c_mygrid[305][4] c_mygrid[306][4] c_mygrid[307][4] c_mygrid[308][4] c_mygrid[309][4] & + c_mygrid[310][4] c_mygrid[311][4] c_mygrid[312][4] c_mygrid[313][4] c_mygrid[314][4] c_mygrid[315][4] c_mygrid[316][4] c_mygrid[317][4] c_mygrid[318][4] c_mygrid[319][4] & + c_mygrid[320][4] c_mygrid[321][4] c_mygrid[322][4] c_mygrid[323][4] c_mygrid[324][4] c_mygrid[325][4] c_mygrid[326][4] c_mygrid[327][4] c_mygrid[328][4] c_mygrid[329][4] & + c_mygrid[330][4] c_mygrid[331][4] c_mygrid[332][4] c_mygrid[333][4] c_mygrid[334][4] c_mygrid[335][4] c_mygrid[336][4] c_mygrid[337][4] c_mygrid[338][4] c_mygrid[339][4] & + c_mygrid[340][4] c_mygrid[341][4] c_mygrid[342][4] c_mygrid[343][4] c_mygrid[344][4] c_mygrid[345][4] c_mygrid[346][4] c_mygrid[347][4] c_mygrid[348][4] c_mygrid[349][4] & + c_mygrid[350][4] c_mygrid[351][4] c_mygrid[352][4] c_mygrid[353][4] c_mygrid[354][4] c_mygrid[355][4] c_mygrid[356][4] c_mygrid[357][4] c_mygrid[358][4] c_mygrid[359][4] & + c_mygrid[360][4] c_mygrid[361][4] c_mygrid[362][4] c_mygrid[363][4] c_mygrid[364][4] c_mygrid[365][4] c_mygrid[366][4] c_mygrid[367][4] c_mygrid[368][4] c_mygrid[369][4] & + c_mygrid[370][4] c_mygrid[371][4] c_mygrid[372][4] c_mygrid[373][4] c_mygrid[374][4] c_mygrid[375][4] c_mygrid[376][4] c_mygrid[377][4] c_mygrid[378][4] c_mygrid[379][4] & + c_mygrid[380][4] c_mygrid[381][4] c_mygrid[382][4] c_mygrid[383][4] c_mygrid[384][4] thermo_modify norm yes diff --git a/src/SNAP/compute_sna_grid.cpp b/src/SNAP/compute_sna_grid.cpp index 26bd272d9f..d9912cdc47 100644 --- a/src/SNAP/compute_sna_grid.cpp +++ b/src/SNAP/compute_sna_grid.cpp @@ -120,7 +120,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : rmin0,switchflag,bzeroflag); ncoeff = snaptr->ncoeff; - size_array_cols = ncoeff; + size_array_cols = size_array_cols_base + ncoeff; if (quadraticflag) size_array_cols += (ncoeff*(ncoeff+1))/2; array_flag = 1; } @@ -237,8 +237,8 @@ void ComputeSNAGrid::compute_array() snaptr->compute_zi(); snaptr->compute_bi(); for (int icoeff = 0; icoeff < ncoeff; icoeff++) - sna[igrid][icoeff] = snaptr->blist[icoeff]; - // printf("igrid = %d %g %g %g %d B0 = %g\n",igrid,xtmp,ytmp,ztmp,ninside,sna[igrid][0]); + sna[igrid][size_array_cols_base+icoeff] = snaptr->blist[icoeff]; + // printf("igrid = %d %g %g %g %d B0 = %g\n",igrid,xtmp,ytmp,ztmp,ninside,sna[igrid][size_array_cols_base+0]); if (quadraticflag) { int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index ec969fd01f..63e4a8c885 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -51,6 +51,7 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : nargbase = iarg - iarg0; size_array_rows = nx*ny*nz; + size_array_cols_base = 3; } /* ---------------------------------------------------------------------- */ @@ -131,6 +132,7 @@ void ComputeGrid::setup() z0full = boxlo[2] - mz*delz; allocate(); + assign_coords_array(); } /* ---------------------------------------------------------------------- @@ -153,6 +155,26 @@ void ComputeGrid::igridfull2x(int igrid, double *x) } +/* ---------------------------------------------------------------------- + convert array index to box coords +------------------------------------------------------------------------- */ + +void ComputeGrid::iarray2x(int iarray, double *x) +{ + int iz = iarray / (nx*ny); + iarray -= iz * (nx*ny); + int iy = iarray / nx; + iarray -= iy * nx; + int ix = iarray; + + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; + + if (triclinic) domain->lamda2x(x, x); + +} + /* ---------------------------------------------------------------------- copy local grid to global array ------------------------------------------------------------------------- */ @@ -162,11 +184,26 @@ void ComputeGrid::copy_local_grid() int igridfull; for (int iarray = 0; iarray < size_array_rows; iarray++) { igridfull = iarray2igridfull(iarray); - for (int icol = 0; icol < size_array_cols; icol++) + for (int icol = size_array_cols_base; icol < size_array_cols; icol++) array[iarray][icol] = gridfull[igridfull][icol]; } } +/* ---------------------------------------------------------------------- + copy coords to global array +------------------------------------------------------------------------- */ + +void ComputeGrid::assign_coords_array() +{ + double x[3]; + for (int iarray = 0; iarray < size_array_rows; iarray++) { + iarray2x(iarray,x); + array[iarray][0] = x[0]; + array[iarray][1] = x[1]; + array[iarray][2] = x[2]; + } +} + /* ---------------------------------------------------------------------- gather global array from full grid ------------------------------------------------------------------------- */ @@ -181,7 +218,7 @@ void ComputeGrid::gather_global_array() // inefficient, should exploit shared ix structure iarray = igridfull2iarray(igrid); - for (int icol = 0; icol < size_array_cols; icol++) + for (int icol = size_array_cols_base; icol < size_array_cols; icol++) array[iarray][icol] += gridfull[igrid][icol]; } } diff --git a/src/compute_grid.h b/src/compute_grid.h index bc757c37bc..1468f9ad91 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -33,7 +33,7 @@ class ComputeGrid : public Compute { int nx, ny, nz; // grid dimensions int nxfull, nyfull, nzfull; // grid dimensions with ghost points int nxyfull; // nx_full*ny_full - int ngridfull; // number of full grid points + int ngridfull; // number of full grid points double **gridfull; // full grid points int mx, my, mz; // cutmax stencil dimensions int triclinic; // triclinic flag @@ -43,10 +43,13 @@ class ComputeGrid : public Compute { double x0full, y0full, z0full; // origin of full grid int nargbase; // number of base class args double cutmax; // largest cutoff distance + int size_array_cols_base; // number of columns used for coords, etc. virtual void allocate(); void igridfull2x(int, double*); // convert full grid point to coord + void iarray2x(int, double*); // convert array point to coord void gather_global_array(); // gather global array from full grid void copy_local_grid(); // copy local grid to global array + void assign_coords_array(); // assign coords to global array int igridfull2iarray(int); // convert full grid index to compute array index int iarray2igridfull(int); // convert compute array index to full grid index From 59e3b4c5ba8b3de1d7f183a1cecb793b14886b99 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 24 Oct 2019 16:12:23 -0600 Subject: [PATCH 006/153] Fixed bug in lammps.py --- python/lammps.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/python/lammps.py b/python/lammps.py index 36cf2d2fdd..f23268cd60 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -399,14 +399,9 @@ class lammps(object): ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) return ptr if type == 2: - if style == 0: - self.lib.lammps_extract_compute.restype = POINTER(c_int) - ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) - return ptr[0] - else: - self.lib.lammps_extract_compute.restype = POINTER(POINTER(c_double)) - ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) - return ptr + self.lib.lammps_extract_compute.restype = POINTER(POINTER(c_double)) + ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) + return ptr return None # extract fix info From 2fa9e5fefb26f3e4540ed7dc6e4e1563e49432bc Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 24 Oct 2019 19:48:41 -0600 Subject: [PATCH 007/153] Completed brute force parallel implementation using MPI_Allreduce() --- src/SNAP/compute_sna_grid.cpp | 60 +++------- src/SNAP/compute_sna_grid.h | 4 - src/compute_grid.cpp | 220 ++++++++++------------------------ src/compute_grid.h | 26 ++-- 4 files changed, 93 insertions(+), 217 deletions(-) diff --git a/src/SNAP/compute_sna_grid.cpp b/src/SNAP/compute_sna_grid.cpp index d9912cdc47..a9f3b6c3fb 100644 --- a/src/SNAP/compute_sna_grid.cpp +++ b/src/SNAP/compute_sna_grid.cpp @@ -31,7 +31,7 @@ using namespace LAMMPS_NS; ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : - ComputeGrid(lmp, narg, arg), cutsq(NULL), list(NULL), sna(NULL), + ComputeGrid(lmp, narg, arg), cutsq(NULL), sna(NULL), radelem(NULL), wjelem(NULL) { double rmin0, rfac0; @@ -120,8 +120,9 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : rmin0,switchflag,bzeroflag); ncoeff = snaptr->ncoeff; - size_array_cols = size_array_cols_base + ncoeff; - if (quadraticflag) size_array_cols += (ncoeff*(ncoeff+1))/2; + nvalues = ncoeff; + if (quadraticflag) nvalues += (ncoeff*(ncoeff+1))/2; + size_array_cols = size_array_cols_base + nvalues; array_flag = 1; } @@ -165,26 +166,10 @@ void ComputeSNAGrid::init() /* ---------------------------------------------------------------------- */ -void ComputeSNAGrid::init_list(int /*id*/, NeighList *ptr) -{ - list = ptr; -} - -/* ---------------------------------------------------------------------- */ - void ComputeSNAGrid::compute_array() { invoked_array = update->ntimestep; -// // invoke full neighbor list (will copy or build if necessary) - -// neighbor->build_one(list); - -// const int inum = list->inum; -// const int* const ilist = list->ilist; -// const int* const numneigh = list->numneigh; -// int** const firstneigh = list->firstneigh; - int * const type = atom->type; // compute sna for each gridpoint @@ -197,13 +182,12 @@ void ComputeSNAGrid::compute_array() snaptr->grow_rij(ntotal); - printf("ngridfull = %d\n",ngridfull); - for (int igrid = 0; igrid < ngridfull; igrid++) { - double rtmp[3]; - igridfull2x(igrid, rtmp); - const double xtmp = rtmp[0]; - const double ytmp = rtmp[1]; - const double ztmp = rtmp[2]; + printf("ngrid = %d\n",ngrid); + for (int igrid = 0; igrid < ngrid; igrid++) { + if (!grid_local[igrid]) continue; + const double xtmp = grid[igrid][0]; + const double ytmp = grid[igrid][1]; + const double ztmp = grid[igrid][2]; // rij[][3] = displacements between atom I and those neighbors // inside = indices of neighbors of I within cutoff @@ -237,7 +221,7 @@ void ComputeSNAGrid::compute_array() snaptr->compute_zi(); snaptr->compute_bi(); for (int icoeff = 0; icoeff < ncoeff; icoeff++) - sna[igrid][size_array_cols_base+icoeff] = snaptr->blist[icoeff]; + grid[igrid][size_array_cols_base+icoeff] = snaptr->blist[icoeff]; // printf("igrid = %d %g %g %g %d B0 = %g\n",igrid,xtmp,ytmp,ztmp,ninside,sna[igrid][size_array_cols_base+0]); if (quadraticflag) { int ncount = ncoeff; @@ -246,27 +230,16 @@ void ComputeSNAGrid::compute_array() // diagonal element of quadratic matrix - sna[igrid][ncount++] = 0.5*bi*bi; + grid[igrid][size_array_cols_base+ncount++] = 0.5*bi*bi; // upper-triangular elements of quadratic matrix for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - sna[igrid][ncount++] = bi*snaptr->blist[jcoeff]; + grid[igrid][size_array_cols_base+ncount++] = bi*snaptr->blist[jcoeff]; } } } - // gather_global_array(); - copy_local_grid(); -} - -/* ---------------------------------------------------------------------- - allocate array in base class and then set up pointers -------------------------------------------------------------------------- */ - -void ComputeSNAGrid::allocate() -{ - ComputeGrid::allocate(); - sna = gridfull; + MPI_Allreduce(&grid[0][0],&gridall[0][0],ngrid*size_array_cols,MPI_DOUBLE,MPI_SUM,world); } /* ---------------------------------------------------------------------- @@ -275,9 +248,8 @@ void ComputeSNAGrid::allocate() double ComputeSNAGrid::memory_usage() { - double bytes = size_array_rows*size_array_cols * sizeof(double); // grid - bytes += snaptr->memory_usage(); // SNA object + double nbytes = snaptr->memory_usage(); // SNA object - return bytes; + return nbytes; } diff --git a/src/SNAP/compute_sna_grid.h b/src/SNAP/compute_sna_grid.h index 2bd18a915e..0242a2962b 100644 --- a/src/SNAP/compute_sna_grid.h +++ b/src/SNAP/compute_sna_grid.h @@ -29,16 +29,12 @@ class ComputeSNAGrid : public ComputeGrid { ComputeSNAGrid(class LAMMPS *, int, char **); ~ComputeSNAGrid(); void init(); - void init_list(int, class NeighList *); void compute_array(); double memory_usage(); - void allocate(); private: - int nmax; int ncoeff; double **cutsq; - class NeighList *list; double **sna; double rcutfac; double *radelem; diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 63e4a8c885..2f67d22182 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -50,7 +50,7 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : nargbase = iarg - iarg0; - size_array_rows = nx*ny*nz; + size_array_rows = ngrid = nx*ny*nz; size_array_cols_base = 3; } @@ -58,6 +58,8 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid::~ComputeGrid() { + memory->destroy(grid); + memory->destroy(grid_local); } /* ---------------------------------------------------------------------- */ @@ -78,9 +80,13 @@ void ComputeGrid::setup() if (triclinic == 0) { prd = domain->prd; boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; } else { prd = domain->prd_lamda; boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; } double xprd = prd[0]; @@ -95,78 +101,23 @@ void ComputeGrid::setup() dely = 1.0/delyinv; delz = 1.0/delzinv; - // sufficient conditions for stencil bounding rcut - - // require |delz*mz|^2 <= rcut^2 - // require |dely*my|^2 <= rcut^2 + |delyz*mz_max|^2 - // require |delx*mx|^2 <= rcut^2 + |delxz*mz_max|^2 + |delxy*my_max|^2 - - double delxy = domain->xy/ny; - double delxz = domain->xz/nz; - double delyz = domain->yz/nz; - - if (!triclinic) { - mz = cutmax*delzinv + 1; - my = sqrt(cutmax*cutmax + pow(delyz*mz,2))*delyinv + 1; - mx = sqrt(cutmax*cutmax + pow(delxz*mz,2) - + pow(delxy*my,2))*delxinv + 1; - } else { - double delxinvtmp = nx/domain->xprd; - double delyinvtmp = ny/domain->yprd; - double delzinvtmp = nz/domain->zprd; - mz = cutmax*delzinvtmp + 1; - my = sqrt(cutmax*cutmax + pow(delyz*mz,2))*delyinvtmp + 1; - mx = sqrt(cutmax*cutmax + pow(delxz*mz,2) - + pow(delxy*my,2))*delxinvtmp + 1; - } - - // size global grid to accomodate periodic interactions - - nxfull = nx + 2*mx; - nyfull = ny + 2*my; - nzfull = nz + 2*mz; - nxyfull = nxfull * nyfull; - - x0full = boxlo[0] - mx*delx; - y0full = boxlo[1] - my*dely; - z0full = boxlo[2] - mz*delz; - allocate(); - assign_coords_array(); + assign_grid_coords(); + assign_grid_local(); } /* ---------------------------------------------------------------------- - convert grid index to box coords + convert global array index to box coords ------------------------------------------------------------------------- */ -void ComputeGrid::igridfull2x(int igrid, double *x) +void ComputeGrid::grid2x(int igrid, double *x) { - int iz = igrid / nxyfull; - igrid -= iz * nxyfull; - int iy = igrid / nxfull; - igrid -= iy * nxfull; + int iz = igrid / (nx*ny); + igrid -= iz * (nx*ny); + int iy = igrid / nx; + igrid -= iy * nx; int ix = igrid; - x[0] = x0full+ix*delx; - x[1] = y0full+iy*dely; - x[2] = z0full+iz*delz; - - if (triclinic) domain->lamda2x(x, x); - -} - -/* ---------------------------------------------------------------------- - convert array index to box coords -------------------------------------------------------------------------- */ - -void ComputeGrid::iarray2x(int iarray, double *x) -{ - int iz = iarray / (nx*ny); - iarray -= iz * (nx*ny); - int iy = iarray / nx; - iarray -= iy * nx; - int ix = iarray; - x[0] = ix*delx; x[1] = iy*dely; x[2] = iz*delz; @@ -176,16 +127,43 @@ void ComputeGrid::iarray2x(int iarray, double *x) } /* ---------------------------------------------------------------------- - copy local grid to global array + check if grid point is local ------------------------------------------------------------------------- */ -void ComputeGrid::copy_local_grid() +int ComputeGrid::check_grid_local(int igrid) { - int igridfull; - for (int iarray = 0; iarray < size_array_rows; iarray++) { - igridfull = iarray2igridfull(iarray); - for (int icol = size_array_cols_base; icol < size_array_cols; icol++) - array[iarray][icol] = gridfull[igridfull][icol]; + double x[3]; + + int iz = igrid / (nx*ny); + igrid -= iz * (nx*ny); + int iy = igrid / nx; + igrid -= iy * nx; + int ix = igrid; + + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; + + int islocal = + x[0] >= sublo[0] && x[0] < subhi[0] && + x[1] >= sublo[1] && x[1] < subhi[1] && + x[2] >= sublo[2] && x[2] < subhi[2]; + + return islocal; +} + +/* ---------------------------------------------------------------------- + copy coords to global array +------------------------------------------------------------------------- */ + +void ComputeGrid::assign_grid_coords() +{ + double x[3]; + for (int igrid = 0; igrid < ngrid; igrid++) { + grid2x(igrid,x); + grid[igrid][0] = x[0]; + grid[igrid][1] = x[1]; + grid[igrid][2] = x[2]; } } @@ -193,101 +171,33 @@ void ComputeGrid::copy_local_grid() copy coords to global array ------------------------------------------------------------------------- */ -void ComputeGrid::assign_coords_array() +void ComputeGrid::assign_grid_local() { double x[3]; - for (int iarray = 0; iarray < size_array_rows; iarray++) { - iarray2x(iarray,x); - array[iarray][0] = x[0]; - array[iarray][1] = x[1]; - array[iarray][2] = x[2]; + for (int igrid = 0; igrid < ngrid; igrid++) { + if (check_grid_local(igrid)) + grid_local[igrid] = 1; + else { + grid_local[igrid] = 0; + memset(grid[igrid],0,size_array_cols); + } } } -/* ---------------------------------------------------------------------- - gather global array from full grid -------------------------------------------------------------------------- */ - -void ComputeGrid::gather_global_array() -{ - int iarray; - memset(&array[0][0],0,size_array_rows*size_array_cols*sizeof(double)); - - for (int igrid = 0; igrid < ngridfull; igrid++) { - - // inefficient, should exploit shared ix structure - - iarray = igridfull2iarray(igrid); - for (int icol = size_array_cols_base; icol < size_array_cols; icol++) - array[iarray][icol] += gridfull[igrid][icol]; - } -} - -/* ---------------------------------------------------------------------- - convert full grid index to compute array index - inefficient, should exploit shared ix structure -------------------------------------------------------------------------- */ - -int ComputeGrid::igridfull2iarray(int igrid) -{ - int iz = igrid / nxyfull; - igrid -= iz*nxyfull; - int iy = igrid / nxfull; - igrid -= iy*nxfull; - int ix = igrid; - - ix -= mx; - iy -= my; - iz -= mz; - - while (ix < 0) ix += nx; - while (iy < 0) iy += ny; - while (iz < 0) iz += nz; - - while (ix >= nx) ix -= nx; - while (iy >= ny) iy -= ny; - while (iz >= nz) iz -= nz; - - int iarray = (iz * ny + iy) * nx + ix; - - return iarray; -} - -/* ---------------------------------------------------------------------- - convert compute array index to full grid index - inefficient, should exploit shared ix structure -------------------------------------------------------------------------- */ - -int ComputeGrid::iarray2igridfull(int iarray) -{ - int iz = iarray / (nx*ny); - iarray -= iz*(nx*ny); - int iy = iarray / nx; - iarray -= iy*nx; - int ix = iarray; - - ix += mx; - iy += my; - iz += mz; - - int igrid = (iz * nyfull + iy) * nxfull + ix; - - return igrid; -} - /* ---------------------------------------------------------------------- free and reallocate arrays ------------------------------------------------------------------------- */ void ComputeGrid::allocate() { - ngridfull = nxfull*nyfull*nzfull; - // grow global array if necessary - memory->destroy(array); - memory->create(array,size_array_rows,size_array_cols,"sna/grid:array"); - memory->create(gridfull,ngridfull,size_array_cols,"sna/grid:gridfull"); + memory->destroy(grid); + memory->destroy(grid_local); + memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); + memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); + memory->create(grid_local,size_array_rows,"grid:grid_local"); + array = gridall; } /* ---------------------------------------------------------------------- memory usage of local data @@ -295,6 +205,8 @@ void ComputeGrid::allocate() double ComputeGrid::memory_usage() { - int nbytes = 0; + double nbytes = size_array_rows*size_array_cols * + sizeof(double); // grid + nbytes += size_array_rows*sizeof(int); // grid_local return nbytes; } diff --git a/src/compute_grid.h b/src/compute_grid.h index 1468f9ad91..a1c938db2e 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -31,28 +31,24 @@ class ComputeGrid : public Compute { protected: int nx, ny, nz; // grid dimensions - int nxfull, nyfull, nzfull; // grid dimensions with ghost points - int nxyfull; // nx_full*ny_full - int ngridfull; // number of full grid points - double **gridfull; // full grid points - int mx, my, mz; // cutmax stencil dimensions + int ngrid; // number of grid points + int nvalues; // number of values per grid point + double **grid; // global grid + double **gridall; // global grid summed over procs int triclinic; // triclinic flag double *boxlo, *prd; // box info (units real/ortho or reduced/tri) + double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) double delxinv,delyinv,delzinv; // inverse grid spacing double delx,dely,delz; // grid spacing - double x0full, y0full, z0full; // origin of full grid int nargbase; // number of base class args double cutmax; // largest cutoff distance int size_array_cols_base; // number of columns used for coords, etc. - virtual void allocate(); - void igridfull2x(int, double*); // convert full grid point to coord - void iarray2x(int, double*); // convert array point to coord - void gather_global_array(); // gather global array from full grid - void copy_local_grid(); // copy local grid to global array - void assign_coords_array(); // assign coords to global array - int igridfull2iarray(int); // convert full grid index to compute array index - int iarray2igridfull(int); // convert compute array index to full grid index - + int *grid_local; // local flag for each grid point + void allocate(); + void grid2x(int, double*); // convert grid point to coord + void assign_grid_coords(); // assign coords for grid + void assign_grid_local(); // set local flag for each grid point + int check_grid_local(int); // check if grid point is local private: }; From 651e9c63973809d1026faac942f84998dfe7ac74 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Tue, 19 May 2020 11:01:31 -0600 Subject: [PATCH 008/153] Initialized arrays to NULL --- src/compute_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 2f67d22182..011dafa030 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -27,7 +27,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) + Compute(lmp, narg, arg), grid(NULL), grid_local(NULL) { if (narg < 6) error->all(FLERR,"Illegal compute grid command"); From 4a261f396128a0d19beba082bd7f4ab6c54a1803 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sat, 23 May 2020 10:18:16 -0600 Subject: [PATCH 009/153] Added python example (!) and turned on switching function --- examples/snap/grid.py | 104 +++++++++++++++++++++++++++++++++++ examples/snap/in.grid | 9 ++- examples/snap/in.grid.python | 61 ++++++++++++++++++++ examples/snap/in.grid.tri | 82 +++++++++++++-------------- 4 files changed, 214 insertions(+), 42 deletions(-) create mode 100755 examples/snap/grid.py create mode 100644 examples/snap/in.grid.python diff --git a/examples/snap/grid.py b/examples/snap/grid.py new file mode 100755 index 0000000000..9fe88fd1b4 --- /dev/null +++ b/examples/snap/grid.py @@ -0,0 +1,104 @@ +#!/Users/athomps/miniconda3/bin/python3.7 +# +# An example of SNAP grid from LAMMPS Python interface +# +# https://lammps.sandia.gov/doc/Python_library.html + + +from lammps import lammps +import lammps_utils + +# define command line input variables + +ngridx = 2 +ngridy = 3 +ngridz = 4 +twojmax = 2 + +lmp_cmdargs = ["-echo","screen"] +lmp_cmdargs = lammps_utils.set_cmdlinevars(lmp_cmdargs, + { + "ngridx":ngridx, + "ngridy":ngridy, + "ngridz":ngridz, + "twojmax":twojmax + } + ) + +# launch LAMMPS instance + +lmp = lammps(cmdargs=lmp_cmdargs) + +# run LAMMPS input script + +lmp.file("in.grid.python") + +# get quantities from LAMMPS + +num_atoms = lmp.get_natoms() + +# set things not accessible from LAMMPS + +# first 3 cols are x, y, z, coords + +ncols0 = 3 + +# analytical relation + +ncoeff = (twojmax+2)*(twojmax+3)*(twojmax+4) +ncoeff = ncoeff // 24 # integer division +ncols = ncols0+ncoeff + +# get B_0 at position (0,0,0) in 4 different ways + +# 1. from comute sna/atom + +bptr = lmp.extract_compute("b", 1, 2) # 1 = per-atom data, 2 = array +print("b = ",bptr[0][0]) + +# 2. from compute sna/grid + +bgridptr = lmp.extract_compute("bgrid", 0, 2) # 0 = style global, 2 = type array +print("bgrid = ",bgridptr[0][3]) + +# 3. from Numpy array pointing to sna/atom array + +bptr_np = lammps_utils.extract_compute_np(lmp,"b",1,2,(num_atoms,ncoeff)) +print("b_np = ",bptr_np[0][0]) + +# 4. from Numpy array pointing to sna/grid array + +bgridptr_np = lammps_utils.extract_compute_np(lmp,"bgrid",0,2,(ngridz,ngridy,ngridx,ncols)) +print("bgrid_np = ",bgridptr_np[0][0][0][ncols0+0]) + +# print out the LAMMPS array to a file + +outfile = open("bgrid.dat",'w') +igrid = 0 +for iz in range(ngridz): + for iy in range(ngridy): + for ix in range(ngridx): + outfile.write("x, y, z = %g %g %g\n" % + (bgridptr[igrid][0], + bgridptr[igrid][1], + bgridptr[igrid][2])) + for icoeff in range(ncoeff): + outfile.write("%g " % bgridptr[igrid][ncols0+icoeff]) + outfile.write("\n") + igrid += 1 +outfile.close() + +# print out the Numpy array to a file + +outfile = open("bgrid_np.dat",'w') +for iz in range(ngridz): + for iy in range(ngridy): + for ix in range(ngridx): + outfile.write("x, y, z = %g %g %g\n" % + (bgridptr_np[iz][iy][ix][0], + bgridptr_np[iz][iy][ix][1], + bgridptr_np[iz][iy][ix][2])) + for icoeff in range(ncoeff): + outfile.write("%g " % bgridptr_np[iz][iy][ix][ncols0+icoeff]) + outfile.write("\n") +outfile.close() diff --git a/examples/snap/in.grid b/examples/snap/in.grid index 5293558fab..2702fccad1 100644 --- a/examples/snap/in.grid +++ b/examples/snap/in.grid @@ -46,7 +46,7 @@ variable wj equal 1 variable radelem equal 0.5 variable bzero equal 0 variable quad equal 0 -variable switch equal 0 +variable switch equal 1 compute b all sna/atom & ${rcutfac} ${rfac0} ${twojmax} ${radelem} & @@ -60,11 +60,16 @@ compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & # define output +# mygrid is ngrid by (3+nbis) = 8x8 thermo_style custom step temp ke pe vol & c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] & c_mygrid[1][2] c_mygrid[2][2] c_mygrid[3][2] c_mygrid[4][2] c_mygrid[5][2] c_mygrid[6][2] c_mygrid[7][2] c_mygrid[8][2] & c_mygrid[1][3] c_mygrid[2][3] c_mygrid[3][3] c_mygrid[4][3] c_mygrid[5][3] c_mygrid[6][3] c_mygrid[7][3] c_mygrid[8][3] & - c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] + c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] & + c_mygrid[1][5] c_mygrid[2][5] c_mygrid[3][5] c_mygrid[4][5] c_mygrid[5][5] c_mygrid[6][5] c_mygrid[7][5] c_mygrid[8][5] & + c_mygrid[1][6] c_mygrid[2][6] c_mygrid[3][6] c_mygrid[4][6] c_mygrid[5][6] c_mygrid[6][6] c_mygrid[7][6] c_mygrid[8][6] & + c_mygrid[1][7] c_mygrid[2][7] c_mygrid[3][7] c_mygrid[4][7] c_mygrid[5][7] c_mygrid[6][7] c_mygrid[7][7] c_mygrid[8][7] & + c_mygrid[1][8] c_mygrid[2][8] c_mygrid[3][8] c_mygrid[4][8] c_mygrid[5][8] c_mygrid[6][8] c_mygrid[7][8] c_mygrid[8][8] thermo_modify norm yes dump mydump_b all custom 1000 dump_b id c_b[*] diff --git a/examples/snap/in.grid.python b/examples/snap/in.grid.python new file mode 100644 index 0000000000..13fe6d0638 --- /dev/null +++ b/examples/snap/in.grid.python @@ -0,0 +1,61 @@ +# Demonstrate bispectrum per-atom and grid computes + +# Invoked from grid.py +# pass in values for ngridx, ngridy, ngridz, twojmax + +# Initialize simulation + +variable nsteps equal 0 +variable nrep equal 1 +variable a equal 3.316 + +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom ${a} a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# define grid compute and atom compute + +group snapgroup type 1 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 1 + +compute b all sna/atom ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} + +compute bgrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} + +# create dummy potential for neighbor list + +variable rcutneigh equal 2.0*${rcutfac}*${radelem} +pair_style zero ${rcutneigh} +pair_coeff * * + +# define output + +thermo_style custom step temp ke pe vol c_bgrid[1][1] +thermo_modify norm yes + +dump mydump_b all custom 1000 dump_b id c_b[*] + +# run + +run 0 diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index 3c471d9b66..c984799e09 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -51,7 +51,7 @@ variable wj equal 1 variable radelem equal 0.5 variable bzero equal 0 variable quad equal 0 -variable switch equal 0 +variable switch equal 1 compute b all sna/atom & ${rcutfac} ${rfac0} ${twojmax} ${radelem} & @@ -65,46 +65,48 @@ compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} & # define output +# mygrid is ngrid by (3+nbis) = 384x8 + thermo_style custom step temp ke pe vol & - c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] c_mygrid[9][4] & - c_mygrid[10][4] c_mygrid[11][4] c_mygrid[12][4] c_mygrid[13][4] c_mygrid[14][4] c_mygrid[15][4] c_mygrid[16][4] c_mygrid[17][4] c_mygrid[18][4] c_mygrid[19][4] & - c_mygrid[20][4] c_mygrid[21][4] c_mygrid[22][4] c_mygrid[23][4] c_mygrid[24][4] c_mygrid[25][4] c_mygrid[26][4] c_mygrid[27][4] c_mygrid[28][4] c_mygrid[29][4] & - c_mygrid[30][4] c_mygrid[31][4] c_mygrid[32][4] c_mygrid[33][4] c_mygrid[34][4] c_mygrid[35][4] c_mygrid[36][4] c_mygrid[37][4] c_mygrid[38][4] c_mygrid[39][4] & - c_mygrid[40][4] c_mygrid[41][4] c_mygrid[42][4] c_mygrid[43][4] c_mygrid[44][4] c_mygrid[45][4] c_mygrid[46][4] c_mygrid[47][4] c_mygrid[48][4] c_mygrid[49][4] & - c_mygrid[50][4] c_mygrid[51][4] c_mygrid[52][4] c_mygrid[53][4] c_mygrid[54][4] c_mygrid[55][4] c_mygrid[56][4] c_mygrid[57][4] c_mygrid[58][4] c_mygrid[59][4] & - c_mygrid[60][4] c_mygrid[61][4] c_mygrid[62][4] c_mygrid[63][4] c_mygrid[64][4] c_mygrid[65][4] c_mygrid[66][4] c_mygrid[67][4] c_mygrid[68][4] c_mygrid[69][4] & - c_mygrid[70][4] c_mygrid[71][4] c_mygrid[72][4] c_mygrid[73][4] c_mygrid[74][4] c_mygrid[75][4] c_mygrid[76][4] c_mygrid[77][4] c_mygrid[78][4] c_mygrid[79][4] & - c_mygrid[80][4] c_mygrid[81][4] c_mygrid[82][4] c_mygrid[83][4] c_mygrid[84][4] c_mygrid[85][4] c_mygrid[86][4] c_mygrid[87][4] c_mygrid[88][4] c_mygrid[89][4] & - c_mygrid[90][4] c_mygrid[91][4] c_mygrid[92][4] c_mygrid[93][4] c_mygrid[94][4] c_mygrid[95][4] c_mygrid[96][4] c_mygrid[97][4] c_mygrid[98][4] c_mygrid[99][4] & - c_mygrid[101][4] c_mygrid[102][4] c_mygrid[103][4] c_mygrid[104][4] c_mygrid[105][4] c_mygrid[106][4] c_mygrid[107][4] c_mygrid[108][4] c_mygrid[109][4] & - c_mygrid[110][4] c_mygrid[111][4] c_mygrid[112][4] c_mygrid[113][4] c_mygrid[114][4] c_mygrid[115][4] c_mygrid[116][4] c_mygrid[117][4] c_mygrid[118][4] c_mygrid[119][4] & - c_mygrid[120][4] c_mygrid[121][4] c_mygrid[122][4] c_mygrid[123][4] c_mygrid[124][4] c_mygrid[125][4] c_mygrid[126][4] c_mygrid[127][4] c_mygrid[128][4] c_mygrid[129][4] & - c_mygrid[130][4] c_mygrid[131][4] c_mygrid[132][4] c_mygrid[133][4] c_mygrid[134][4] c_mygrid[135][4] c_mygrid[136][4] c_mygrid[137][4] c_mygrid[138][4] c_mygrid[139][4] & - c_mygrid[140][4] c_mygrid[141][4] c_mygrid[142][4] c_mygrid[143][4] c_mygrid[144][4] c_mygrid[145][4] c_mygrid[146][4] c_mygrid[147][4] c_mygrid[148][4] c_mygrid[149][4] & - c_mygrid[150][4] c_mygrid[151][4] c_mygrid[152][4] c_mygrid[153][4] c_mygrid[154][4] c_mygrid[155][4] c_mygrid[156][4] c_mygrid[157][4] c_mygrid[158][4] c_mygrid[159][4] & - c_mygrid[160][4] c_mygrid[161][4] c_mygrid[162][4] c_mygrid[163][4] c_mygrid[164][4] c_mygrid[165][4] c_mygrid[166][4] c_mygrid[167][4] c_mygrid[168][4] c_mygrid[169][4] & - c_mygrid[170][4] c_mygrid[171][4] c_mygrid[172][4] c_mygrid[173][4] c_mygrid[174][4] c_mygrid[175][4] c_mygrid[176][4] c_mygrid[177][4] c_mygrid[178][4] c_mygrid[179][4] & - c_mygrid[180][4] c_mygrid[181][4] c_mygrid[182][4] c_mygrid[183][4] c_mygrid[184][4] c_mygrid[185][4] c_mygrid[186][4] c_mygrid[187][4] c_mygrid[188][4] c_mygrid[189][4] & - c_mygrid[190][4] c_mygrid[191][4] c_mygrid[192][4] c_mygrid[193][4] c_mygrid[194][4] c_mygrid[195][4] c_mygrid[196][4] c_mygrid[197][4] c_mygrid[198][4] c_mygrid[199][4] & - c_mygrid[201][4] c_mygrid[202][4] c_mygrid[203][4] c_mygrid[204][4] c_mygrid[205][4] c_mygrid[206][4] c_mygrid[207][4] c_mygrid[208][4] c_mygrid[209][4] & - c_mygrid[210][4] c_mygrid[211][4] c_mygrid[212][4] c_mygrid[213][4] c_mygrid[214][4] c_mygrid[215][4] c_mygrid[216][4] c_mygrid[217][4] c_mygrid[218][4] c_mygrid[219][4] & - c_mygrid[220][4] c_mygrid[221][4] c_mygrid[222][4] c_mygrid[223][4] c_mygrid[224][4] c_mygrid[225][4] c_mygrid[226][4] c_mygrid[227][4] c_mygrid[228][4] c_mygrid[229][4] & - c_mygrid[230][4] c_mygrid[231][4] c_mygrid[232][4] c_mygrid[233][4] c_mygrid[234][4] c_mygrid[235][4] c_mygrid[236][4] c_mygrid[237][4] c_mygrid[238][4] c_mygrid[239][4] & - c_mygrid[240][4] c_mygrid[241][4] c_mygrid[242][4] c_mygrid[243][4] c_mygrid[244][4] c_mygrid[245][4] c_mygrid[246][4] c_mygrid[247][4] c_mygrid[248][4] c_mygrid[249][4] & - c_mygrid[250][4] c_mygrid[251][4] c_mygrid[252][4] c_mygrid[253][4] c_mygrid[254][4] c_mygrid[255][4] c_mygrid[256][4] c_mygrid[257][4] c_mygrid[258][4] c_mygrid[259][4] & - c_mygrid[260][4] c_mygrid[261][4] c_mygrid[262][4] c_mygrid[263][4] c_mygrid[264][4] c_mygrid[265][4] c_mygrid[266][4] c_mygrid[267][4] c_mygrid[268][4] c_mygrid[269][4] & - c_mygrid[270][4] c_mygrid[271][4] c_mygrid[272][4] c_mygrid[273][4] c_mygrid[274][4] c_mygrid[275][4] c_mygrid[276][4] c_mygrid[277][4] c_mygrid[278][4] c_mygrid[279][4] & - c_mygrid[280][4] c_mygrid[281][4] c_mygrid[282][4] c_mygrid[283][4] c_mygrid[284][4] c_mygrid[285][4] c_mygrid[286][4] c_mygrid[287][4] c_mygrid[288][4] c_mygrid[289][4] & - c_mygrid[290][4] c_mygrid[291][4] c_mygrid[292][4] c_mygrid[293][4] c_mygrid[294][4] c_mygrid[295][4] c_mygrid[296][4] c_mygrid[297][4] c_mygrid[298][4] c_mygrid[299][4] & - c_mygrid[301][4] c_mygrid[302][4] c_mygrid[303][4] c_mygrid[304][4] c_mygrid[305][4] c_mygrid[306][4] c_mygrid[307][4] c_mygrid[308][4] c_mygrid[309][4] & - c_mygrid[310][4] c_mygrid[311][4] c_mygrid[312][4] c_mygrid[313][4] c_mygrid[314][4] c_mygrid[315][4] c_mygrid[316][4] c_mygrid[317][4] c_mygrid[318][4] c_mygrid[319][4] & - c_mygrid[320][4] c_mygrid[321][4] c_mygrid[322][4] c_mygrid[323][4] c_mygrid[324][4] c_mygrid[325][4] c_mygrid[326][4] c_mygrid[327][4] c_mygrid[328][4] c_mygrid[329][4] & - c_mygrid[330][4] c_mygrid[331][4] c_mygrid[332][4] c_mygrid[333][4] c_mygrid[334][4] c_mygrid[335][4] c_mygrid[336][4] c_mygrid[337][4] c_mygrid[338][4] c_mygrid[339][4] & - c_mygrid[340][4] c_mygrid[341][4] c_mygrid[342][4] c_mygrid[343][4] c_mygrid[344][4] c_mygrid[345][4] c_mygrid[346][4] c_mygrid[347][4] c_mygrid[348][4] c_mygrid[349][4] & - c_mygrid[350][4] c_mygrid[351][4] c_mygrid[352][4] c_mygrid[353][4] c_mygrid[354][4] c_mygrid[355][4] c_mygrid[356][4] c_mygrid[357][4] c_mygrid[358][4] c_mygrid[359][4] & - c_mygrid[360][4] c_mygrid[361][4] c_mygrid[362][4] c_mygrid[363][4] c_mygrid[364][4] c_mygrid[365][4] c_mygrid[366][4] c_mygrid[367][4] c_mygrid[368][4] c_mygrid[369][4] & - c_mygrid[370][4] c_mygrid[371][4] c_mygrid[372][4] c_mygrid[373][4] c_mygrid[374][4] c_mygrid[375][4] c_mygrid[376][4] c_mygrid[377][4] c_mygrid[378][4] c_mygrid[379][4] & - c_mygrid[380][4] c_mygrid[381][4] c_mygrid[382][4] c_mygrid[383][4] c_mygrid[384][4] + c_mygrid[1][7] c_mygrid[2][7] c_mygrid[3][7] c_mygrid[4][7] c_mygrid[5][7] c_mygrid[6][7] c_mygrid[7][7] c_mygrid[8][7] c_mygrid[9][7] & + c_mygrid[10][7] c_mygrid[11][7] c_mygrid[12][7] c_mygrid[13][7] c_mygrid[14][7] c_mygrid[15][7] c_mygrid[16][7] c_mygrid[17][7] c_mygrid[18][7] c_mygrid[19][7] & + c_mygrid[20][7] c_mygrid[21][7] c_mygrid[22][7] c_mygrid[23][7] c_mygrid[24][7] c_mygrid[25][7] c_mygrid[26][7] c_mygrid[27][7] c_mygrid[28][7] c_mygrid[29][7] & + c_mygrid[30][7] c_mygrid[31][7] c_mygrid[32][7] c_mygrid[33][7] c_mygrid[34][7] c_mygrid[35][7] c_mygrid[36][7] c_mygrid[37][7] c_mygrid[38][7] c_mygrid[39][7] & + c_mygrid[40][7] c_mygrid[41][7] c_mygrid[42][7] c_mygrid[43][7] c_mygrid[44][7] c_mygrid[45][7] c_mygrid[46][7] c_mygrid[47][7] c_mygrid[48][7] c_mygrid[49][7] & + c_mygrid[50][7] c_mygrid[51][7] c_mygrid[52][7] c_mygrid[53][7] c_mygrid[54][7] c_mygrid[55][7] c_mygrid[56][7] c_mygrid[57][7] c_mygrid[58][7] c_mygrid[59][7] & + c_mygrid[60][7] c_mygrid[61][7] c_mygrid[62][7] c_mygrid[63][7] c_mygrid[64][7] c_mygrid[65][7] c_mygrid[66][7] c_mygrid[67][7] c_mygrid[68][7] c_mygrid[69][7] & + c_mygrid[70][7] c_mygrid[71][7] c_mygrid[72][7] c_mygrid[73][7] c_mygrid[74][7] c_mygrid[75][7] c_mygrid[76][7] c_mygrid[77][7] c_mygrid[78][7] c_mygrid[79][7] & + c_mygrid[80][7] c_mygrid[81][7] c_mygrid[82][7] c_mygrid[83][7] c_mygrid[84][7] c_mygrid[85][7] c_mygrid[86][7] c_mygrid[87][7] c_mygrid[88][7] c_mygrid[89][7] & + c_mygrid[90][7] c_mygrid[91][7] c_mygrid[92][7] c_mygrid[93][7] c_mygrid[94][7] c_mygrid[95][7] c_mygrid[96][7] c_mygrid[97][7] c_mygrid[98][7] c_mygrid[99][7] & + c_mygrid[101][7] c_mygrid[102][7] c_mygrid[103][7] c_mygrid[104][7] c_mygrid[105][7] c_mygrid[106][7] c_mygrid[107][7] c_mygrid[108][7] c_mygrid[109][7] & + c_mygrid[110][7] c_mygrid[111][7] c_mygrid[112][7] c_mygrid[113][7] c_mygrid[114][7] c_mygrid[115][7] c_mygrid[116][7] c_mygrid[117][7] c_mygrid[118][7] c_mygrid[119][7] & + c_mygrid[120][7] c_mygrid[121][7] c_mygrid[122][7] c_mygrid[123][7] c_mygrid[124][7] c_mygrid[125][7] c_mygrid[126][7] c_mygrid[127][7] c_mygrid[128][7] c_mygrid[129][7] & + c_mygrid[130][7] c_mygrid[131][7] c_mygrid[132][7] c_mygrid[133][7] c_mygrid[134][7] c_mygrid[135][7] c_mygrid[136][7] c_mygrid[137][7] c_mygrid[138][7] c_mygrid[139][7] & + c_mygrid[140][7] c_mygrid[141][7] c_mygrid[142][7] c_mygrid[143][7] c_mygrid[144][7] c_mygrid[145][7] c_mygrid[146][7] c_mygrid[147][7] c_mygrid[148][7] c_mygrid[149][7] & + c_mygrid[150][7] c_mygrid[151][7] c_mygrid[152][7] c_mygrid[153][7] c_mygrid[154][7] c_mygrid[155][7] c_mygrid[156][7] c_mygrid[157][7] c_mygrid[158][7] c_mygrid[159][7] & + c_mygrid[160][7] c_mygrid[161][7] c_mygrid[162][7] c_mygrid[163][7] c_mygrid[164][7] c_mygrid[165][7] c_mygrid[166][7] c_mygrid[167][7] c_mygrid[168][7] c_mygrid[169][7] & + c_mygrid[170][7] c_mygrid[171][7] c_mygrid[172][7] c_mygrid[173][7] c_mygrid[174][7] c_mygrid[175][7] c_mygrid[176][7] c_mygrid[177][7] c_mygrid[178][7] c_mygrid[179][7] & + c_mygrid[180][7] c_mygrid[181][7] c_mygrid[182][7] c_mygrid[183][7] c_mygrid[184][7] c_mygrid[185][7] c_mygrid[186][7] c_mygrid[187][7] c_mygrid[188][7] c_mygrid[189][7] & + c_mygrid[190][7] c_mygrid[191][7] c_mygrid[192][7] c_mygrid[193][7] c_mygrid[194][7] c_mygrid[195][7] c_mygrid[196][7] c_mygrid[197][7] c_mygrid[198][7] c_mygrid[199][7] & + c_mygrid[201][7] c_mygrid[202][7] c_mygrid[203][7] c_mygrid[204][7] c_mygrid[205][7] c_mygrid[206][7] c_mygrid[207][7] c_mygrid[208][7] c_mygrid[209][7] & + c_mygrid[210][7] c_mygrid[211][7] c_mygrid[212][7] c_mygrid[213][7] c_mygrid[214][7] c_mygrid[215][7] c_mygrid[216][7] c_mygrid[217][7] c_mygrid[218][7] c_mygrid[219][7] & + c_mygrid[220][7] c_mygrid[221][7] c_mygrid[222][7] c_mygrid[223][7] c_mygrid[224][7] c_mygrid[225][7] c_mygrid[226][7] c_mygrid[227][7] c_mygrid[228][7] c_mygrid[229][7] & + c_mygrid[230][7] c_mygrid[231][7] c_mygrid[232][7] c_mygrid[233][7] c_mygrid[234][7] c_mygrid[235][7] c_mygrid[236][7] c_mygrid[237][7] c_mygrid[238][7] c_mygrid[239][7] & + c_mygrid[240][7] c_mygrid[241][7] c_mygrid[242][7] c_mygrid[243][7] c_mygrid[244][7] c_mygrid[245][7] c_mygrid[246][7] c_mygrid[247][7] c_mygrid[248][7] c_mygrid[249][7] & + c_mygrid[250][7] c_mygrid[251][7] c_mygrid[252][7] c_mygrid[253][7] c_mygrid[254][7] c_mygrid[255][7] c_mygrid[256][7] c_mygrid[257][7] c_mygrid[258][7] c_mygrid[259][7] & + c_mygrid[260][7] c_mygrid[261][7] c_mygrid[262][7] c_mygrid[263][7] c_mygrid[264][7] c_mygrid[265][7] c_mygrid[266][7] c_mygrid[267][7] c_mygrid[268][7] c_mygrid[269][7] & + c_mygrid[270][7] c_mygrid[271][7] c_mygrid[272][7] c_mygrid[273][7] c_mygrid[274][7] c_mygrid[275][7] c_mygrid[276][7] c_mygrid[277][7] c_mygrid[278][7] c_mygrid[279][7] & + c_mygrid[280][7] c_mygrid[281][7] c_mygrid[282][7] c_mygrid[283][7] c_mygrid[284][7] c_mygrid[285][7] c_mygrid[286][7] c_mygrid[287][7] c_mygrid[288][7] c_mygrid[289][7] & + c_mygrid[290][7] c_mygrid[291][7] c_mygrid[292][7] c_mygrid[293][7] c_mygrid[294][7] c_mygrid[295][7] c_mygrid[296][7] c_mygrid[297][7] c_mygrid[298][7] c_mygrid[299][7] & + c_mygrid[301][7] c_mygrid[302][7] c_mygrid[303][7] c_mygrid[304][7] c_mygrid[305][7] c_mygrid[306][7] c_mygrid[307][7] c_mygrid[308][7] c_mygrid[309][7] & + c_mygrid[310][7] c_mygrid[311][7] c_mygrid[312][7] c_mygrid[313][7] c_mygrid[314][7] c_mygrid[315][7] c_mygrid[316][7] c_mygrid[317][7] c_mygrid[318][7] c_mygrid[319][7] & + c_mygrid[320][7] c_mygrid[321][7] c_mygrid[322][7] c_mygrid[323][7] c_mygrid[324][7] c_mygrid[325][7] c_mygrid[326][7] c_mygrid[327][7] c_mygrid[328][7] c_mygrid[329][7] & + c_mygrid[330][7] c_mygrid[331][7] c_mygrid[332][7] c_mygrid[333][7] c_mygrid[334][7] c_mygrid[335][7] c_mygrid[336][7] c_mygrid[337][7] c_mygrid[338][7] c_mygrid[339][7] & + c_mygrid[340][7] c_mygrid[341][7] c_mygrid[342][7] c_mygrid[343][7] c_mygrid[344][7] c_mygrid[345][7] c_mygrid[346][7] c_mygrid[347][7] c_mygrid[348][7] c_mygrid[349][7] & + c_mygrid[350][7] c_mygrid[351][7] c_mygrid[352][7] c_mygrid[353][7] c_mygrid[354][7] c_mygrid[355][7] c_mygrid[356][7] c_mygrid[357][7] c_mygrid[358][7] c_mygrid[359][7] & + c_mygrid[360][7] c_mygrid[361][7] c_mygrid[362][7] c_mygrid[363][7] c_mygrid[364][7] c_mygrid[365][7] c_mygrid[366][7] c_mygrid[367][7] c_mygrid[368][7] c_mygrid[369][7] & + c_mygrid[370][7] c_mygrid[371][7] c_mygrid[372][7] c_mygrid[373][7] c_mygrid[374][7] c_mygrid[375][7] c_mygrid[376][7] c_mygrid[377][7] c_mygrid[378][7] c_mygrid[379][7] & + c_mygrid[380][7] c_mygrid[381][7] c_mygrid[382][7] c_mygrid[383][7] c_mygrid[384][7] thermo_modify norm yes From 4bfb5051237421cdef4501f9a3edb23f52589629 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 25 May 2020 16:35:50 -0600 Subject: [PATCH 010/153] Added reviewer response doc --- src/ReviewerResponse.tex | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/ReviewerResponse.tex diff --git a/src/ReviewerResponse.tex b/src/ReviewerResponse.tex new file mode 100644 index 0000000000..e29d756d78 --- /dev/null +++ b/src/ReviewerResponse.tex @@ -0,0 +1,59 @@ +\pdfoutput=1 +\documentclass[onecolumn,prb,showpacs,aps,superscriptaddress]{revtex4-1} +%\documentclass[prb,showpacs,aps,superscriptaddress]{revtex4-1} + + +\usepackage[english]{babel} +\usepackage[ansinew]{inputenc} +\usepackage{times} +\usepackage{graphicx} +\usepackage{graphics} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{amsbsy} +\usepackage{dsfont} +\usepackage{epstopdf} +\usepackage{makeidx} +%\usepackage{subfigure} +\usepackage{color} +\usepackage{pgf} +\usepackage{bm} +\usepackage{tikz} +%\usepackage[normalem]{ulem} +\usepackage{graphicx} % needed for figures +\usepackage{dcolumn} % needed for some tables +\usepackage{bm} % for math +\usepackage{amssymb} % for math + + +\begin{document} + +{\bf Title Here} + + +\vspace{1cm} + +We thank the reviewers for their careful reading of the manuscript and their suggestions for improvement. We have updated the manuscript accordingly. Please see below for our detailed responses to the review comments. + +\vspace{2cm} + + +\textbf{\underline{Reviewer 1:}} +\begin{itemize} + \item \textbf{Review Comment 1:} Blah blah + \item \textbf{Author Reply 1:} Thank you for your review. We agree making the blha blah is a good idea. We added the following sentence to the Conclusions to address this point \\ + ``Blah blah'' + +\end{itemize} + +\textbf{\underline{Reviewer 2:}} +\begin{itemize} + \item \textbf{Review Comment 1:} Blah blah + \item \textbf{Author Reply 1:} Blah blah \\ + +\end{itemize} + +\end{document} + + From 4295dd2dbcc9aae860607e823c440169c1cc23ae Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 25 May 2020 17:09:32 -0600 Subject: [PATCH 011/153] Wrong number --- src/ReviewerResponse.tex | 59 ---------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 src/ReviewerResponse.tex diff --git a/src/ReviewerResponse.tex b/src/ReviewerResponse.tex deleted file mode 100644 index e29d756d78..0000000000 --- a/src/ReviewerResponse.tex +++ /dev/null @@ -1,59 +0,0 @@ -\pdfoutput=1 -\documentclass[onecolumn,prb,showpacs,aps,superscriptaddress]{revtex4-1} -%\documentclass[prb,showpacs,aps,superscriptaddress]{revtex4-1} - - -\usepackage[english]{babel} -\usepackage[ansinew]{inputenc} -\usepackage{times} -\usepackage{graphicx} -\usepackage{graphics} -\usepackage{amsmath} -\usepackage{amsfonts} -\usepackage{amssymb} -\usepackage{amsbsy} -\usepackage{dsfont} -\usepackage{epstopdf} -\usepackage{makeidx} -%\usepackage{subfigure} -\usepackage{color} -\usepackage{pgf} -\usepackage{bm} -\usepackage{tikz} -%\usepackage[normalem]{ulem} -\usepackage{graphicx} % needed for figures -\usepackage{dcolumn} % needed for some tables -\usepackage{bm} % for math -\usepackage{amssymb} % for math - - -\begin{document} - -{\bf Title Here} - - -\vspace{1cm} - -We thank the reviewers for their careful reading of the manuscript and their suggestions for improvement. We have updated the manuscript accordingly. Please see below for our detailed responses to the review comments. - -\vspace{2cm} - - -\textbf{\underline{Reviewer 1:}} -\begin{itemize} - \item \textbf{Review Comment 1:} Blah blah - \item \textbf{Author Reply 1:} Thank you for your review. We agree making the blha blah is a good idea. We added the following sentence to the Conclusions to address this point \\ - ``Blah blah'' - -\end{itemize} - -\textbf{\underline{Reviewer 2:}} -\begin{itemize} - \item \textbf{Review Comment 1:} Blah blah - \item \textbf{Author Reply 1:} Blah blah \\ - -\end{itemize} - -\end{document} - - From cf6570d81283a356915bd4379ca807837988ccc9 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 15:06:19 -0600 Subject: [PATCH 012/153] Tweaked comments in grid examples --- examples/snap/in.grid | 3 +++ examples/snap/in.grid.tri | 26 ++++++++++++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/examples/snap/in.grid b/examples/snap/in.grid index 2702fccad1..44c42673e0 100644 --- a/examples/snap/in.grid +++ b/examples/snap/in.grid @@ -1,5 +1,8 @@ # Demonstrate bispectrum computes +# CORRECTNESS: thermo output for c_mygrid[*][1] and c_mygrid[*][8] should +# match the values in dump_b: 108.173 3.21778 0.712238 7.06634 1.04273 + # Initialize simulation variable nsteps index 0 diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index c984799e09..fc71c3a43f 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -1,5 +1,15 @@ # Demonstrate bispectrum computes +# This triclinic cell has 6 times the volume of a single bcc cube +# and contains 12 atoms. It is a 3x2x1 supercell +# with each unit cell containing 2 atoms and the +# reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1]. +# The grid is listed in x-fastest order +# CORRECTNESS: thermo output for c_mygrid[*][7] should contain +# the same 2 values that appear in c_mygrid[*][7] for in.grid, +# 7.0663376 and 13.808803, corresponding to atom and insterstitial sites, +# respectively, and with occurrences 12 and 36, respectively. + # Initialize simulation variable nsteps index 0 @@ -11,13 +21,17 @@ variable ngridx equal 3*${ngrid} variable ngridy equal 2*${ngrid} variable ngridz equal 1*${ngrid} +variable nrepx equal 1*${nrep} +variable nrepy equal 1*${nrep} +variable nrepz equal 1*${nrep} + units metal # generate the box and atom positions using a BCC lattice -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} +variable nx equal ${nrepx} +variable ny equal ${nrepy} +variable nz equal ${nrepz} boundary p p p @@ -78,7 +92,7 @@ thermo_style custom step temp ke pe vol & c_mygrid[70][7] c_mygrid[71][7] c_mygrid[72][7] c_mygrid[73][7] c_mygrid[74][7] c_mygrid[75][7] c_mygrid[76][7] c_mygrid[77][7] c_mygrid[78][7] c_mygrid[79][7] & c_mygrid[80][7] c_mygrid[81][7] c_mygrid[82][7] c_mygrid[83][7] c_mygrid[84][7] c_mygrid[85][7] c_mygrid[86][7] c_mygrid[87][7] c_mygrid[88][7] c_mygrid[89][7] & c_mygrid[90][7] c_mygrid[91][7] c_mygrid[92][7] c_mygrid[93][7] c_mygrid[94][7] c_mygrid[95][7] c_mygrid[96][7] c_mygrid[97][7] c_mygrid[98][7] c_mygrid[99][7] & - c_mygrid[101][7] c_mygrid[102][7] c_mygrid[103][7] c_mygrid[104][7] c_mygrid[105][7] c_mygrid[106][7] c_mygrid[107][7] c_mygrid[108][7] c_mygrid[109][7] & + c_mygrid[100][7] c_mygrid[101][7] c_mygrid[102][7] c_mygrid[103][7] c_mygrid[104][7] c_mygrid[105][7] c_mygrid[106][7] c_mygrid[107][7] c_mygrid[108][7] c_mygrid[109][7] & c_mygrid[110][7] c_mygrid[111][7] c_mygrid[112][7] c_mygrid[113][7] c_mygrid[114][7] c_mygrid[115][7] c_mygrid[116][7] c_mygrid[117][7] c_mygrid[118][7] c_mygrid[119][7] & c_mygrid[120][7] c_mygrid[121][7] c_mygrid[122][7] c_mygrid[123][7] c_mygrid[124][7] c_mygrid[125][7] c_mygrid[126][7] c_mygrid[127][7] c_mygrid[128][7] c_mygrid[129][7] & c_mygrid[130][7] c_mygrid[131][7] c_mygrid[132][7] c_mygrid[133][7] c_mygrid[134][7] c_mygrid[135][7] c_mygrid[136][7] c_mygrid[137][7] c_mygrid[138][7] c_mygrid[139][7] & @@ -88,7 +102,7 @@ thermo_style custom step temp ke pe vol & c_mygrid[170][7] c_mygrid[171][7] c_mygrid[172][7] c_mygrid[173][7] c_mygrid[174][7] c_mygrid[175][7] c_mygrid[176][7] c_mygrid[177][7] c_mygrid[178][7] c_mygrid[179][7] & c_mygrid[180][7] c_mygrid[181][7] c_mygrid[182][7] c_mygrid[183][7] c_mygrid[184][7] c_mygrid[185][7] c_mygrid[186][7] c_mygrid[187][7] c_mygrid[188][7] c_mygrid[189][7] & c_mygrid[190][7] c_mygrid[191][7] c_mygrid[192][7] c_mygrid[193][7] c_mygrid[194][7] c_mygrid[195][7] c_mygrid[196][7] c_mygrid[197][7] c_mygrid[198][7] c_mygrid[199][7] & - c_mygrid[201][7] c_mygrid[202][7] c_mygrid[203][7] c_mygrid[204][7] c_mygrid[205][7] c_mygrid[206][7] c_mygrid[207][7] c_mygrid[208][7] c_mygrid[209][7] & + c_mygrid[200][7] c_mygrid[201][7] c_mygrid[202][7] c_mygrid[203][7] c_mygrid[204][7] c_mygrid[205][7] c_mygrid[206][7] c_mygrid[207][7] c_mygrid[208][7] c_mygrid[209][7] & c_mygrid[210][7] c_mygrid[211][7] c_mygrid[212][7] c_mygrid[213][7] c_mygrid[214][7] c_mygrid[215][7] c_mygrid[216][7] c_mygrid[217][7] c_mygrid[218][7] c_mygrid[219][7] & c_mygrid[220][7] c_mygrid[221][7] c_mygrid[222][7] c_mygrid[223][7] c_mygrid[224][7] c_mygrid[225][7] c_mygrid[226][7] c_mygrid[227][7] c_mygrid[228][7] c_mygrid[229][7] & c_mygrid[230][7] c_mygrid[231][7] c_mygrid[232][7] c_mygrid[233][7] c_mygrid[234][7] c_mygrid[235][7] c_mygrid[236][7] c_mygrid[237][7] c_mygrid[238][7] c_mygrid[239][7] & @@ -98,7 +112,7 @@ thermo_style custom step temp ke pe vol & c_mygrid[270][7] c_mygrid[271][7] c_mygrid[272][7] c_mygrid[273][7] c_mygrid[274][7] c_mygrid[275][7] c_mygrid[276][7] c_mygrid[277][7] c_mygrid[278][7] c_mygrid[279][7] & c_mygrid[280][7] c_mygrid[281][7] c_mygrid[282][7] c_mygrid[283][7] c_mygrid[284][7] c_mygrid[285][7] c_mygrid[286][7] c_mygrid[287][7] c_mygrid[288][7] c_mygrid[289][7] & c_mygrid[290][7] c_mygrid[291][7] c_mygrid[292][7] c_mygrid[293][7] c_mygrid[294][7] c_mygrid[295][7] c_mygrid[296][7] c_mygrid[297][7] c_mygrid[298][7] c_mygrid[299][7] & - c_mygrid[301][7] c_mygrid[302][7] c_mygrid[303][7] c_mygrid[304][7] c_mygrid[305][7] c_mygrid[306][7] c_mygrid[307][7] c_mygrid[308][7] c_mygrid[309][7] & + c_mygrid[300][7] c_mygrid[301][7] c_mygrid[302][7] c_mygrid[303][7] c_mygrid[304][7] c_mygrid[305][7] c_mygrid[306][7] c_mygrid[307][7] c_mygrid[308][7] c_mygrid[309][7] & c_mygrid[310][7] c_mygrid[311][7] c_mygrid[312][7] c_mygrid[313][7] c_mygrid[314][7] c_mygrid[315][7] c_mygrid[316][7] c_mygrid[317][7] c_mygrid[318][7] c_mygrid[319][7] & c_mygrid[320][7] c_mygrid[321][7] c_mygrid[322][7] c_mygrid[323][7] c_mygrid[324][7] c_mygrid[325][7] c_mygrid[326][7] c_mygrid[327][7] c_mygrid[328][7] c_mygrid[329][7] & c_mygrid[330][7] c_mygrid[331][7] c_mygrid[332][7] c_mygrid[333][7] c_mygrid[334][7] c_mygrid[335][7] c_mygrid[336][7] c_mygrid[337][7] c_mygrid[338][7] c_mygrid[339][7] & From 442585313c4e8c9ba03419987a44266412acaa33 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 15:11:14 -0600 Subject: [PATCH 013/153] Test --- examples/snap/in.grid.tri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index fc71c3a43f..da87774107 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -1,4 +1,4 @@ -# Demonstrate bispectrum computes +# Demonstrate bispectrum computes for triclinic cell # This triclinic cell has 6 times the volume of a single bcc cube # and contains 12 atoms. It is a 3x2x1 supercell From e102864c2dd9bf56b9a87808e98ac9b7042cff41 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 15:13:40 -0600 Subject: [PATCH 014/153] Test2 --- examples/snap/in.grid.tri | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index da87774107..a5b2453c3b 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -1,6 +1,7 @@ # Demonstrate bispectrum computes for triclinic cell -# This triclinic cell has 6 times the volume of a single bcc cube +# This triclinic cell has 6 times the volume of the single +# unit cell used by in.grid # and contains 12 atoms. It is a 3x2x1 supercell # with each unit cell containing 2 atoms and the # reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1]. From 01475cb3a84005ddde51411c97c4f5f1eb353d71 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 15:35:59 -0600 Subject: [PATCH 015/153] Test3 --- examples/snap/in.grid.tri | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index a5b2453c3b..201f763eeb 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -131,3 +131,4 @@ dump mydump_b all custom 1000 dump_b id c_b[*] run 0 + From 39039d261f39966bad202ded3c5244065f323aa3 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 15:37:49 -0600 Subject: [PATCH 016/153] Test6 --- examples/snap/in.grid.tri | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index 201f763eeb..f375c18c42 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -132,3 +132,4 @@ dump mydump_b all custom 1000 dump_b id c_b[*] run 0 + From e17ace385ddc6d00a485c1c8fd04989526462d6f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 17:47:45 -0600 Subject: [PATCH 017/153] First pass at distributed memory for grid --- src/SNAP/compute_sna_grid.cpp | 93 +++++++------- src/compute_grid.cpp | 224 ++++++++++++++++++++-------------- src/compute_grid.h | 17 ++- 3 files changed, 194 insertions(+), 140 deletions(-) diff --git a/src/SNAP/compute_sna_grid.cpp b/src/SNAP/compute_sna_grid.cpp index a9f3b6c3fb..196819008c 100644 --- a/src/SNAP/compute_sna_grid.cpp +++ b/src/SNAP/compute_sna_grid.cpp @@ -182,66 +182,75 @@ void ComputeSNAGrid::compute_array() snaptr->grow_rij(ntotal); - printf("ngrid = %d\n",ngrid); - for (int igrid = 0; igrid < ngrid; igrid++) { - if (!grid_local[igrid]) continue; - const double xtmp = grid[igrid][0]; - const double ytmp = grid[igrid][1]; - const double ztmp = grid[igrid][2]; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + const int igrid = iz*(nx*ny) + iy*nx + ix; + const double xtmp = grid[igrid][0]; + const double ytmp = grid[igrid][1]; + const double ztmp = grid[igrid][2]; - // rij[][3] = displacements between atom I and those neighbors - // inside = indices of neighbors of I within cutoff - // typej = types of neighbors of I within cutoff + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff - int ninside = 0; - for (int j = 0; j < ntotal; j++) { + int ninside = 0; + for (int j = 0; j < ntotal; j++) { - // check that j is in compute group + // check that j is in compute group - if (!(mask[j] & groupbit)) continue; + if (!(mask[j] & groupbit)) continue; - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - int jtype = type[j]; - if (rsq < cutsq[jtype][jtype] && rsq>1e-20) { - // printf("ninside = %d\n",ninside); - snaptr->rij[ninside][0] = delx; - snaptr->rij[ninside][1] = dely; - snaptr->rij[ninside][2] = delz; - snaptr->inside[ninside] = j; - snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - ninside++; - } - } + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + if (rsq < cutsq[jtype][jtype] && rsq>1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + ninside++; + } + } - snaptr->compute_ui(ninside); - snaptr->compute_zi(); - snaptr->compute_bi(); - for (int icoeff = 0; icoeff < ncoeff; icoeff++) - grid[igrid][size_array_cols_base+icoeff] = snaptr->blist[icoeff]; - // printf("igrid = %d %g %g %g %d B0 = %g\n",igrid,xtmp,ytmp,ztmp,ninside,sna[igrid][size_array_cols_base+0]); - if (quadraticflag) { - int ncount = ncoeff; - for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bi = snaptr->blist[icoeff]; + snaptr->compute_ui(ninside); + snaptr->compute_zi(); + snaptr->compute_bi(); + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + gridlocal[size_array_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bi = snaptr->blist[icoeff]; - // diagonal element of quadratic matrix + // diagonal element of quadratic matrix - grid[igrid][size_array_cols_base+ncount++] = 0.5*bi*bi; + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bi*bi; // upper-triangular elements of quadratic matrix for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - grid[igrid][size_array_cols_base+ncount++] = bi*snaptr->blist[jcoeff]; + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bi*snaptr->blist[jcoeff]; } } } + + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + const int igrid = iz*(nx*ny) + iy*nx + ix; + for (int j = 0; j < nvalues; j++) + grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; + } MPI_Allreduce(&grid[0][0],&gridall[0][0],ngrid*size_array_cols,MPI_DOUBLE,MPI_SUM,world); + } + /* ---------------------------------------------------------------------- memory usage ------------------------------------------------------------------------- */ diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 011dafa030..b16a51b739 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -21,13 +21,14 @@ #include "force.h" #include "memory.h" #include "error.h" +#include "comm.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), grid(NULL), grid_local(NULL) + Compute(lmp, narg, arg), grid(NULL), local_flags(NULL), gridlocal(NULL) { if (narg < 6) error->all(FLERR,"Illegal compute grid command"); @@ -59,7 +60,8 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid::~ComputeGrid() { memory->destroy(grid); - memory->destroy(grid_local); + memory->destroy(local_flags); + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); } /* ---------------------------------------------------------------------- */ @@ -72,7 +74,118 @@ void ComputeGrid::init() void ComputeGrid::setup() { - + + set_grid_global(); + set_grid_local(); + allocate(); + assign_coords(); + assign_local_flags(); +} + +/* ---------------------------------------------------------------------- + convert global array index to box coords +------------------------------------------------------------------------- */ + +void ComputeGrid::grid2x(int igrid, double *x) +{ + int iz = igrid / (nx*ny); + igrid -= iz * (nx*ny); + int iy = igrid / nx; + igrid -= iy * nx; + int ix = igrid; + + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; + + if (triclinic) domain->lamda2x(x, x); + +} + +/* ---------------------------------------------------------------------- + check if grid point is local +------------------------------------------------------------------------- */ + +int ComputeGrid::check_local(int igrid) +{ + double x[3]; + + int iz = igrid / (nx*ny); + igrid -= iz * (nx*ny); + int iy = igrid / nx; + igrid -= iy * nx; + int ix = igrid; + + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; + + int islocal = + x[0] >= sublo[0] && x[0] < subhi[0] && + x[1] >= sublo[1] && x[1] < subhi[1] && + x[2] >= sublo[2] && x[2] < subhi[2]; + + return islocal; +} + +/* ---------------------------------------------------------------------- + copy coords to global array +------------------------------------------------------------------------- */ + +void ComputeGrid::assign_coords() +{ + double x[3]; + for (int igrid = 0; igrid < ngrid; igrid++) { + grid2x(igrid,x); + grid[igrid][0] = x[0]; + grid[igrid][1] = x[1]; + grid[igrid][2] = x[2]; + } +} + +/* ---------------------------------------------------------------------- + copy coords to global array +------------------------------------------------------------------------- */ + +void ComputeGrid::assign_local_flags() +{ + double x[3]; + for (int igrid = 0; igrid < ngrid; igrid++) { + if (check_local(igrid)) + local_flags[igrid] = 1; + else { + local_flags[igrid] = 0; + memset(grid[igrid],0,size_array_cols); + } + } +} + +/* ---------------------------------------------------------------------- + free and reallocate arrays +------------------------------------------------------------------------- */ + +void ComputeGrid::allocate() +{ + // allocate arrays + + memory->destroy(grid); + memory->destroy(local_flags); + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); + memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); + memory->create(local_flags,size_array_rows,"grid:local_flags"); + memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, + nxlo,nxhi,"grid:gridlocal"); + array = gridall; +} + + +/* ---------------------------------------------------------------------- + set global grid +------------------------------------------------------------------------- */ + +void ComputeGrid::set_grid_global() +{ // calculate grid layout triclinic = domain->triclinic; @@ -100,105 +213,31 @@ void ComputeGrid::setup() delx = 1.0/delxinv; dely = 1.0/delyinv; delz = 1.0/delzinv; - - allocate(); - assign_grid_coords(); - assign_grid_local(); } /* ---------------------------------------------------------------------- - convert global array index to box coords + set local subset of grid that I own + n xyz lo/hi = 3d brick that I own (inclusive) ------------------------------------------------------------------------- */ -void ComputeGrid::grid2x(int igrid, double *x) +void ComputeGrid::set_grid_local() { - int iz = igrid / (nx*ny); - igrid -= iz * (nx*ny); - int iy = igrid / nx; - igrid -= iy * nx; - int ix = igrid; + // global indices of grid range from 0 to N-1 + // nlo,nhi = lower/upper limits of the 3d sub-brick of + // global grid that I own without ghost cells - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; + nxlo = static_cast (comm->xsplit[comm->myloc[0]] * nx); + nxhi = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; - if (triclinic) domain->lamda2x(x, x); + nylo = static_cast (comm->ysplit[comm->myloc[1]] * ny); + nyhi = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; + nzlo = static_cast (comm->zsplit[comm->myloc[2]] * nz); + nzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; + + ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); } -/* ---------------------------------------------------------------------- - check if grid point is local -------------------------------------------------------------------------- */ - -int ComputeGrid::check_grid_local(int igrid) -{ - double x[3]; - - int iz = igrid / (nx*ny); - igrid -= iz * (nx*ny); - int iy = igrid / nx; - igrid -= iy * nx; - int ix = igrid; - - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; - - int islocal = - x[0] >= sublo[0] && x[0] < subhi[0] && - x[1] >= sublo[1] && x[1] < subhi[1] && - x[2] >= sublo[2] && x[2] < subhi[2]; - - return islocal; -} - -/* ---------------------------------------------------------------------- - copy coords to global array -------------------------------------------------------------------------- */ - -void ComputeGrid::assign_grid_coords() -{ - double x[3]; - for (int igrid = 0; igrid < ngrid; igrid++) { - grid2x(igrid,x); - grid[igrid][0] = x[0]; - grid[igrid][1] = x[1]; - grid[igrid][2] = x[2]; - } -} - -/* ---------------------------------------------------------------------- - copy coords to global array -------------------------------------------------------------------------- */ - -void ComputeGrid::assign_grid_local() -{ - double x[3]; - for (int igrid = 0; igrid < ngrid; igrid++) { - if (check_grid_local(igrid)) - grid_local[igrid] = 1; - else { - grid_local[igrid] = 0; - memset(grid[igrid],0,size_array_cols); - } - } -} - -/* ---------------------------------------------------------------------- - free and reallocate arrays -------------------------------------------------------------------------- */ - -void ComputeGrid::allocate() -{ - // grow global array if necessary - - memory->destroy(grid); - memory->destroy(grid_local); - memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); - memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); - memory->create(grid_local,size_array_rows,"grid:grid_local"); - array = gridall; -} /* ---------------------------------------------------------------------- memory usage of local data ------------------------------------------------------------------------- */ @@ -207,6 +246,7 @@ double ComputeGrid::memory_usage() { double nbytes = size_array_rows*size_array_cols * sizeof(double); // grid - nbytes += size_array_rows*sizeof(int); // grid_local + nbytes += size_array_rows*sizeof(int); // local_flags + nbytes += size_array_cols*ngridlocal*sizeof(double); // gridlocal return nbytes; } diff --git a/src/compute_grid.h b/src/compute_grid.h index a1c938db2e..7e1a4d706b 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -30,11 +30,14 @@ class ComputeGrid : public Compute { double memory_usage(); protected: - int nx, ny, nz; // grid dimensions - int ngrid; // number of grid points + int nx, ny, nz; // global grid dimensions + int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive + int ngrid; // number of global grid points + int ngridlocal; // number of local grid points int nvalues; // number of values per grid point double **grid; // global grid double **gridall; // global grid summed over procs + double ****gridlocal; // local grid int triclinic; // triclinic flag double *boxlo, *prd; // box info (units real/ortho or reduced/tri) double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) @@ -43,12 +46,14 @@ class ComputeGrid : public Compute { int nargbase; // number of base class args double cutmax; // largest cutoff distance int size_array_cols_base; // number of columns used for coords, etc. - int *grid_local; // local flag for each grid point + int *local_flags; // local flag for each grid point void allocate(); void grid2x(int, double*); // convert grid point to coord - void assign_grid_coords(); // assign coords for grid - void assign_grid_local(); // set local flag for each grid point - int check_grid_local(int); // check if grid point is local + void assign_coords(); // assign coords for grid + void assign_local_flags(); // set local flag for each grid point + int check_local(int); // check if grid point is local + void set_grid_global(); // set global grid + void set_grid_local(); // set bounds for local grid private: }; From 4c22f094de1c0a5632c3514974f75bc6e2c85c78 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 2 Jul 2021 18:15:55 -0600 Subject: [PATCH 018/153] Minor tweak --- src/compute_grid.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index b16a51b739..1939dd544e 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -74,7 +74,6 @@ void ComputeGrid::init() void ComputeGrid::setup() { - set_grid_global(); set_grid_local(); allocate(); @@ -149,7 +148,6 @@ void ComputeGrid::assign_coords() void ComputeGrid::assign_local_flags() { - double x[3]; for (int igrid = 0; igrid < ngrid; igrid++) { if (check_local(igrid)) local_flags[igrid] = 1; From 07db7a40955ebb356ea16166985b1b296d1d8bb3 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 14 Jul 2021 13:35:05 -0600 Subject: [PATCH 019/153] Changed to different check_local() --- src/SNAP/compute_sna_grid.cpp | 6 +-- src/compute_grid.cpp | 75 ++++++++++++++++++++++++++--------- src/compute_grid.h | 3 ++ 3 files changed, 63 insertions(+), 21 deletions(-) diff --git a/src/SNAP/compute_sna_grid.cpp b/src/SNAP/compute_sna_grid.cpp index 196819008c..d2c2ae74ca 100644 --- a/src/SNAP/compute_sna_grid.cpp +++ b/src/SNAP/compute_sna_grid.cpp @@ -231,10 +231,10 @@ void ComputeSNAGrid::compute_array() gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bi*bi; - // upper-triangular elements of quadratic matrix + // upper-triangular elements of quadratic matrix - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bi*snaptr->blist[jcoeff]; + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bi*snaptr->blist[jcoeff]; } } } diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 1939dd544e..3cbcb2c2db 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -53,6 +53,7 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : size_array_rows = ngrid = nx*ny*nz; size_array_cols_base = 3; + gridlocal_allocated = 0; } /* ---------------------------------------------------------------------- */ @@ -61,7 +62,8 @@ ComputeGrid::~ComputeGrid() { memory->destroy(grid); memory->destroy(local_flags); - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + if (gridlocal_allocated) + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); } /* ---------------------------------------------------------------------- */ @@ -101,28 +103,59 @@ void ComputeGrid::grid2x(int igrid, double *x) } +/* ---------------------------------------------------------------------- + convert global array index to box coords +------------------------------------------------------------------------- */ + +void ComputeGrid::grid2ix(int igrid, int& ix, int& iy, int& iz) +{ + iz = igrid / (nx*ny); + igrid -= iz * (nx*ny); + iy = igrid / nx; + igrid -= iy * nx; + ix = igrid; +} + +// /* ---------------------------------------------------------------------- +// check if grid point is local +// ------------------------------------------------------------------------- */ + +// int ComputeGrid::check_local(int igrid) +// { +// double x[3]; + +// int iz = igrid / (nx*ny); +// igrid -= iz * (nx*ny); +// int iy = igrid / nx; +// igrid -= iy * nx; +// int ix = igrid; + +// x[0] = ix*delx; +// x[1] = iy*dely; +// x[2] = iz*delz; + +// int islocal = +// x[0] >= sublo[0] && x[0] < subhi[0] && +// x[1] >= sublo[1] && x[1] < subhi[1] && +// x[2] >= sublo[2] && x[2] < subhi[2]; + +// return islocal; +// } + /* ---------------------------------------------------------------------- check if grid point is local ------------------------------------------------------------------------- */ int ComputeGrid::check_local(int igrid) { - double x[3]; + int ix, iy, iz; - int iz = igrid / (nx*ny); - igrid -= iz * (nx*ny); - int iy = igrid / nx; - igrid -= iy * nx; - int ix = igrid; - - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; + grid2ix(igrid, ix, iy, iz); int islocal = - x[0] >= sublo[0] && x[0] < subhi[0] && - x[1] >= sublo[1] && x[1] < subhi[1] && - x[2] >= sublo[2] && x[2] < subhi[2]; + ix >= nxlo && ix <= nxhi && + iy >= nylo && iy <= nyhi && + iz >= nzlo && iz <= nzhi; return islocal; } @@ -153,7 +186,7 @@ void ComputeGrid::assign_local_flags() local_flags[igrid] = 1; else { local_flags[igrid] = 0; - memset(grid[igrid],0,size_array_cols); + memset(grid[igrid],0,size_array_cols * sizeof(double)); } } } @@ -168,12 +201,16 @@ void ComputeGrid::allocate() memory->destroy(grid); memory->destroy(local_flags); - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + if (gridlocal_allocated) + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); memory->create(local_flags,size_array_rows,"grid:local_flags"); - memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, - nxlo,nxhi,"grid:gridlocal"); + if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { + gridlocal_allocated = 1; + memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, + nxlo,nxhi,"grid:gridlocal"); + } array = gridall; } @@ -234,6 +271,8 @@ void ComputeGrid::set_grid_local() nzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); + + printf("me = %d n = %d x %d %d y %d %d z %d %d \n", comm->me, ngridlocal, nxlo, nxhi, nylo, nyhi, nzlo, nzhi); } /* ---------------------------------------------------------------------- diff --git a/src/compute_grid.h b/src/compute_grid.h index 7e1a4d706b..1b2797732d 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -47,8 +47,11 @@ class ComputeGrid : public Compute { double cutmax; // largest cutoff distance int size_array_cols_base; // number of columns used for coords, etc. int *local_flags; // local flag for each grid point + int gridlocal_allocated; // shows if gridlocal allocated + void allocate(); void grid2x(int, double*); // convert grid point to coord + void grid2ix(int, int&, int&, int&); // convert grid point to ix, iy, iz void assign_coords(); // assign coords for grid void assign_local_flags(); // set local flag for each grid point int check_local(int); // check if grid point is local From 6378d1d128612d3ee6f214bebcb88df54604a7fc Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 14 Jul 2021 13:50:49 -0600 Subject: [PATCH 020/153] Moved SNAP files to ML-SNAP --- src/{SNAP => ML-SNAP}/compute_sna_grid.cpp | 0 src/{SNAP => ML-SNAP}/compute_sna_grid.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/{SNAP => ML-SNAP}/compute_sna_grid.cpp (100%) rename src/{SNAP => ML-SNAP}/compute_sna_grid.h (100%) diff --git a/src/SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp similarity index 100% rename from src/SNAP/compute_sna_grid.cpp rename to src/ML-SNAP/compute_sna_grid.cpp diff --git a/src/SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h similarity index 100% rename from src/SNAP/compute_sna_grid.h rename to src/ML-SNAP/compute_sna_grid.h From 614c3bc5b9905ba6c306a74208636e9eb9cd76c1 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 19 Jul 2021 14:44:08 -0600 Subject: [PATCH 021/153] Merged in old compute-grid --- src/ML-SNAP/compute_sna_grid.cpp | 122 +++++++++++++++++++++++-------- src/ML-SNAP/compute_sna_grid.h | 6 +- src/ML-SNAP/compute_snap.cpp | 2 - src/compute_grid.cpp | 6 +- 4 files changed, 98 insertions(+), 38 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index d2c2ae74ca..89e4b450bb 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -13,8 +13,6 @@ #include "compute_grid.h" #include "compute_sna_grid.h" -#include -#include #include "sna.h" #include "atom.h" #include "update.h" @@ -27,17 +25,20 @@ #include "comm.h" #include "memory.h" #include "error.h" +#include "tokenizer.h" + +#include +#include using namespace LAMMPS_NS; ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : - ComputeGrid(lmp, narg, arg), cutsq(NULL), sna(NULL), - radelem(NULL), wjelem(NULL) + ComputeGrid(lmp, narg, arg), cutsq(nullptr), + radelem(nullptr), wjelem(nullptr) { - double rmin0, rfac0; - int twojmax, switchflag, bzeroflag; - radelem = NULL; - wjelem = NULL; + + double rfac0, rmin0; + int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; // skip over arguments used by base class // so that argument positions are identical to @@ -57,10 +58,14 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : switchflag = 1; bzeroflag = 1; quadraticflag = 0; + chemflag = 0; + bnormflag = 0; + wselfallflag = 0; + nelements = 1; + + // process required arguments - // offset by 1 to match up with types - - memory->create(radelem,ntypes+1,"sna/grid:radelem"); + memory->create(radelem,ntypes+1,"sna/grid:radelem"); // offset by 1 to match up with types memory->create(wjelem,ntypes+1,"sna/grid:wjelem"); rcutfac = atof(arg[3]); @@ -112,12 +117,36 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute sna/grid command"); quadraticflag = atoi(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"chem") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + chemflag = 1; + memory->create(map,ntypes+1,"compute_sna_grid:map"); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + for (int i = 0; i < ntypes; i++) { + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); + if (jelem < 0 || jelem >= nelements) + error->all(FLERR,"Illegal compute sna/grid command"); + map[i+1] = jelem; + } + iarg += 2+ntypes; + } else if (strcmp(arg[iarg],"bnormflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + bnormflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"wselfallflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid command"); + wselfallflag = atoi(arg[iarg+1]); + iarg += 2; } else error->all(FLERR,"Illegal compute sna/grid command"); } - snaptr = new SNA(lmp,rfac0,twojmax, - rmin0,switchflag,bzeroflag); + snaptr = new SNA(lmp, rfac0, twojmax, + rmin0, switchflag, bzeroflag, + chemflag, bnormflag, wselfallflag, nelements); ncoeff = snaptr->ncoeff; nvalues = ncoeff; @@ -130,18 +159,19 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : ComputeSNAGrid::~ComputeSNAGrid() { - memory->destroy(sna); memory->destroy(radelem); memory->destroy(wjelem); memory->destroy(cutsq); delete snaptr; + + if (chemflag) memory->destroy(map); } /* ---------------------------------------------------------------------- */ void ComputeSNAGrid::init() { - if (force->pair == NULL) + if (force->pair == nullptr) error->all(FLERR,"Compute sna/grid requires a pair style be defined"); if (cutmax > force->pair->cutforce) @@ -170,12 +200,28 @@ void ComputeSNAGrid::compute_array() { invoked_array = update->ntimestep; - int * const type = atom->type; + // invoke full neighbor list (will copy or build if necessary) + + // neighbor->build_one(list); + + int mynxlo = static_cast (comm->xsplit[comm->myloc[0]] * nx); + int mynxhi = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; + + int mynylo = static_cast (comm->ysplit[comm->myloc[1]] * ny); + int mynyhi = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; + + int mynzlo = static_cast (comm->zsplit[comm->myloc[2]] * nz); + int mynzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; + + int myngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); + + printf("me = %d n = %d x %d %d y %d %d z %d %d \n", comm->me, myngridlocal, mynxlo, mynxhi, mynylo, mynyhi, mynzlo, mynzhi); // compute sna for each gridpoint double** const x = atom->x; const int* const mask = atom->mask; + int * const type = atom->type; const int ntotal = atom->nlocal + atom->nghost; // insure rij, inside, and typej are of size jnum @@ -190,6 +236,14 @@ void ComputeSNAGrid::compute_array() const double ytmp = grid[igrid][1]; const double ztmp = grid[igrid][2]; + // currently, all grid points are type 1 + + const int itype = 1; + int ielem = 0; + if (chemflag) + ielem = map[itype]; + const double radi = radelem[itype]; + // rij[][3] = displacements between atom I and those neighbors // inside = indices of neighbors of I within cutoff // typej = types of neighbors of I within cutoff @@ -206,6 +260,9 @@ void ComputeSNAGrid::compute_array() const double delz = ztmp - x[j][2]; const double rsq = delx*delx + dely*dely + delz*delz; int jtype = type[j]; + int jelem = 0; + if (chemflag) + jelem = map[jtype]; if (rsq < cutsq[jtype][jtype] && rsq>1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; @@ -213,32 +270,33 @@ void ComputeSNAGrid::compute_array() snaptr->inside[ninside] = j; snaptr->wj[ninside] = wjelem[jtype]; snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + snaptr->element[ninside] = jelem; // element index for multi-element snap ninside++; } } - snaptr->compute_ui(ninside); + snaptr->compute_ui(ninside, ielem); snaptr->compute_zi(); - snaptr->compute_bi(); + snaptr->compute_bi(ielem); + + // linear contributions + for (int icoeff = 0; icoeff < ncoeff; icoeff++) gridlocal[size_array_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; + + // quadratic contributions + if (quadraticflag) { int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bi = snaptr->blist[icoeff]; - - // diagonal element of quadratic matrix - - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bi*bi; - - // upper-triangular elements of quadratic matrix - + double bveci = snaptr->blist[icoeff]; + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bveci*bveci; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bi*snaptr->blist[jcoeff]; + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bveci*snaptr->blist[jcoeff]; + } + } } - } - } - + for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { @@ -257,7 +315,9 @@ void ComputeSNAGrid::compute_array() double ComputeSNAGrid::memory_usage() { - double nbytes = snaptr->memory_usage(); // SNA object + double nbytes = snaptr->memory_usage(); // SNA object + int n = atom->ntypes+1; + nbytes += (double)n*sizeof(int); // map return nbytes; } diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index 0242a2962b..e2640081af 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -35,11 +35,13 @@ class ComputeSNAGrid : public ComputeGrid { private: int ncoeff; double **cutsq; - double **sna; double rcutfac; double *radelem; double *wjelem; - class SNA* snaptr; + int *map; // map types to [0,nelements) + int nelements, chemflag; + class SNA *snaptr; + double cutmax; int quadraticflag; }; diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index 63deff9f8f..6da7b78444 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -43,8 +43,6 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; - radelem = nullptr; - wjelem = nullptr; int ntypes = atom->ntypes; int nargmin = 6+2*ntypes; diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 3cbcb2c2db..3bdbddbc0c 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -41,9 +41,9 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : int iarg = iarg0; if (strcmp(arg[iarg],"grid") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal compute grid command"); - nx = force->inumeric(FLERR,arg[iarg+1]); - ny = force->inumeric(FLERR,arg[iarg+2]); - nz = force->inumeric(FLERR,arg[iarg+3]); + nx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + nz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (nx <= 0 || ny <= 0 || nz <= 0) error->all(FLERR,"All grid dimensions must be positive"); iarg += 4; From 6d75912f7a567925c5f36ef19fd3f5e6d46d12ff Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 28 Jul 2021 18:34:08 -0600 Subject: [PATCH 022/153] Switched to local array --- src/ML-SNAP/compute_sna_grid.cpp | 30 +++++++++------ src/ML-SNAP/compute_sna_grid.h | 2 + src/compute_grid.cpp | 64 +++++++++++++++++++++++++------- 3 files changed, 71 insertions(+), 25 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 89e4b450bb..0b0c0674e4 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -22,6 +22,7 @@ #include "neigh_request.h" #include "force.h" #include "pair.h" +#include "domain.h" #include "comm.h" #include "memory.h" #include "error.h" @@ -196,26 +197,31 @@ void ComputeSNAGrid::init() /* ---------------------------------------------------------------------- */ +void ComputeSNAGrid::init_list(int /*id*/, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + void ComputeSNAGrid::compute_array() { invoked_array = update->ntimestep; - // invoke full neighbor list (will copy or build if necessary) + // // invoke full neighbor list (will copy or build if necessary) - // neighbor->build_one(list); + // neighbor->build_one(list); - int mynxlo = static_cast (comm->xsplit[comm->myloc[0]] * nx); - int mynxhi = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; + // int mynxlo = static_cast (comm->xsplit[comm->myloc[0]] * nx); + // int mynxhi = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; - int mynylo = static_cast (comm->ysplit[comm->myloc[1]] * ny); - int mynyhi = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; + // int mynylo = static_cast (comm->ysplit[comm->myloc[1]] * ny); + // int mynyhi = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; - int mynzlo = static_cast (comm->zsplit[comm->myloc[2]] * nz); - int mynzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; + // int mynzlo = static_cast (comm->zsplit[comm->myloc[2]] * nz); + // int mynzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; - int myngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); - - printf("me = %d n = %d x %d %d y %d %d z %d %d \n", comm->me, myngridlocal, mynxlo, mynxhi, mynylo, mynyhi, mynzlo, mynzhi); + // int myngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); // compute sna for each gridpoint @@ -263,7 +269,7 @@ void ComputeSNAGrid::compute_array() int jelem = 0; if (chemflag) jelem = map[jtype]; - if (rsq < cutsq[jtype][jtype] && rsq>1e-20) { + if (rsq < cutsq[jtype][jtype]) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; snaptr->rij[ninside][2] = delz; diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index e2640081af..d40c87df9b 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -29,12 +29,14 @@ class ComputeSNAGrid : public ComputeGrid { ComputeSNAGrid(class LAMMPS *, int, char **); ~ComputeSNAGrid(); void init(); + void init_list(int, class NeighList *); void compute_array(); double memory_usage(); private: int ncoeff; double **cutsq; + class NeighList *list; double rcutfac; double *radelem; double *wjelem; diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 3bdbddbc0c..740131deda 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -28,7 +28,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), grid(NULL), local_flags(NULL), gridlocal(NULL) + Compute(lmp, narg, arg), grid(nullptr), gridall(nullptr), local_flags(nullptr), gridlocal(nullptr) { if (narg < 6) error->all(FLERR,"Illegal compute grid command"); @@ -61,9 +61,12 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid::~ComputeGrid() { memory->destroy(grid); + memory->destroy(gridall); memory->destroy(local_flags); - if (gridlocal_allocated) + if (gridlocal_allocated) { + gridlocal_allocated = 0; memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + } } /* ---------------------------------------------------------------------- */ @@ -200,9 +203,14 @@ void ComputeGrid::allocate() // allocate arrays memory->destroy(grid); + memory->destroy(gridall); memory->destroy(local_flags); - if (gridlocal_allocated) - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + if (gridlocal_allocated) { + gridlocal_allocated = 0; + // can't seem to do this without seg-fault + // memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + } + memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); memory->create(local_flags,size_array_rows,"grid:local_flags"); @@ -257,18 +265,48 @@ void ComputeGrid::set_grid_global() void ComputeGrid::set_grid_local() { - // global indices of grid range from 0 to N-1 - // nlo,nhi = lower/upper limits of the 3d sub-brick of - // global grid that I own without ghost cells + // nx,ny,nz = extent of global grid + // indices into the global grid range from 0 to N-1 in each dim + // if grid point is inside my sub-domain I own it, + // this includes sub-domain lo boundary but excludes hi boundary + // ixyz lo/hi = inclusive lo/hi bounds of global grid sub-brick I own + // if proc owns no grid cells in a dim, then ilo > ihi + // if 2 procs share a boundary a grid point is exactly on, + // the 2 equality if tests insure a consistent decision + // as to which proc owns it - nxlo = static_cast (comm->xsplit[comm->myloc[0]] * nx); - nxhi = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; + double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; - nylo = static_cast (comm->ysplit[comm->myloc[1]] * ny); - nyhi = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; + if (comm->layout != Comm::LAYOUT_TILED) { + xfraclo = comm->xsplit[comm->myloc[0]]; + xfrachi = comm->xsplit[comm->myloc[0]+1]; + yfraclo = comm->ysplit[comm->myloc[1]]; + yfrachi = comm->ysplit[comm->myloc[1]+1]; + zfraclo = comm->zsplit[comm->myloc[2]]; + zfrachi = comm->zsplit[comm->myloc[2]+1]; + } else { + xfraclo = comm->mysplit[0][0]; + xfrachi = comm->mysplit[0][1]; + yfraclo = comm->mysplit[1][0]; + yfrachi = comm->mysplit[1][1]; + zfraclo = comm->mysplit[2][0]; + zfrachi = comm->mysplit[2][1]; + } - nzlo = static_cast (comm->zsplit[comm->myloc[2]] * nz); - nzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; + nxlo = static_cast (xfraclo * nx); + if (1.0*nxlo != xfraclo*nx) nxlo++; + nxhi = static_cast (xfrachi * nx); + if (1.0*nxhi == xfrachi*nx) nxhi--; + + nylo = static_cast (yfraclo * ny); + if (1.0*nylo != yfraclo*ny) nylo++; + nyhi = static_cast (yfrachi * ny); + if (1.0*nyhi == yfrachi*ny) nyhi--; + + nzlo = static_cast (zfraclo * nz); + if (1.0*nzlo != zfraclo*nz) nzlo++; + nzhi = static_cast (zfrachi * nz); + if (1.0*nzhi == zfrachi*nz) nzhi--; ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); From 162868f13c5aa8b314634b0a89bbc8851a6f508c Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 30 Jul 2021 10:01:20 -0600 Subject: [PATCH 023/153] Readded r=0 check --- src/ML-SNAP/compute_sna_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 0b0c0674e4..62778a9e83 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -269,7 +269,7 @@ void ComputeSNAGrid::compute_array() int jelem = 0; if (chemflag) jelem = map[jtype]; - if (rsq < cutsq[jtype][jtype]) { + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; snaptr->rij[ninside][2] = delz; From 347e5a59783a4924aee2cf48a3b09c46c15d3374 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 22 Aug 2021 16:03:50 -0600 Subject: [PATCH 024/153] Created local grid that is used to populate global grid --- src/ML-SNAP/compute_sna_grid.cpp | 27 ++++++--------------------- src/compute_grid.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 62778a9e83..2def0cf6a4 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -37,7 +37,6 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { - double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -208,21 +207,6 @@ void ComputeSNAGrid::compute_array() { invoked_array = update->ntimestep; - // // invoke full neighbor list (will copy or build if necessary) - - // neighbor->build_one(list); - - // int mynxlo = static_cast (comm->xsplit[comm->myloc[0]] * nx); - // int mynxhi = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; - - // int mynylo = static_cast (comm->ysplit[comm->myloc[1]] * ny); - // int mynyhi = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; - - // int mynzlo = static_cast (comm->zsplit[comm->myloc[2]] * nz); - // int mynzhi = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; - - // int myngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); - // compute sna for each gridpoint double** const x = atom->x; @@ -285,7 +269,7 @@ void ComputeSNAGrid::compute_array() snaptr->compute_zi(); snaptr->compute_bi(ielem); - // linear contributions + // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) gridlocal[size_array_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; @@ -302,16 +286,17 @@ void ComputeSNAGrid::compute_array() } } } - + for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - const int igrid = iz*(nx*ny) + iy*nx + ix; - for (int j = 0; j < nvalues; j++) - grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; + const int igrid = iz*(nx*ny) + iy*nx + ix; + for (int j = 0; j < nvalues; j++) + grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; } MPI_Allreduce(&grid[0][0],&gridall[0][0],ngrid*size_array_cols,MPI_DOUBLE,MPI_SUM,world); + } diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 740131deda..0d880b94d5 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -207,8 +207,11 @@ void ComputeGrid::allocate() memory->destroy(local_flags); if (gridlocal_allocated) { gridlocal_allocated = 0; - // can't seem to do this without seg-fault + // MEMORY LEAK!! + // can't seem to free this memory without seg-fault + // printf("Before allocate destroy4d, proc %d %p\n",comm->me,gridlocal); // memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + // printf("After allocate destroy4d, proc %d %p\n",comm->me,gridlocal); } memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); @@ -310,7 +313,6 @@ void ComputeGrid::set_grid_local() ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); - printf("me = %d n = %d x %d %d y %d %d z %d %d \n", comm->me, ngridlocal, nxlo, nxhi, nylo, nyhi, nzlo, nzhi); } /* ---------------------------------------------------------------------- From 94c97e83a2b108f681a90ea72a0d4e340ba269bc Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 22 Aug 2021 18:30:02 -0600 Subject: [PATCH 025/153] Added this helper file --- examples/snap/lammps_utils.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 examples/snap/lammps_utils.py diff --git a/examples/snap/lammps_utils.py b/examples/snap/lammps_utils.py new file mode 100644 index 0000000000..ea74459a74 --- /dev/null +++ b/examples/snap/lammps_utils.py @@ -0,0 +1,26 @@ +import numpy as np +import ctypes + +def set_cmdlinevars(cmdargs, argdict): + for key in argdict.keys(): + cmdargs += ["-var",key,f"{argdict[key]}"] + return cmdargs + +def extract_commands(string): + return [x for x in string.splitlines() if x.strip() != ''] + +def extract_compute_np(lmp,name,compute_type,result_type,array_shape): + """ + Convert a lammps compute to a numpy array. + Assumes the compute returns a floating point numbers. + Note that the result is a view into the original memory. + If the result type is 0 (scalar) then conversion to numpy is skipped and a python float is returned. + """ + ptr = lmp.extract_compute(name, compute_type, result_type) # 1,2: Style (1) is per-atom compute, returns array type (2). + if result_type == 0: return ptr # No casting needed, lammps.py already works + if result_type == 2: ptr = ptr.contents + total_size = np.prod(array_shape) + buffer_ptr = ctypes.cast(ptr, ctypes.POINTER(ctypes.c_double * total_size)) + array_np = np.frombuffer(buffer_ptr.contents, dtype=float) + array_np.shape = array_shape + return array_np From 1b1f6f29c251b8c03d254737927149ebdba08211 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 22 Aug 2021 18:44:35 -0600 Subject: [PATCH 026/153] Updated grid.py to use sna/grid/local compute, but it seg-faults --- examples/snap/in.grid.python | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/snap/in.grid.python b/examples/snap/in.grid.python index 13fe6d0638..e04415d558 100644 --- a/examples/snap/in.grid.python +++ b/examples/snap/in.grid.python @@ -43,6 +43,8 @@ compute b all sna/atom ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${r compute bgrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} +compute bgridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} + # create dummy potential for neighbor list variable rcutneigh equal 2.0*${rcutfac}*${radelem} @@ -56,6 +58,8 @@ thermo_modify norm yes dump mydump_b all custom 1000 dump_b id c_b[*] +dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_bgridlocal[1] + # run run 0 From f473ca498bbe32b6439bfe78cfc937ef5e54fe71 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 22 Aug 2021 19:24:23 -0600 Subject: [PATCH 027/153] Created in.grid.local, fixed some problems in src --- examples/snap/in.grid.local | 73 ++++++ src/ML-SNAP/compute_sna_grid_local.cpp | 308 +++++++++++++++++++++++++ src/ML-SNAP/compute_sna_grid_local.h | 75 ++++++ src/compute_grid_local.cpp | 253 ++++++++++++++++++++ src/compute_grid_local.h | 69 ++++++ 5 files changed, 778 insertions(+) create mode 100644 examples/snap/in.grid.local create mode 100644 src/ML-SNAP/compute_sna_grid_local.cpp create mode 100644 src/ML-SNAP/compute_sna_grid_local.h create mode 100644 src/compute_grid_local.cpp create mode 100644 src/compute_grid_local.h diff --git a/examples/snap/in.grid.local b/examples/snap/in.grid.local new file mode 100644 index 0000000000..dc04fd5371 --- /dev/null +++ b/examples/snap/in.grid.local @@ -0,0 +1,73 @@ +# Demonstrate bispectrum computes with local grid + +# Initialize simulation + +variable nsteps index 0 +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 0 1 0 & + a3 0 0 1 & + basis 0 0 0 & + basis 0.5 0.5 0.5 & +# origin 0.25 0.25 0.25 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +include Ta06A.snap + +# define grid compute and atom compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 1 + +compute b all sna/atom & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +# define output + +# mygrid is ngrid by (3+nbis) = 8x8 +thermo_style custom step temp ke pe vol +thermo_modify norm yes + +dump mydump_b all custom 1000 dump_b id c_b[*] +dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_mygridlocal[*] + +# run + +run 0 + diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp new file mode 100644 index 0000000000..18d9f5496d --- /dev/null +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -0,0 +1,308 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_grid_local.h" +#include "compute_sna_grid_local.h" +#include "sna.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "force.h" +#include "pair.h" +#include "domain.h" +#include "comm.h" +#include "memory.h" +#include "error.h" +#include "tokenizer.h" + +#include +#include + +using namespace LAMMPS_NS; + +ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : + ComputeGridLocal(lmp, narg, arg), cutsq(nullptr), + radelem(nullptr), wjelem(nullptr) +{ + double rfac0, rmin0; + int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; + + // skip over arguments used by base class + // so that argument positions are identical to + // regular per-atom compute + + arg += nargbase; + narg -= nargbase; + + int ntypes = atom->ntypes; + int nargmin = 6+2*ntypes; + + if (narg < nargmin) error->all(FLERR,"Illegal compute sna/grid/local command"); + + // default values + + rmin0 = 0.0; + switchflag = 1; + bzeroflag = 1; + quadraticflag = 0; + chemflag = 0; + bnormflag = 0; + wselfallflag = 0; + nelements = 1; + + // process required arguments + + memory->create(radelem,ntypes+1,"sna/grid/local:radelem"); // offset by 1 to match up with types + memory->create(wjelem,ntypes+1,"sna/grid/local:wjelem"); + + rcutfac = atof(arg[3]); + rfac0 = atof(arg[4]); + twojmax = atoi(arg[5]); + + for(int i = 0; i < ntypes; i++) + radelem[i+1] = atof(arg[6+i]); + for(int i = 0; i < ntypes; i++) + wjelem[i+1] = atof(arg[6+ntypes+i]); + + // construct cutsq + + double cut; + cutmax = 0.0; + memory->create(cutsq,ntypes+1,ntypes+1,"sna/grid/local:cutsq"); + for(int i = 1; i <= ntypes; i++) { + cut = 2.0*radelem[i]*rcutfac; + if (cut > cutmax) cutmax = cut; + cutsq[i][i] = cut*cut; + for(int j = i+1; j <= ntypes; j++) { + cut = (radelem[i]+radelem[j])*rcutfac; + cutsq[i][j] = cutsq[j][i] = cut*cut; + } + } + + // process optional args + + int iarg = nargmin; + + while (iarg < narg) { + if (strcmp(arg[iarg],"rmin0") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + rmin0 = atof(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"switchflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + switchflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"bzeroflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + bzeroflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"quadraticflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + quadraticflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"chem") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + chemflag = 1; + memory->create(map,ntypes+1,"compute_sna_grid_local:map"); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + for (int i = 0; i < ntypes; i++) { + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); + if (jelem < 0 || jelem >= nelements) + error->all(FLERR,"Illegal compute sna/grid/local command"); + map[i+1] = jelem; + } + iarg += 2+ntypes; + } else if (strcmp(arg[iarg],"bnormflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + bnormflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"wselfallflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute sna/grid/local command"); + wselfallflag = atoi(arg[iarg+1]); + iarg += 2; + } else error->all(FLERR,"Illegal compute sna/grid/local command"); + + } + + snaptr = new SNA(lmp, rfac0, twojmax, + rmin0, switchflag, bzeroflag, + chemflag, bnormflag, wselfallflag, nelements); + + ncoeff = snaptr->ncoeff; + nvalues = ncoeff; + if (quadraticflag) nvalues += (ncoeff*(ncoeff+1))/2; + size_local_cols = size_local_cols_base + nvalues; +} + +/* ---------------------------------------------------------------------- */ + +ComputeSNAGridLocal::~ComputeSNAGridLocal() +{ + memory->destroy(radelem); + memory->destroy(wjelem); + memory->destroy(cutsq); + delete snaptr; + + if (chemflag) memory->destroy(map); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSNAGridLocal::init() +{ + if (force->pair == nullptr) + error->all(FLERR,"Compute sna/grid/local requires a pair style be defined"); + + if (cutmax > force->pair->cutforce) + error->all(FLERR,"Compute sna/grid/local cutoff is longer than pairwise cutoff"); + + // need an occasional full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->compute = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->occasional = 1; + + int count = 0; + for (int i = 0; i < modify->ncompute; i++) + if (strcmp(modify->compute[i]->style,"sna/grid/local") == 0) count++; + if (count > 1 && comm->me == 0) + error->warning(FLERR,"More than one compute sna/grid/local"); + snaptr->init(); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSNAGridLocal::init_list(int /*id*/, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSNAGridLocal::compute_local() +{ + invoked_array = update->ntimestep; + + // compute sna for each gridpoint + + double** const x = atom->x; + const int* const mask = atom->mask; + int * const type = atom->type; + const int ntotal = atom->nlocal + atom->nghost; + + // insure rij, inside, and typej are of size jnum + + snaptr->grow_rij(ntotal); + + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + double xgrid[3]; + grid2x(ix, iy, iz, xgrid); + const double xtmp = xgrid[0]; + const double ytmp = xgrid[1]; + const double ztmp = xgrid[2]; + + // currently, all grid points are type 1 + + const int itype = 1; + int ielem = 0; + if (chemflag) + ielem = map[itype]; + const double radi = radelem[itype]; + + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff + + int ninside = 0; + for (int j = 0; j < ntotal; j++) { + + // check that j is in compute group + + if (!(mask[j] & groupbit)) continue; + + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + int jelem = 0; + if (chemflag) + jelem = map[jtype]; + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + snaptr->element[ninside] = jelem; // element index for multi-element snap + ninside++; + } + } + + snaptr->compute_ui(ninside, ielem); + snaptr->compute_zi(); + snaptr->compute_bi(ielem); + + // linear contributions + + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + gridlocal[size_local_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; + + // quadratic contributions + + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bveci = snaptr->blist[icoeff]; + gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = 0.5*bveci*bveci; + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = bveci*snaptr->blist[jcoeff]; + } + } + } + + // copy 4d array to 2d array + + copy_gridlocal_to_local_array(); +} + + +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ + +double ComputeSNAGridLocal::memory_usage() +{ + double nbytes = snaptr->memory_usage(); // SNA object + int n = atom->ntypes+1; + nbytes += (double)n*sizeof(int); // map + + return nbytes; +} + diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h new file mode 100644 index 0000000000..21e321d123 --- /dev/null +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -0,0 +1,75 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(sna/grid/local,ComputeSNAGridLocal) + +#else + +#ifndef LMP_COMPUTE_SNA_GRID_LOCAL_H +#define LMP_COMPUTE_SNA_GRID_LOCAL_H + +#include "compute_grid_local.h" + +namespace LAMMPS_NS { + +class ComputeSNAGridLocal : public ComputeGridLocal { + public: + ComputeSNAGridLocal(class LAMMPS *, int, char **); + ~ComputeSNAGridLocal(); + void init(); + void init_list(int, class NeighList *); + void compute_local(); + double memory_usage(); + + private: + int ncoeff; + double **cutsq; + class NeighList *list; + double rcutfac; + double *radelem; + double *wjelem; + int *map; // map types to [0,nelements) + int nelements, chemflag; + class SNA *snaptr; + double cutmax; + int quadraticflag; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Compute sna/grid/local requires a pair style be defined + +Self-explanatory. + +E: Compute sna/grid/local cutoff is longer than pairwise cutoff + +Self-explanatory. + +W: More than one compute sna/grid/local + +Self-explanatory. + +*/ diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp new file mode 100644 index 0000000000..8c0f8ff066 --- /dev/null +++ b/src/compute_grid_local.cpp @@ -0,0 +1,253 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_grid_local.h" +#include +#include +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "domain.h" +#include "force.h" +#include "memory.h" +#include "error.h" +#include "comm.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +ComputeGridLocal::ComputeGridLocal(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), gridlocal(nullptr), alocal(nullptr) +{ + if (narg < 6) error->all(FLERR,"Illegal compute grid/local command"); + + local_flag = 1; + size_local_cols = 0; + size_local_rows = 0; + extarray = 0; + + int iarg0 = 3; + int iarg = iarg0; + if (strcmp(arg[iarg],"grid") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal compute grid/local command"); + nx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + nz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + if (nx <= 0 || ny <= 0 || nz <= 0) + error->all(FLERR,"All grid/local dimensions must be positive"); + iarg += 4; + } else error->all(FLERR,"Illegal compute grid/local command"); + + nargbase = iarg - iarg0; + + size_local_cols_base = 6; + gridlocal_allocated = 0; +} + +/* ---------------------------------------------------------------------- */ + +ComputeGridLocal::~ComputeGridLocal() +{ + if (gridlocal_allocated) { + gridlocal_allocated = 0; + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + } + memory->destroy(alocal); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeGridLocal::init() +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputeGridLocal::setup() +{ + set_grid_global(); + set_grid_local(); + allocate(); +} + +/* ---------------------------------------------------------------------- + convert global array indexes to box coords +------------------------------------------------------------------------- */ + +void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) +{ + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; + + if (triclinic) domain->lamda2x(x, x); +} + +/* ---------------------------------------------------------------------- + free and reallocate arrays +------------------------------------------------------------------------- */ + +void ComputeGridLocal::allocate() +{ + // allocate local array + + if (gridlocal_allocated) { + gridlocal_allocated = 0; + // MEMORY LEAK!! + // can't seem to free this memory without seg-fault + // printf("Before allocate destroy4d, proc %d %p\n",comm->me,gridlocal); + // memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + // printf("After allocate destroy4d, proc %d %p\n",comm->me,gridlocal); + } + + if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { + gridlocal_allocated = 1; + memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, + nxlo,nxhi,"grid:gridlocal"); + } +} + +/* ---------------------------------------------------------------------- + set global grid +------------------------------------------------------------------------- */ + +void ComputeGridLocal::set_grid_global() +{ + // calculate grid layout + + triclinic = domain->triclinic; + + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + double xprd = prd[0]; + double yprd = prd[1]; + double zprd = prd[2]; + + delxinv = nx/xprd; + delyinv = ny/yprd; + delzinv = nz/zprd; + + delx = 1.0/delxinv; + dely = 1.0/delyinv; + delz = 1.0/delzinv; +} + +/* ---------------------------------------------------------------------- + set local subset of grid that I own + n xyz lo/hi = 3d brick that I own (inclusive) +------------------------------------------------------------------------- */ + +void ComputeGridLocal::set_grid_local() +{ + // nx,ny,nz = extent of global grid + // indices into the global grid range from 0 to N-1 in each dim + // if grid point is inside my sub-domain I own it, + // this includes sub-domain lo boundary but excludes hi boundary + // ixyz lo/hi = inclusive lo/hi bounds of global grid sub-brick I own + // if proc owns no grid cells in a dim, then ilo > ihi + // if 2 procs share a boundary a grid point is exactly on, + // the 2 equality if tests insure a consistent decision + // as to which proc owns it + + double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; + + if (comm->layout != Comm::LAYOUT_TILED) { + xfraclo = comm->xsplit[comm->myloc[0]]; + xfrachi = comm->xsplit[comm->myloc[0]+1]; + yfraclo = comm->ysplit[comm->myloc[1]]; + yfrachi = comm->ysplit[comm->myloc[1]+1]; + zfraclo = comm->zsplit[comm->myloc[2]]; + zfrachi = comm->zsplit[comm->myloc[2]+1]; + } else { + xfraclo = comm->mysplit[0][0]; + xfrachi = comm->mysplit[0][1]; + yfraclo = comm->mysplit[1][0]; + yfrachi = comm->mysplit[1][1]; + zfraclo = comm->mysplit[2][0]; + zfrachi = comm->mysplit[2][1]; + } + + nxlo = static_cast (xfraclo * nx); + if (1.0*nxlo != xfraclo*nx) nxlo++; + nxhi = static_cast (xfrachi * nx); + if (1.0*nxhi == xfrachi*nx) nxhi--; + + nylo = static_cast (yfraclo * ny); + if (1.0*nylo != yfraclo*ny) nylo++; + nyhi = static_cast (yfrachi * ny); + if (1.0*nyhi == yfrachi*ny) nyhi--; + + nzlo = static_cast (zfraclo * nz); + if (1.0*nzlo != zfraclo*nz) nzlo++; + nzhi = static_cast (zfrachi * nz); + if (1.0*nzhi == zfrachi*nz) nzhi--; + + ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); + size_local_rows = ngridlocal; + + memory->destroy(alocal); + memory->create(alocal, size_local_rows, size_local_cols, "compute/grid/local:alocal"); + array_local = alocal; + + int igrid = 0; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + alocal[igrid][0] = ix; + alocal[igrid][1] = iy; + alocal[igrid][2] = iz; + double xgrid[3]; + grid2x(ix, iy, iz, xgrid); + alocal[igrid][3] = xgrid[0]; + alocal[igrid][4] = xgrid[1]; + alocal[igrid][5] = xgrid[2]; + igrid++; + } +} + +/* ---------------------------------------------------------------------- + copy the 4d gridlocal array values to the 2d local array +------------------------------------------------------------------------- */ + +void ComputeGridLocal::copy_gridlocal_to_local_array() +{ + int igrid = 0; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + for (int icol = size_local_cols_base; icol < size_local_cols; icol++) + alocal[igrid][icol] = gridlocal[icol][iz][iy][ix]; + igrid++; + } +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double ComputeGridLocal::memory_usage() +{ + int nbytes = size_array_cols*ngridlocal*sizeof(double); // gridlocal + return nbytes; +} diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h new file mode 100644 index 0000000000..b6cd882b2e --- /dev/null +++ b/src/compute_grid_local.h @@ -0,0 +1,69 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_COMPUTE_GRID_LOCAL_H +#define LMP_COMPUTE_GRID_LOCAL_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeGridLocal : public Compute { + public: + + ComputeGridLocal(class LAMMPS *, int, char **); + virtual ~ComputeGridLocal(); + void init(); + void setup(); + virtual void compute_local() = 0; + + double memory_usage(); + + protected: + int nx, ny, nz; // global grid dimensions + int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive + int ngridlocal; // number of local grid points + int nvalues; // number of values per grid point + double ****gridlocal; // local grid + double **alocal; // pointer to Compute::array_local + int triclinic; // triclinic flag + double *boxlo, *prd; // box info (units real/ortho or reduced/tri) + double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) + double delxinv,delyinv,delzinv; // inverse grid spacing + double delx,dely,delz; // grid spacing + int nargbase; // number of base class args + double cutmax; // largest cutoff distance + int size_local_cols_base; // number of columns used for coords, etc. + int gridlocal_allocated; // shows if gridlocal allocated + + void allocate(); + void grid2x(int, int, int, double*); // convert global indices to coordinates + void set_grid_global(); // set global grid + void set_grid_local(); // set bounds for local grid + void copy_gridlocal_to_local_array();// copy 4d gridlocal array to 2d local array + private: +}; + +} + +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ From 5bf13b2f3cc2c8e603f4ee20ae5cbb4c8cb4c1fb Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 25 Aug 2021 17:50:40 -0600 Subject: [PATCH 028/153] Declared victory on compute grid and grid/local --- src/ML-SNAP/compute_sna_grid_local.cpp | 11 +++++++---- src/compute_grid.cpp | 6 +----- src/compute_grid_local.cpp | 10 +++------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 18d9f5496d..c1574bfa26 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -272,17 +272,20 @@ void ComputeSNAGridLocal::compute_local() // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - gridlocal[size_local_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; - + gridlocal[size_local_cols_base+icoeff][iz][iy][ix] = + snaptr->blist[icoeff]; + // quadratic contributions if (quadraticflag) { int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = snaptr->blist[icoeff]; - gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = 0.5*bveci*bveci; + gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = + 0.5*bveci*bveci; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = bveci*snaptr->blist[jcoeff]; + gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = + bveci*snaptr->blist[jcoeff]; } } } diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 0d880b94d5..7eee793023 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -207,11 +207,7 @@ void ComputeGrid::allocate() memory->destroy(local_flags); if (gridlocal_allocated) { gridlocal_allocated = 0; - // MEMORY LEAK!! - // can't seem to free this memory without seg-fault - // printf("Before allocate destroy4d, proc %d %p\n",comm->me,gridlocal); - // memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - // printf("After allocate destroy4d, proc %d %p\n",comm->me,gridlocal); + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); } memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 8c0f8ff066..dab9aa44d4 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -104,16 +104,12 @@ void ComputeGridLocal::allocate() if (gridlocal_allocated) { gridlocal_allocated = 0; - // MEMORY LEAK!! - // can't seem to free this memory without seg-fault - // printf("Before allocate destroy4d, proc %d %p\n",comm->me,gridlocal); - // memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - // printf("After allocate destroy4d, proc %d %p\n",comm->me,gridlocal); + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); } if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; - memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, + memory->create4d_offset(gridlocal,size_local_cols,nzlo,nzhi,nylo,nyhi, nxlo,nxhi,"grid:gridlocal"); } } @@ -248,6 +244,6 @@ void ComputeGridLocal::copy_gridlocal_to_local_array() double ComputeGridLocal::memory_usage() { - int nbytes = size_array_cols*ngridlocal*sizeof(double); // gridlocal + int nbytes = size_local_cols*ngridlocal*sizeof(double); // gridlocal return nbytes; } From 78f9c7b47818dcffc6c89ecdeb9e8d1cb8df85a0 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 25 Aug 2021 17:52:53 -0600 Subject: [PATCH 029/153] Declared victory on compute grid and grid/local --- examples/snap/in.grid.local | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/snap/in.grid.local b/examples/snap/in.grid.local index dc04fd5371..121f0ba981 100644 --- a/examples/snap/in.grid.local +++ b/examples/snap/in.grid.local @@ -71,3 +71,7 @@ dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_mygridlocal[*] run 0 +run 0 + +run 0 + From ea3c89165a14565351d49b25fb14043b9f9a1649 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 26 Aug 2021 11:52:06 -0600 Subject: [PATCH 030/153] Resolved memory management issue exposed by RCB in in.grid.test --- examples/snap/in.grid.test | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 examples/snap/in.grid.test diff --git a/examples/snap/in.grid.test b/examples/snap/in.grid.test new file mode 100644 index 0000000000..c684200d44 --- /dev/null +++ b/examples/snap/in.grid.test @@ -0,0 +1,105 @@ +# Demonstrate bispectrum computes + +# CORRECTNESS: thermo output for c_mygrid[*][1] and c_mygrid[*][8] should +# match the values in dump_b: 108.173 3.21778 0.712238 7.06634 1.04273 + +# Initialize simulation + +variable nsteps index 0 +variable nrep index 3 +variable a index 3.316 +variable ngrid index 2 + +units metal + +atom_modify map yes + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 0 1 0 & + a3 0 0 1 & + basis 0 0 0 & + basis 0.5 0.5 0.5 & +# origin 0.25 0.25 0.25 +# origin 0.25e-3 0.25e-3 0.25e-3 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +write_dump all custom test.dump id type x y z + +# choose potential + +include Ta06A.snap + +# define grid compute and atom compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 1 + +compute b all sna/atom & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} + +# define output + +# mygrid is ngrid by (3+nbis) = 8x8 +thermo_style custom step temp ke pe vol & + c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] & + c_mygrid[1][2] c_mygrid[2][2] c_mygrid[3][2] c_mygrid[4][2] c_mygrid[5][2] c_mygrid[6][2] c_mygrid[7][2] c_mygrid[8][2] & + c_mygrid[1][3] c_mygrid[2][3] c_mygrid[3][3] c_mygrid[4][3] c_mygrid[5][3] c_mygrid[6][3] c_mygrid[7][3] c_mygrid[8][3] & + c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] & + c_mygrid[1][5] c_mygrid[2][5] c_mygrid[3][5] c_mygrid[4][5] c_mygrid[5][5] c_mygrid[6][5] c_mygrid[7][5] c_mygrid[8][5] & + c_mygrid[1][6] c_mygrid[2][6] c_mygrid[3][6] c_mygrid[4][6] c_mygrid[5][6] c_mygrid[6][6] c_mygrid[7][6] c_mygrid[8][6] & + c_mygrid[1][7] c_mygrid[2][7] c_mygrid[3][7] c_mygrid[4][7] c_mygrid[5][7] c_mygrid[6][7] c_mygrid[7][7] c_mygrid[8][7] & + c_mygrid[1][8] c_mygrid[2][8] c_mygrid[3][8] c_mygrid[4][8] c_mygrid[5][8] c_mygrid[6][8] c_mygrid[7][8] c_mygrid[8][8] +thermo_modify norm yes + +#dump mydump_b all custom 1 dump_b id c_b[*] +dump mydump_bgridlocal all local 1 dump_bgridlocal index c_mygridlocal[*] + +# run + +run 1 + +# rcb + +comm_style tiled +balance 0.99 rcb +run 1 + +# rcb again + +balance 0.99 rcb +run 1 + From db58cec057e7b790bd706ad63c28c3ff79473d7f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 26 Aug 2021 11:52:46 -0600 Subject: [PATCH 031/153] Resolved memory management issue exposed by RCB in in.grid.test --- src/compute_grid.cpp | 36 +++++++++++++++++--------------- src/compute_grid.h | 3 ++- src/compute_grid_local.cpp | 42 +++++++++++++++++++++++--------------- src/compute_grid_local.h | 4 +++- 4 files changed, 51 insertions(+), 34 deletions(-) diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 7eee793023..52bd7d6307 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -60,13 +60,7 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid::~ComputeGrid() { - memory->destroy(grid); - memory->destroy(gridall); - memory->destroy(local_flags); - if (gridlocal_allocated) { - gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - } + deallocate(); } /* ---------------------------------------------------------------------- */ @@ -79,6 +73,7 @@ void ComputeGrid::init() void ComputeGrid::setup() { + deallocate(); set_grid_global(); set_grid_local(); allocate(); @@ -195,21 +190,13 @@ void ComputeGrid::assign_local_flags() } /* ---------------------------------------------------------------------- - free and reallocate arrays + create arrays ------------------------------------------------------------------------- */ void ComputeGrid::allocate() { // allocate arrays - memory->destroy(grid); - memory->destroy(gridall); - memory->destroy(local_flags); - if (gridlocal_allocated) { - gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - } - memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); memory->create(local_flags,size_array_rows,"grid:local_flags"); @@ -222,6 +209,23 @@ void ComputeGrid::allocate() } +/* ---------------------------------------------------------------------- + free arrays +------------------------------------------------------------------------- */ + +void ComputeGrid::deallocate() +{ + memory->destroy(grid); + memory->destroy(gridall); + memory->destroy(local_flags); + if (gridlocal_allocated) { + gridlocal_allocated = 0; + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + } + array = nullptr; +} + + /* ---------------------------------------------------------------------- set global grid ------------------------------------------------------------------------- */ diff --git a/src/compute_grid.h b/src/compute_grid.h index 1b2797732d..421656febf 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -49,7 +49,8 @@ class ComputeGrid : public Compute { int *local_flags; // local flag for each grid point int gridlocal_allocated; // shows if gridlocal allocated - void allocate(); + void allocate(); // create arrays + void deallocate(); // free arrays void grid2x(int, double*); // convert grid point to coord void grid2ix(int, int&, int&, int&); // convert grid point to ix, iy, iz void assign_coords(); // assign coords for grid diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index dab9aa44d4..1b8de3c48a 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -59,11 +59,7 @@ ComputeGridLocal::ComputeGridLocal(LAMMPS *lmp, int narg, char **arg) : ComputeGridLocal::~ComputeGridLocal() { - if (gridlocal_allocated) { - gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - } - memory->destroy(alocal); + deallocate(); } /* ---------------------------------------------------------------------- */ @@ -76,9 +72,11 @@ void ComputeGridLocal::init() void ComputeGridLocal::setup() { + deallocate(); set_grid_global(); set_grid_local(); allocate(); + assign_coords(); } /* ---------------------------------------------------------------------- @@ -95,25 +93,34 @@ void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) } /* ---------------------------------------------------------------------- - free and reallocate arrays + create arrays ------------------------------------------------------------------------- */ void ComputeGridLocal::allocate() { - // allocate local array - - if (gridlocal_allocated) { - gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - } - if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; memory->create4d_offset(gridlocal,size_local_cols,nzlo,nzhi,nylo,nyhi, nxlo,nxhi,"grid:gridlocal"); + memory->create(alocal, size_local_rows, size_local_cols, "compute/grid/local:alocal"); + array_local = alocal; } } +/* ---------------------------------------------------------------------- + free arrays +------------------------------------------------------------------------- */ + +void ComputeGridLocal::deallocate() +{ + if (gridlocal_allocated) { + gridlocal_allocated = 0; + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + memory->destroy(alocal); + } + array_local = nullptr; +} + /* ---------------------------------------------------------------------- set global grid ------------------------------------------------------------------------- */ @@ -201,11 +208,14 @@ void ComputeGridLocal::set_grid_local() ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); size_local_rows = ngridlocal; +} - memory->destroy(alocal); - memory->create(alocal, size_local_rows, size_local_cols, "compute/grid/local:alocal"); - array_local = alocal; +/* ---------------------------------------------------------------------- + copy coords to local array +------------------------------------------------------------------------- */ +void ComputeGridLocal::assign_coords() +{ int igrid = 0; for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index b6cd882b2e..6189e5b27d 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -46,10 +46,12 @@ class ComputeGridLocal : public Compute { int size_local_cols_base; // number of columns used for coords, etc. int gridlocal_allocated; // shows if gridlocal allocated - void allocate(); + void allocate(); // create arrays + void deallocate(); // free arrays void grid2x(int, int, int, double*); // convert global indices to coordinates void set_grid_global(); // set global grid void set_grid_local(); // set bounds for local grid + void assign_coords(); // assign coords for grid void copy_gridlocal_to_local_array();// copy 4d gridlocal array to 2d local array private: }; From 0a4e85a1f35c029b920246980ad0d1cfa4c42988 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 26 Aug 2021 11:58:39 -0600 Subject: [PATCH 032/153] Added README.grid --- examples/snap/README.grid | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 examples/snap/README.grid diff --git a/examples/snap/README.grid b/examples/snap/README.grid new file mode 100644 index 0000000000..9033c9d445 --- /dev/null +++ b/examples/snap/README.grid @@ -0,0 +1,9 @@ +This branch contains the following examples: + +in.grid # simple example of grid +in.grid.local # simple example of grid/local +in.grid.python # used by grid.py +in.grid.test # stress test of grid and grid/local +in.grid.tri # grid with triclinic cell + +grid.py # access data from Python library interface From 8bddc801df643bf69f8c1a4c3798646dc46a130f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 3 Oct 2021 17:55:55 -0600 Subject: [PATCH 033/153] First successful compile of pair style --- src/ML-SNAP/pair_sna_grid.cpp | 182 ++++++++++++++++++ src/ML-SNAP/pair_sna_grid.h | 76 ++++++++ src/pair_grid.cpp | 344 ++++++++++++++++++++++++++++++++++ src/pair_grid.h | 88 +++++++++ 4 files changed, 690 insertions(+) create mode 100644 src/ML-SNAP/pair_sna_grid.cpp create mode 100644 src/ML-SNAP/pair_sna_grid.h create mode 100644 src/pair_grid.cpp create mode 100644 src/pair_grid.h diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp new file mode 100644 index 0000000000..605e05ebf9 --- /dev/null +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -0,0 +1,182 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_grid.h" +#include "pair_sna_grid.h" +#include "sna.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "force.h" +#include "pair.h" +#include "domain.h" +#include "comm.h" +#include "memory.h" +#include "error.h" +#include "tokenizer.h" + +#include +#include + +using namespace LAMMPS_NS; + +PairSNAGrid::PairSNAGrid(LAMMPS *lmp) : + PairGrid(lmp), cutsq(nullptr), + radelem(nullptr), wjelem(nullptr) +{ +} + +/* ---------------------------------------------------------------------- */ + +PairSNAGrid::~PairSNAGrid() +{ + memory->destroy(radelem); + memory->destroy(wjelem); + memory->destroy(cutsq); + delete snaptr; + + if (chemflag) memory->destroy(map); +} + +/* ---------------------------------------------------------------------- */ + +void PairSNAGrid::init() +{ + if (force->pair == nullptr) + error->all(FLERR,"Pair sna/grid requires a pair style be defined"); + + if (cutmax > force->pair->cutforce) + error->all(FLERR,"Pair sna/grid cutoff is longer than pairwise cutoff"); + + // need an occasional full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->compute = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->occasional = 1; + + snaptr->init(); +} + +/* ---------------------------------------------------------------------- */ + +void PairSNAGrid::init_list(int /*id*/, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void PairSNAGrid::compute(int eflag, int vflag) +{ + + // compute sna for each gridpoint + + double** const x = atom->x; + const int* const mask = atom->mask; + int * const type = atom->type; + const int ntotal = atom->nlocal + atom->nghost; + + // insure rij, inside, and typej are of size jnum + + snaptr->grow_rij(ntotal); + + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + double xgrid[3]; + grid2x(ix, iy, iz, xgrid); + const double xtmp = xgrid[0]; + const double ytmp = xgrid[1]; + const double ztmp = xgrid[2]; + + // currently, all grid points are type 1 + + const int itype = 1; + int ielem = 0; + if (chemflag) + ielem = map[itype]; + const double radi = radelem[itype]; + + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff + + int ninside = 0; + for (int j = 0; j < ntotal; j++) { + + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + int jelem = 0; + if (chemflag) + jelem = map[jtype]; + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + snaptr->element[ninside] = jelem; // element index for multi-element snap + ninside++; + } + } + + snaptr->compute_ui(ninside, ielem); + snaptr->compute_zi(); + snaptr->compute_bi(ielem); + + // linear contributions + + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + gridlocal[ndesc_base+icoeff][iz][iy][ix] = + snaptr->blist[icoeff]; + + // quadratic contributions + + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bveci = snaptr->blist[icoeff]; + gridlocal[ndesc_base+ncount++][iz][iy][ix] = + 0.5*bveci*bveci; + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + gridlocal[ndesc_base+ncount++][iz][iy][ix] = + bveci*snaptr->blist[jcoeff]; + } + } + } +} + + +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ + +double PairSNAGrid::memory_usage() +{ + double nbytes = snaptr->memory_usage(); // SNA object + int n = atom->ntypes+1; + nbytes += (double)n*sizeof(int); // map + + return nbytes; +} + diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h new file mode 100644 index 0000000000..d94032e58c --- /dev/null +++ b/src/ML-SNAP/pair_sna_grid.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(sna/grid, PairSNAGrid); +// clang-format on +#else + +#ifndef LMP_PAIR_SNA_GRID_H +#define LMP_PAIR_SNA_GRID_H + +#include "pair_grid.h" + +namespace LAMMPS_NS { + +class PairSNAGrid : public PairGrid { + public: + PairSNAGrid(class LAMMPS *); + ~PairSNAGrid(); + + void init(); + void init_list(int, class NeighList *); + void compute(int, int); + double memory_usage(); + + private: + int ncoeff; + double **cutsq; + class NeighList *list; + double rcutfac; + double *radelem; + double *wjelem; + int *map; // map types to [0,nelements) + int nelements, chemflag; + class SNA *snaptr; + double cutmax; + int quadraticflag; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Compute sna/grid/local requires a pair style be defined + +Self-explanatory. + +E: Compute sna/grid/local cutoff is longer than pairwise cutoff + +Self-explanatory. + +W: More than one compute sna/grid/local + +Self-explanatory. + +*/ diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp new file mode 100644 index 0000000000..2d4abb7388 --- /dev/null +++ b/src/pair_grid.cpp @@ -0,0 +1,344 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_grid.h" +#include +#include +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "domain.h" +#include "force.h" +#include "memory.h" +#include "error.h" +#include "comm.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairGrid::PairGrid(LAMMPS *lmp) : + Pair(lmp), gridlocal(nullptr), alocal(nullptr) +{ + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + + + ndesc = 0; + ngridlocal = 0; + + ndesc_base = 6; + gridlocal_allocated = 0; + beta_max = 0; + beta = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +PairGrid::~PairGrid() +{ + if (copymode) return; + + memory->destroy(beta); + + deallocate_grid(); +} + +/* ---------------------------------------------------------------------- */ + +void PairGrid::init() +{ +} + +/* ---------------------------------------------------------------------- */ + +void PairGrid::setup() +{ + deallocate_grid(); + set_grid_global(); + set_grid_local(); + allocate_grid(); + assign_coords(); +} + +/* ---------------------------------------------------------------------- + convert global array indexes to box coords +------------------------------------------------------------------------- */ + +void PairGrid::grid2x(int ix, int iy, int iz, double *x) +{ + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; + + if (triclinic) domain->lamda2x(x, x); +} + +/* ---------------------------------------------------------------------- + create arrays +------------------------------------------------------------------------- */ + +void PairGrid::allocate_grid() +{ + if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { + gridlocal_allocated = 1; + memory->create4d_offset(gridlocal,ndesc,nzlo,nzhi,nylo,nyhi, + nxlo,nxhi,"pair/grid:gridlocal"); + memory->create(alocal, ngridlocal, ndesc, "pair/grid:alocal"); + } +} + +/* ---------------------------------------------------------------------- + free arrays +------------------------------------------------------------------------- */ + +void PairGrid::deallocate_grid() +{ + if (gridlocal_allocated) { + gridlocal_allocated = 0; + memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + memory->destroy(alocal); + } +} + +/* ---------------------------------------------------------------------- + set global grid +------------------------------------------------------------------------- */ + +void PairGrid::set_grid_global() +{ + // calculate grid layout + + triclinic = domain->triclinic; + + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + double xprd = prd[0]; + double yprd = prd[1]; + double zprd = prd[2]; + + delxinv = nx/xprd; + delyinv = ny/yprd; + delzinv = nz/zprd; + + delx = 1.0/delxinv; + dely = 1.0/delyinv; + delz = 1.0/delzinv; +} + +/* ---------------------------------------------------------------------- + set local subset of grid that I own + n xyz lo/hi = 3d brick that I own (inclusive) +------------------------------------------------------------------------- */ + +void PairGrid::set_grid_local() +{ + // nx,ny,nz = extent of global grid + // indices into the global grid range from 0 to N-1 in each dim + // if grid point is inside my sub-domain I own it, + // this includes sub-domain lo boundary but excludes hi boundary + // ixyz lo/hi = inclusive lo/hi bounds of global grid sub-brick I own + // if proc owns no grid cells in a dim, then ilo > ihi + // if 2 procs share a boundary a grid point is exactly on, + // the 2 equality if tests insure a consistent decision + // as to which proc owns it + + double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; + + if (comm->layout != Comm::LAYOUT_TILED) { + xfraclo = comm->xsplit[comm->myloc[0]]; + xfrachi = comm->xsplit[comm->myloc[0]+1]; + yfraclo = comm->ysplit[comm->myloc[1]]; + yfrachi = comm->ysplit[comm->myloc[1]+1]; + zfraclo = comm->zsplit[comm->myloc[2]]; + zfrachi = comm->zsplit[comm->myloc[2]+1]; + } else { + xfraclo = comm->mysplit[0][0]; + xfrachi = comm->mysplit[0][1]; + yfraclo = comm->mysplit[1][0]; + yfrachi = comm->mysplit[1][1]; + zfraclo = comm->mysplit[2][0]; + zfrachi = comm->mysplit[2][1]; + } + + nxlo = static_cast (xfraclo * nx); + if (1.0*nxlo != xfraclo*nx) nxlo++; + nxhi = static_cast (xfrachi * nx); + if (1.0*nxhi == xfrachi*nx) nxhi--; + + nylo = static_cast (yfraclo * ny); + if (1.0*nylo != yfraclo*ny) nylo++; + nyhi = static_cast (yfrachi * ny); + if (1.0*nyhi == yfrachi*ny) nyhi--; + + nzlo = static_cast (zfraclo * nz); + if (1.0*nzlo != zfraclo*nz) nzlo++; + nzhi = static_cast (zfrachi * nz); + if (1.0*nzhi == zfrachi*nz) nzhi--; + + ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); +} + +/* ---------------------------------------------------------------------- + copy coords to local array +------------------------------------------------------------------------- */ + +void PairGrid::assign_coords() +{ + int igrid = 0; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + alocal[igrid][0] = ix; + alocal[igrid][1] = iy; + alocal[igrid][2] = iz; + double xgrid[3]; + grid2x(ix, iy, iz, xgrid); + alocal[igrid][3] = xgrid[0]; + alocal[igrid][4] = xgrid[1]; + alocal[igrid][5] = xgrid[2]; + igrid++; + } +} + +/* ---------------------------------------------------------------------- + copy the 4d gridlocal array values to the 2d local array +------------------------------------------------------------------------- */ + +void PairGrid::copy_gridlocal_to_local_array() +{ + int igrid = 0; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + for (int icol = ndesc_base; icol < ndesc; icol++) + alocal[igrid][icol] = gridlocal[icol][iz][iy][ix]; + igrid++; + } +} + +/* ---------------------------------------------------------------------- + get beta from someplace +------------------------------------------------------------------------- */ + +void PairGrid::compute_beta() +{ + int igrid = 0; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + for (int icol = ndesc_base; icol < ndesc; icol++) + beta[igrid][icol] = 1.0; + igrid++; + } +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairGrid::allocate() +{ + allocated = 1; + int n = atom->ntypes; + memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + map = new int[n+1]; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairGrid::settings(int narg, char ** arg) +{ + if (narg < 6) error->all(FLERR,"Illegal pair style command"); + + int iarg0 = 3; + int iarg = iarg0; + if (strcmp(arg[iarg],"grid") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal pair grid command"); + nx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + nz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + if (nx <= 0 || ny <= 0 || nz <= 0) + error->all(FLERR,"All grid/local dimensions must be positive"); + iarg += 4; + } else error->all(FLERR,"Illegal pair grid command"); + + nargbase = iarg - iarg0; + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairGrid::coeff(int narg, char **arg) +{ + if (!allocated) allocate(); + if (narg != 2 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); + + map_element2type(narg-4,arg+4); + +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairGrid::init_style() +{ + if (force->newton_pair == 0) + error->all(FLERR,"Pair style grid requires newton pair on"); + + // no neighbor list + + // int irequest = neighbor->request(this,instance_me); + // neighbor->requests[irequest]->half = 0; + // neighbor->requests[irequest]->full = 1; + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairGrid::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + return 0.0; +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double PairGrid::memory_usage() +{ + int nbytes = ndesc*ngridlocal*sizeof(double); // gridlocal + return nbytes; +} diff --git a/src/pair_grid.h b/src/pair_grid.h new file mode 100644 index 0000000000..9c40165154 --- /dev/null +++ b/src/pair_grid.h @@ -0,0 +1,88 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(grid,PairGrid); +// clang-format on +#else + +#ifndef LMP_PAIR_GRID_H +#define LMP_PAIR_GRID_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairGrid : public Pair { + public: + PairGrid(class LAMMPS *); + virtual ~PairGrid(); + void init(); + void setup(); + virtual void compute(int, int) { + printf("DANGER! This function should always be overridden by child\n"); + }; + + void settings(int, char **); + virtual void coeff(int, char **); + virtual void init_style(); + virtual double init_one(int, int); + double memory_usage(); + + protected: + int nx, ny, nz; // global grid dimensions + int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive + int ngridlocal; // number of local grid points + int nvalues; // number of values per grid point + double ****gridlocal; // local grid + double **alocal; // pointer to Compute::array_local + int triclinic; // triclinic flag + double *boxlo, *prd; // box info (units real/ortho or reduced/tri) + double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) + double delxinv,delyinv,delzinv; // inverse grid spacing + double delx,dely,delz; // grid spacing + int nargbase; // number of base class args + double cutmax; // largest cutoff distance + int ndesc; // number of descriptors + int ndesc_base; // number of columns used for coords, etc. + int gridlocal_allocated; // shows if gridlocal allocated + double **beta; // betas for all local grid points in list + int beta_max; // length of beta + + void allocate(); // allocate pairstyle arrays + void allocate_grid(); // create grid arrays + void deallocate_grid(); // free grid arrays + void grid2x(int, int, int, double*); // convert global indices to coordinates + void set_grid_global(); // set global grid + void set_grid_local(); // set bounds for local grid + void assign_coords(); // assign coords for grid + void copy_gridlocal_to_local_array();// copy 4d gridlocal array to 2d local array + void compute_beta(); // get betas from someplace + private: +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ From f41d65029418633e688bcb24e1f1b83414f1ba75 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 3 Oct 2021 17:59:33 -0600 Subject: [PATCH 034/153] Added non-working pair script --- examples/snap/in.grid.pair | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 examples/snap/in.grid.pair diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair new file mode 100644 index 0000000000..ee40984ce6 --- /dev/null +++ b/examples/snap/in.grid.pair @@ -0,0 +1,61 @@ +# Demonstrate bispectrum computes + +# CORRECTNESS: thermo output for c_mygrid[*][1] and c_mygrid[*][8] should +# match the values in dump_b: 108.173 3.21778 0.712238 7.06634 1.04273 + +# Initialize simulation + +variable nsteps index 0 +variable nrep index 3 +variable a index 3.316 +variable ngrid index 2 + +units metal + +atom_modify map yes + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 0 1 0 & + a3 0 0 1 & + basis 0 0 0 & + basis 0.5 0.5 0.5 & +# origin 0.25 0.25 0.25 +# origin 0.25e-3 0.25e-3 0.25e-3 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +write_dump all custom test.dump id type x y z + +# define grid compute and atom compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 1 + +pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} +pair_coeff * * + +run 0 From e698d295fc6fd6afdeca34ee2709342b1427f6d7 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 3 Oct 2021 18:35:54 -0600 Subject: [PATCH 035/153] Fixed some parsing errors, more waiting --- src/ML-SNAP/pair_sna_grid.cpp | 120 ++++++++++++++++++++++++++++++++++ src/ML-SNAP/pair_sna_grid.h | 1 + src/pair_grid.cpp | 7 +- 3 files changed, 123 insertions(+), 5 deletions(-) diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index 605e05ebf9..f2176b7520 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -167,6 +167,126 @@ void PairSNAGrid::compute(int eflag, int vflag) } +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSNAGrid::settings(int narg, char ** arg) +{ + double rfac0, rmin0; + int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; + + // call base class first + + PairGrid::settings(narg, arg); + + // skip over arguments used by base class + // so that argument positions are identical to + // regular per-atom compute + + arg += nargbase; + narg -= nargbase; + + int ntypes = atom->ntypes; + int nargmin = 3+2*ntypes; + + if (narg < nargmin) error->all(FLERR,"Illegal pair sna/grid command"); + + // default values + + rmin0 = 0.0; + switchflag = 1; + bzeroflag = 1; + quadraticflag = 0; + chemflag = 0; + bnormflag = 0; + wselfallflag = 0; + nelements = 1; + + // process required arguments + + memory->create(radelem,ntypes+1,"sna/grid/local:radelem"); // offset by 1 to match up with types + memory->create(wjelem,ntypes+1,"sna/grid/local:wjelem"); + + rcutfac = atof(arg[0]); + rfac0 = atof(arg[1]); + twojmax = atoi(arg[2]); + + for(int i = 0; i < ntypes; i++) + radelem[i+1] = atof(arg[3+i]); + for(int i = 0; i < ntypes; i++) + wjelem[i+1] = atof(arg[3+ntypes+i]); + + // construct cutsq + + double cut; + cutmax = 0.0; + memory->create(cutsq,ntypes+1,ntypes+1,"sna/grid/local:cutsq"); + for(int i = 1; i <= ntypes; i++) { + cut = 2.0*radelem[i]*rcutfac; + if (cut > cutmax) cutmax = cut; + cutsq[i][i] = cut*cut; + for(int j = i+1; j <= ntypes; j++) { + cut = (radelem[i]+radelem[j])*rcutfac; + cutsq[i][j] = cutsq[j][i] = cut*cut; + } + } + + // process optional args + + int iarg = nargmin; + + while (iarg < narg) { + printf("%d %d %d %s\n",iarg,narg,nargbase,arg[iarg]); + if (strcmp(arg[iarg],"rmin0") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + rmin0 = atof(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"switchflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + switchflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"bzeroflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + bzeroflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"quadraticflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + quadraticflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"chem") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + chemflag = 1; + memory->create(map,ntypes+1,"compute_sna_grid_local:map"); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + for (int i = 0; i < ntypes; i++) { + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); + if (jelem < 0 || jelem >= nelements) + error->all(FLERR,"Illegal pair sna/grid command"); + map[i+1] = jelem; + } + iarg += 2+ntypes; + } else if (strcmp(arg[iarg],"bnormflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + bnormflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"wselfallflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + wselfallflag = atoi(arg[iarg+1]); + iarg += 2; + } else error->all(FLERR,"Illegal pair sna/grid command"); + + } + +} + /* ---------------------------------------------------------------------- memory usage ------------------------------------------------------------------------- */ diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h index d94032e58c..30b6aa8f92 100644 --- a/src/ML-SNAP/pair_sna_grid.h +++ b/src/ML-SNAP/pair_sna_grid.h @@ -31,6 +31,7 @@ class PairSNAGrid : public PairGrid { void init(); void init_list(int, class NeighList *); + void settings(int, char **); void compute(int, int); double memory_usage(); diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index 2d4abb7388..56478ad21f 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -275,9 +275,8 @@ void PairGrid::allocate() void PairGrid::settings(int narg, char ** arg) { - if (narg < 6) error->all(FLERR,"Illegal pair style command"); - - int iarg0 = 3; + if (narg < 4) error->all(FLERR,"Illegal pair style command"); + int iarg0 = 0; int iarg = iarg0; if (strcmp(arg[iarg],"grid") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal pair grid command"); @@ -288,9 +287,7 @@ void PairGrid::settings(int narg, char ** arg) error->all(FLERR,"All grid/local dimensions must be positive"); iarg += 4; } else error->all(FLERR,"Illegal pair grid command"); - nargbase = iarg - iarg0; - } /* ---------------------------------------------------------------------- From 1450af8ba19991984c682ffb52fa253f5c30d06c Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 22 Oct 2021 17:01:20 -0600 Subject: [PATCH 036/153] Latest version of PairGrid --- src/ML-SNAP/pair_sna_grid.cpp | 8 ++++---- src/ML-SNAP/pair_sna_grid.h | 1 - src/pair_grid.cpp | 11 +++++++---- src/pair_grid.h | 2 +- src/verlet.cpp | 6 ++++++ 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index f2176b7520..3bfdcb7e12 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -205,8 +205,8 @@ void PairSNAGrid::settings(int narg, char ** arg) // process required arguments - memory->create(radelem,ntypes+1,"sna/grid/local:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"sna/grid/local:wjelem"); + memory->create(radelem,ntypes+1,"pair:sna/grid:radelem"); // offset by 1 to match up with types + memory->create(wjelem,ntypes+1,"pair:sna/grid:wjelem"); rcutfac = atof(arg[0]); rfac0 = atof(arg[1]); @@ -221,7 +221,7 @@ void PairSNAGrid::settings(int narg, char ** arg) double cut; cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"sna/grid/local:cutsq"); + memory->create(cutsq,ntypes+1,ntypes+1,"pair:sna/grid:cutsq"); for(int i = 1; i <= ntypes; i++) { cut = 2.0*radelem[i]*rcutfac; if (cut > cutmax) cutmax = cut; @@ -262,7 +262,7 @@ void PairSNAGrid::settings(int narg, char ** arg) if (iarg+2 > narg) error->all(FLERR,"Illegal pair sna/grid command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_sna_grid_local:map"); + memory->create(map,ntypes+1,"pair:sna/grid:map"); nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h index 30b6aa8f92..2216739ce3 100644 --- a/src/ML-SNAP/pair_sna_grid.h +++ b/src/ML-SNAP/pair_sna_grid.h @@ -45,7 +45,6 @@ class PairSNAGrid : public PairGrid { int *map; // map types to [0,nelements) int nelements, chemflag; class SNA *snaptr; - double cutmax; int quadraticflag; }; diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index 56478ad21f..166d4c258d 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -67,6 +67,7 @@ void PairGrid::init() void PairGrid::setup() { + printf("Hello, world! C\n"); deallocate_grid(); set_grid_global(); set_grid_local(); @@ -297,9 +298,11 @@ void PairGrid::settings(int narg, char ** arg) void PairGrid::coeff(int narg, char **arg) { if (!allocated) allocate(); - if (narg != 2 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 2) error->all(FLERR,"Incorrect args for pair coefficients"); + // if (narg != 2 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); - map_element2type(narg-4,arg+4); + // map_element2type(narg-4,arg+4); + // map_element2type(0,nullptr); } @@ -321,13 +324,13 @@ void PairGrid::init_style() } /* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i + return maximum force cut off distance ------------------------------------------------------------------------- */ double PairGrid::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - return 0.0; + return cutmax; } /* ---------------------------------------------------------------------- diff --git a/src/pair_grid.h b/src/pair_grid.h index 9c40165154..d7aa151633 100644 --- a/src/pair_grid.h +++ b/src/pair_grid.h @@ -57,7 +57,7 @@ class PairGrid : public Pair { int ndesc; // number of descriptors int ndesc_base; // number of columns used for coords, etc. int gridlocal_allocated; // shows if gridlocal allocated - double **beta; // betas for all local grid points in list + double **beta; // betas for all local grid points in list int beta_max; // length of beta void allocate(); // allocate pairstyle arrays diff --git a/src/verlet.cpp b/src/verlet.cpp index b9b0b392e1..385b234a29 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -99,6 +99,8 @@ void Verlet::setup(int flag) } } + printf("Hello, world! A\n"); + if (lmp->kokkos) error->all(FLERR,"KOKKOS package requires run_style verlet/kk"); @@ -126,6 +128,8 @@ void Verlet::setup(int flag) modify->setup_post_neighbor(); neighbor->ncalls = 0; + printf("Hello, world! B\n"); + // compute all forces force->setup(); @@ -133,6 +137,8 @@ void Verlet::setup(int flag) force_clear(); modify->setup_pre_force(vflag); + printf("Hello, world!\n"); + if (pair_compute_flag) force->pair->compute(eflag,vflag); else if (force->pair) force->pair->compute_dummy(eflag,vflag); From 6d5506353b83fc369259cc29add6dc6f67d34fca Mon Sep 17 00:00:00 2001 From: LOFT Date: Sun, 24 Oct 2021 15:45:24 -0600 Subject: [PATCH 037/153] Eliminated a few mistakes,s till not working --- examples/snap/in.grid.pair | 2 +- src/ML-SNAP/pair_sna_grid.cpp | 15 +++++++------ src/ML-SNAP/pair_sna_grid.h | 7 ++++-- src/pair_grid.cpp | 40 +++++++++++++---------------------- src/pair_grid.h | 3 +-- 5 files changed, 31 insertions(+), 36 deletions(-) diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair index ee40984ce6..9d21c1f62c 100644 --- a/examples/snap/in.grid.pair +++ b/examples/snap/in.grid.pair @@ -56,6 +56,6 @@ pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & ${rcutfac} ${rfac0} ${twojmax} ${radelem} & ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & quadraticflag ${quad} switchflag ${switch} -pair_coeff * * +pair_coeff * * Al run 0 diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index 3bfdcb7e12..7e626edd1a 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -53,14 +53,11 @@ PairSNAGrid::~PairSNAGrid() /* ---------------------------------------------------------------------- */ -void PairSNAGrid::init() +void PairSNAGrid::init_style() { if (force->pair == nullptr) error->all(FLERR,"Pair sna/grid requires a pair style be defined"); - if (cutmax > force->pair->cutforce) - error->all(FLERR,"Pair sna/grid cutoff is longer than pairwise cutoff"); - // need an occasional full neighbor list int irequest = neighbor->request(this,instance_me); @@ -70,7 +67,13 @@ void PairSNAGrid::init() neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->occasional = 1; + snaptr = new SNA(lmp, rfac0, twojmax, + rmin0, switchflag, bzeroflag, + chemflag, bnormflag, wselfallflag, nelements); + ndesc = ndesc_base + snaptr->ncoeff; + printf("ndesc = %d\n", ndesc); snaptr->init(); + } /* ---------------------------------------------------------------------- */ @@ -173,8 +176,6 @@ void PairSNAGrid::compute(int eflag, int vflag) void PairSNAGrid::settings(int narg, char ** arg) { - double rfac0, rmin0; - int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; // call base class first @@ -232,6 +233,8 @@ void PairSNAGrid::settings(int narg, char ** arg) } } + printf("settings cutmax = %g \n",cutmax); + // process optional args int iarg = nargmin; diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h index 2216739ce3..929d6db975 100644 --- a/src/ML-SNAP/pair_sna_grid.h +++ b/src/ML-SNAP/pair_sna_grid.h @@ -29,7 +29,7 @@ class PairSNAGrid : public PairGrid { PairSNAGrid(class LAMMPS *); ~PairSNAGrid(); - void init(); + void init_style(); void init_list(int, class NeighList *); void settings(int, char **); void compute(int, int); @@ -43,9 +43,12 @@ class PairSNAGrid : public PairGrid { double *radelem; double *wjelem; int *map; // map types to [0,nelements) - int nelements, chemflag; + int nelements; class SNA *snaptr; int quadraticflag; + int twojmax, switchflag, bzeroflag, bnormflag; + int chemflag, wselfallflag; + double rfac0, rmin0; }; } diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index 166d4c258d..b552b509e5 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -59,20 +59,19 @@ PairGrid::~PairGrid() /* ---------------------------------------------------------------------- */ -void PairGrid::init() -{ -} - -/* ---------------------------------------------------------------------- */ - void PairGrid::setup() { printf("Hello, world! C\n"); deallocate_grid(); + printf("Hello, world! D\n"); set_grid_global(); + printf("Hello, world! E\n"); set_grid_local(); + printf("Hello, world! F\n"); allocate_grid(); + printf("Hello, world! G\n"); assign_coords(); + printf("Hello, world! H\n"); } /* ---------------------------------------------------------------------- @@ -96,6 +95,7 @@ void PairGrid::allocate_grid() { if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; + printf("ngridlocal = %d ndesc = %d\n",ngridlocal, ndesc); memory->create4d_offset(gridlocal,ndesc,nzlo,nzhi,nylo,nyhi, nxlo,nxhi,"pair/grid:gridlocal"); memory->create(alocal, ngridlocal, ndesc, "pair/grid:alocal"); @@ -209,6 +209,7 @@ void PairGrid::set_grid_local() void PairGrid::assign_coords() { + printf("nxhi/lo = %d %d nyhi/lo = %d %d nzhi/lo = %d %d\n",nxlo,nxhi,nylo,nyhi,nzlo,nzhi); int igrid = 0; for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) @@ -266,6 +267,10 @@ void PairGrid::allocate() allocated = 1; int n = atom->ntypes; memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + memory->create(cutsq,n+1,n+1,"pair:cutsq"); map = new int[n+1]; } @@ -298,38 +303,23 @@ void PairGrid::settings(int narg, char ** arg) void PairGrid::coeff(int narg, char **arg) { if (!allocated) allocate(); - if (narg != 2) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg < 2) error->all(FLERR,"Incorrect args for pair coefficients"); // if (narg != 2 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); - // map_element2type(narg-4,arg+4); + map_element2type(narg-2,arg+2); // map_element2type(0,nullptr); } -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairGrid::init_style() -{ - if (force->newton_pair == 0) - error->all(FLERR,"Pair style grid requires newton pair on"); - - // no neighbor list - - // int irequest = neighbor->request(this,instance_me); - // neighbor->requests[irequest]->half = 0; - // neighbor->requests[irequest]->full = 1; - -} - /* ---------------------------------------------------------------------- return maximum force cut off distance ------------------------------------------------------------------------- */ double PairGrid::init_one(int i, int j) { + printf("i = %d j = %d setflag = %d\n", i, j, setflag[i][j]); if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + printf("PairGrid cutmax = %g\n",cutmax); return cutmax; } diff --git a/src/pair_grid.h b/src/pair_grid.h index d7aa151633..97799a5c30 100644 --- a/src/pair_grid.h +++ b/src/pair_grid.h @@ -28,7 +28,7 @@ class PairGrid : public Pair { public: PairGrid(class LAMMPS *); virtual ~PairGrid(); - void init(); + virtual void init_style(){}; void setup(); virtual void compute(int, int) { printf("DANGER! This function should always be overridden by child\n"); @@ -36,7 +36,6 @@ class PairGrid : public Pair { void settings(int, char **); virtual void coeff(int, char **); - virtual void init_style(); virtual double init_one(int, int); double memory_usage(); From dcf521be53a00542c4e06b17c4114574b245a76e Mon Sep 17 00:00:00 2001 From: LOFT Date: Fri, 29 Oct 2021 06:34:32 -0600 Subject: [PATCH 038/153] Fixed a few more problems, but still no joy --- src/ML-SNAP/pair_sna_grid.cpp | 3 ++- src/ML-SNAP/pair_sna_grid.h | 3 --- src/pair_grid.cpp | 6 +++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index 7e626edd1a..dc3de8e941 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -34,9 +34,10 @@ using namespace LAMMPS_NS; PairSNAGrid::PairSNAGrid(LAMMPS *lmp) : - PairGrid(lmp), cutsq(nullptr), + PairGrid(lmp), radelem(nullptr), wjelem(nullptr) { + snaptr = nullptr; } /* ---------------------------------------------------------------------- */ diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h index 929d6db975..9ae0eece79 100644 --- a/src/ML-SNAP/pair_sna_grid.h +++ b/src/ML-SNAP/pair_sna_grid.h @@ -37,13 +37,10 @@ class PairSNAGrid : public PairGrid { private: int ncoeff; - double **cutsq; class NeighList *list; double rcutfac; double *radelem; double *wjelem; - int *map; // map types to [0,nelements) - int nelements; class SNA *snaptr; int quadraticflag; int twojmax, switchflag, bzeroflag, bnormflag; diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index b552b509e5..dd35f75f8c 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -36,7 +36,6 @@ PairGrid::PairGrid(LAMMPS *lmp) : manybody_flag = 1; centroidstressflag = CENTROID_NOTAVAIL; - ndesc = 0; ngridlocal = 0; @@ -62,7 +61,7 @@ PairGrid::~PairGrid() void PairGrid::setup() { printf("Hello, world! C\n"); - deallocate_grid(); + // deallocate_grid(); printf("Hello, world! D\n"); set_grid_global(); printf("Hello, world! E\n"); @@ -70,7 +69,7 @@ void PairGrid::setup() printf("Hello, world! F\n"); allocate_grid(); printf("Hello, world! G\n"); - assign_coords(); + // assign_coords(); printf("Hello, world! H\n"); } @@ -273,6 +272,7 @@ void PairGrid::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); map = new int[n+1]; + printf("Allocated!\n"); } /* ---------------------------------------------------------------------- From 591af3f5602c8e63707f446d8727cf9931755ef8 Mon Sep 17 00:00:00 2001 From: LOFT Date: Fri, 29 Oct 2021 07:49:15 -0600 Subject: [PATCH 039/153] Eliminated obvious but hard to find error in neighbor list request --- examples/snap/in.grid.pair | 2 ++ src/ML-SNAP/pair_sna_grid.cpp | 9 +++------ src/pair_grid.cpp | 2 ++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair index 9d21c1f62c..5f70f79d09 100644 --- a/examples/snap/in.grid.pair +++ b/examples/snap/in.grid.pair @@ -58,4 +58,6 @@ pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & quadraticflag ${quad} switchflag ${switch} pair_coeff * * Al +neighbor 0.0 nsq + run 0 diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index dc3de8e941..6dc7bc9173 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -56,17 +56,14 @@ PairSNAGrid::~PairSNAGrid() void PairSNAGrid::init_style() { - if (force->pair == nullptr) - error->all(FLERR,"Pair sna/grid requires a pair style be defined"); + if (force->newton_pair == 0) + error->all(FLERR,"Pair style sna/grid requires newton pair on"); - // need an occasional full neighbor list + // need a full neighbor list int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->compute = 1; neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index dd35f75f8c..f76629717b 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -60,6 +60,7 @@ PairGrid::~PairGrid() void PairGrid::setup() { + printf("Inside PairGrid::setup()\n"); printf("Hello, world! C\n"); // deallocate_grid(); printf("Hello, world! D\n"); @@ -317,6 +318,7 @@ void PairGrid::coeff(int narg, char **arg) double PairGrid::init_one(int i, int j) { + printf("Inside PairGrid::init_one()\n"); printf("i = %d j = %d setflag = %d\n", i, j, setflag[i][j]); if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); printf("PairGrid cutmax = %g\n",cutmax); From c69edde55cf3245c9ab30bf455927be94f63b232 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 10 Dec 2021 18:30:44 -0700 Subject: [PATCH 040/153] Eliminated several undefined variables --- examples/snap/in.grid.pair | 8 +++----- src/ML-SNAP/pair_sna_grid.cpp | 10 +++++----- src/pair_grid.cpp | 17 ++--------------- src/verlet.cpp | 6 ------ 4 files changed, 10 insertions(+), 31 deletions(-) diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair index 5f70f79d09..e2143427e6 100644 --- a/examples/snap/in.grid.pair +++ b/examples/snap/in.grid.pair @@ -1,8 +1,5 @@ -# Demonstrate bispectrum computes +# Demonstrate pair style base on sna/grid -# CORRECTNESS: thermo output for c_mygrid[*][1] and c_mygrid[*][8] should -# match the values in dump_b: 108.173 3.21778 0.712238 7.06634 1.04273 - # Initialize simulation variable nsteps index 0 @@ -58,6 +55,7 @@ pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & quadraticflag ${quad} switchflag ${switch} pair_coeff * * Al +thermo_style custom step temp epair emol etotal press neighbor 0.0 nsq -run 0 +run 10 diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index 6dc7bc9173..5be3bf98d6 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -68,8 +68,8 @@ void PairSNAGrid::init_style() snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements); - ndesc = ndesc_base + snaptr->ncoeff; - printf("ndesc = %d\n", ndesc); + ncoeff = snaptr->ncoeff; + ndesc = ndesc_base + ncoeff; snaptr->init(); } @@ -85,6 +85,7 @@ void PairSNAGrid::init_list(int /*id*/, NeighList *ptr) void PairSNAGrid::compute(int eflag, int vflag) { + ev_init(eflag,vflag); // compute sna for each gridpoint @@ -165,6 +166,8 @@ void PairSNAGrid::compute(int eflag, int vflag) } } } + + if (vflag_fdotr) virial_fdotr_compute(); } @@ -231,14 +234,11 @@ void PairSNAGrid::settings(int narg, char ** arg) } } - printf("settings cutmax = %g \n",cutmax); - // process optional args int iarg = nargmin; while (iarg < narg) { - printf("%d %d %d %s\n",iarg,narg,nargbase,arg[iarg]); if (strcmp(arg[iarg],"rmin0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair sna/grid command"); diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index f76629717b..3f88635ecf 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -60,18 +60,11 @@ PairGrid::~PairGrid() void PairGrid::setup() { - printf("Inside PairGrid::setup()\n"); - printf("Hello, world! C\n"); - // deallocate_grid(); - printf("Hello, world! D\n"); + deallocate_grid(); set_grid_global(); - printf("Hello, world! E\n"); set_grid_local(); - printf("Hello, world! F\n"); allocate_grid(); - printf("Hello, world! G\n"); - // assign_coords(); - printf("Hello, world! H\n"); + assign_coords(); } /* ---------------------------------------------------------------------- @@ -95,7 +88,6 @@ void PairGrid::allocate_grid() { if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; - printf("ngridlocal = %d ndesc = %d\n",ngridlocal, ndesc); memory->create4d_offset(gridlocal,ndesc,nzlo,nzhi,nylo,nyhi, nxlo,nxhi,"pair/grid:gridlocal"); memory->create(alocal, ngridlocal, ndesc, "pair/grid:alocal"); @@ -209,7 +201,6 @@ void PairGrid::set_grid_local() void PairGrid::assign_coords() { - printf("nxhi/lo = %d %d nyhi/lo = %d %d nzhi/lo = %d %d\n",nxlo,nxhi,nylo,nyhi,nzlo,nzhi); int igrid = 0; for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) @@ -273,7 +264,6 @@ void PairGrid::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); map = new int[n+1]; - printf("Allocated!\n"); } /* ---------------------------------------------------------------------- @@ -318,10 +308,7 @@ void PairGrid::coeff(int narg, char **arg) double PairGrid::init_one(int i, int j) { - printf("Inside PairGrid::init_one()\n"); - printf("i = %d j = %d setflag = %d\n", i, j, setflag[i][j]); if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - printf("PairGrid cutmax = %g\n",cutmax); return cutmax; } diff --git a/src/verlet.cpp b/src/verlet.cpp index 385b234a29..b9b0b392e1 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -99,8 +99,6 @@ void Verlet::setup(int flag) } } - printf("Hello, world! A\n"); - if (lmp->kokkos) error->all(FLERR,"KOKKOS package requires run_style verlet/kk"); @@ -128,8 +126,6 @@ void Verlet::setup(int flag) modify->setup_post_neighbor(); neighbor->ncalls = 0; - printf("Hello, world! B\n"); - // compute all forces force->setup(); @@ -137,8 +133,6 @@ void Verlet::setup(int flag) force_clear(); modify->setup_pre_force(vflag); - printf("Hello, world!\n"); - if (pair_compute_flag) force->pair->compute(eflag,vflag); else if (force->pair) force->pair->compute_dummy(eflag,vflag); From addb8948f9a922e095d8184c59d6f7ffeab30b27 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Dec 2021 15:01:41 -0700 Subject: [PATCH 041/153] Able to run dynamics smoothly, does not conserve energy, but maybe that is a feature --- examples/snap/in.grid.pair | 25 +++++-- src/ML-SNAP/pair_sna_grid.cpp | 125 +++++++++++++++++++++++++++++++++- src/compute_grid_local.h | 2 +- src/pair_grid.cpp | 19 ++++-- src/pair_grid.h | 2 +- 5 files changed, 158 insertions(+), 15 deletions(-) diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair index e2143427e6..99c9623f7d 100644 --- a/examples/snap/in.grid.pair +++ b/examples/snap/in.grid.pair @@ -2,10 +2,14 @@ # Initialize simulation -variable nsteps index 0 +variable dt index 0.5e-5 +variable nthermo index 100 +variable nsteps index 10000 variable nrep index 3 -variable a index 3.316 +variable a index 3.0 variable ngrid index 2 +variable t index 300 +variable del index 0.1 units metal @@ -31,7 +35,7 @@ lattice custom $a & region box block 0 ${nx} 0 ${ny} 0 ${nz} create_box 1 box create_atoms 1 box - +displace_atoms all random ${del} ${del} ${del} 12345 mass 1 180.88 write_dump all custom test.dump id type x y z @@ -56,6 +60,17 @@ pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & pair_coeff * * Al thermo_style custom step temp epair emol etotal press -neighbor 0.0 nsq +thermo ${nthermo} +thermo_modify norm yes -run 10 +# Set up NVE run + +timestep ${dt} +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create $t 4928459 loop geom +fix 1 all nve +run ${nsteps} diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index 5be3bf98d6..c84dcaf467 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -85,19 +85,25 @@ void PairSNAGrid::init_list(int /*id*/, NeighList *ptr) void PairSNAGrid::compute(int eflag, int vflag) { + double fij[3]; + ev_init(eflag,vflag); // compute sna for each gridpoint double** const x = atom->x; + double **f = atom->f; const int* const mask = atom->mask; int * const type = atom->type; const int ntotal = atom->nlocal + atom->nghost; - // insure rij, inside, and typej are of size jnum + // insure rij, inside, and typej are of size ntotal snaptr->grow_rij(ntotal); + // first generate fingerprint, + // which allows calculation of beta + for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { @@ -153,6 +159,7 @@ void PairSNAGrid::compute(int eflag, int vflag) snaptr->blist[icoeff]; // quadratic contributions + // untested if (quadraticflag) { int ncount = ncoeff; @@ -167,7 +174,123 @@ void PairSNAGrid::compute(int eflag, int vflag) } } + // this is a proxy for a call to the energy model + // beta is dE/dB^i, the derivative of the total + // energy w.r.t. to descriptors of grid point i + + compute_beta(); + + // second compute forces using beta + + int igrid = 0; + for (int iz = nzlo; iz <= nzhi; iz++) + for (int iy = nylo; iy <= nyhi; iy++) + for (int ix = nxlo; ix <= nxhi; ix++) { + double xgrid[3]; + grid2x(ix, iy, iz, xgrid); + const double xtmp = xgrid[0]; + const double ytmp = xgrid[1]; + const double ztmp = xgrid[2]; + + // currently, all grid points are type 1 + + const int itype = 1; + int ielem = 0; + if (chemflag) + ielem = map[itype]; + const double radi = radelem[itype]; + + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff + + int ninside = 0; + for (int j = 0; j < ntotal; j++) { + + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + int jelem = 0; + if (chemflag) + jelem = map[jtype]; + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + snaptr->element[ninside] = jelem; // element index for multi-element snap + ninside++; + } + } + + // compute Ui, Yi for atom I + + if (chemflag) + snaptr->compute_ui(ninside, ielem); + else + snaptr->compute_ui(ninside, 0); + + // for neighbors of I within cutoff: + // compute Fij = dEi/dRj = -dEi/dRi + // add to Fi, subtract from Fj + // scaling is that for type I + + snaptr->compute_yi(beta[igrid]); + + for (int jj = 0; jj < ninside; jj++) { + int j = snaptr->inside[jj]; + if (chemflag) + snaptr->compute_duidrj(snaptr->rij[jj], snaptr->wj[jj], + snaptr->rcutij[jj],jj, snaptr->element[jj]); + else + snaptr->compute_duidrj(snaptr->rij[jj], snaptr->wj[jj], + snaptr->rcutij[jj],jj, 0); + + snaptr->compute_deidrj(fij); + + f[j][0] -= fij[0]; + f[j][1] -= fij[1]; + f[j][2] -= fij[2]; + + // tally per-atom virial contribution + + if (vflag) + ev_tally_xyz(-1,j,atom->nlocal,force->newton_pair,0.0,0.0, + fij[0],fij[1],fij[2], + -snaptr->rij[jj][0],-snaptr->rij[jj][1], + -snaptr->rij[jj][2]); + } + + // tally energy contribution + + if (eflag) { + + // get descriptors again + + snaptr->compute_zi(); + snaptr->compute_bi(ielem); + + // evdwl = energy of atom I, sum over coeffs_k * Bi_k + + double evdwl = 0.0; + + // E = beta.B + + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + evdwl += beta[igrid][icoeff]*snaptr->blist[icoeff]; + + ev_tally_full(-1,2.0*evdwl,0.0,0.0,0.0,0.0,0.0); + + } + igrid++; + } + if (vflag_fdotr) virial_fdotr_compute(); + } diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index 6189e5b27d..b3d2f4cd94 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -34,7 +34,7 @@ class ComputeGridLocal : public Compute { int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive int ngridlocal; // number of local grid points int nvalues; // number of values per grid point - double ****gridlocal; // local grid + double ****gridlocal; // local grid, redundant w.r.t. alocal double **alocal; // pointer to Compute::array_local int triclinic; // triclinic flag double *boxlo, *prd; // box info (units real/ortho or reduced/tri) diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp index 3f88635ecf..1f17553055 100644 --- a/src/pair_grid.cpp +++ b/src/pair_grid.cpp @@ -23,12 +23,14 @@ #include "error.h" #include "comm.h" +#define BETA_CONST 1.0e-2 + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ PairGrid::PairGrid(LAMMPS *lmp) : - Pair(lmp), gridlocal(nullptr), alocal(nullptr) + Pair(lmp), gridlocal(nullptr), alocal(nullptr), beta(nullptr) { single_enable = 0; restartinfo = 0; @@ -50,9 +52,6 @@ PairGrid::PairGrid(LAMMPS *lmp) : PairGrid::~PairGrid() { if (copymode) return; - - memory->destroy(beta); - deallocate_grid(); } @@ -91,6 +90,7 @@ void PairGrid::allocate_grid() memory->create4d_offset(gridlocal,ndesc,nzlo,nzhi,nylo,nyhi, nxlo,nxhi,"pair/grid:gridlocal"); memory->create(alocal, ngridlocal, ndesc, "pair/grid:alocal"); + memory->create(beta, ngridlocal, ndesc-ndesc_base, "pair/grid:beta"); } } @@ -104,6 +104,7 @@ void PairGrid::deallocate_grid() gridlocal_allocated = 0; memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); memory->destroy(alocal); + memory->destroy(beta); } } @@ -234,17 +235,21 @@ void PairGrid::copy_gridlocal_to_local_array() } /* ---------------------------------------------------------------------- - get beta from someplace + calculate beta ------------------------------------------------------------------------- */ + // this is a proxy for a call to the energy model + // beta is dE/dB^i, the derivative of the total + // energy w.r.t. to descriptors of grid point i + void PairGrid::compute_beta() { int igrid = 0; for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - for (int icol = ndesc_base; icol < ndesc; icol++) - beta[igrid][icol] = 1.0; + for (int icol = 0; icol < ndesc-ndesc_base; icol++) + beta[igrid][icol] = BETA_CONST; igrid++; } } diff --git a/src/pair_grid.h b/src/pair_grid.h index 97799a5c30..b5bf7ad9ef 100644 --- a/src/pair_grid.h +++ b/src/pair_grid.h @@ -44,7 +44,7 @@ class PairGrid : public Pair { int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive int ngridlocal; // number of local grid points int nvalues; // number of values per grid point - double ****gridlocal; // local grid + double ****gridlocal; // local grid, redundant w.r.t. alocal double **alocal; // pointer to Compute::array_local int triclinic; // triclinic flag double *boxlo, *prd; // box info (units real/ortho or reduced/tri) From 19d469222a6450d0bf8f90358f50a248ff6a6ee7 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Dec 2021 16:28:25 -0700 Subject: [PATCH 042/153] Added test for energy conservation --- examples/snap/econs.py | 16 ++++++++++++++++ examples/snap/in.grid.pair | 27 +++++++++++++++++++++------ 2 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 examples/snap/econs.py diff --git a/examples/snap/econs.py b/examples/snap/econs.py new file mode 100644 index 0000000000..2e7167daca --- /dev/null +++ b/examples/snap/econs.py @@ -0,0 +1,16 @@ +import lammps + +infile = "in.grid.pair" +faclist = [0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5] + +print("# Timestep DeltaE DeltaE/Timestep^2") +for fac in faclist: + cmdlist = ["-screen","none","-var","dtfac", "%g" % fac] + lmp = lammps.lammps(cmdargs = cmdlist) + lmp.file(infile) + dt = lmp.extract_global("dt", lammps.LAMMPS_DOUBLE) + de = lmp.extract_fix("avede", lammps.LMP_STYLE_GLOBAL, lammps.LMP_TYPE_SCALAR) + dedt2 = de/dt**2 + print(f"{dt} {de} {dedt2}") + + diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair index 99c9623f7d..e4cf3e3298 100644 --- a/examples/snap/in.grid.pair +++ b/examples/snap/in.grid.pair @@ -1,10 +1,16 @@ # Demonstrate pair style base on sna/grid +# Test energy conservation +# Choose dtfac in the range [0.01,Infinity] +# Large dtfac means small timestep, while +# keeping trajectory output interval fixed +# Variable etotdelta measures change in (PE+KE)/natoms # Initialize simulation -variable dt index 0.5e-5 -variable nthermo index 100 -variable nsteps index 10000 +variable dtfac index 1 +variable dt equal 0.5e-3/${dtfac} +variable nthermo equal 1000*${dtfac} +variable nsteps equal 1000*${dtfac} variable nrep index 3 variable a index 3.0 variable ngrid index 2 @@ -35,8 +41,9 @@ lattice custom $a & region box block 0 ${nx} 0 ${ny} 0 ${nz} create_box 1 box create_atoms 1 box -displace_atoms all random ${del} ${del} ${del} 12345 mass 1 180.88 +displace_atoms all random ${del} ${del} ${del} 12345 +velocity all create $t 4928459 loop geom write_dump all custom test.dump id type x y z @@ -59,7 +66,16 @@ pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & quadraticflag ${quad} switchflag ${switch} pair_coeff * * Al -thermo_style custom step temp epair emol etotal press +thermo ${nthermo} +thermo_modify norm yes + +run 0 + +variable etot0 equal etotal +variable etotdelta equal abs(etotal-${etot0})/atoms +fix avede all ave/time 1 ${nthermo} ${nthermo} v_etotdelta + +thermo_style custom step temp epair ke etotal press v_etotdelta f_avede thermo ${nthermo} thermo_modify norm yes @@ -71,6 +87,5 @@ neigh_modify once no every 1 delay 0 check yes # Run MD -velocity all create $t 4928459 loop geom fix 1 all nve run ${nsteps} From 6de9c09730d9b0e9569d44be0f863fd2cdeb397b Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Dec 2021 16:35:30 -0700 Subject: [PATCH 043/153] Tweaked econs.py --- examples/snap/econs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/snap/econs.py b/examples/snap/econs.py index 2e7167daca..aece097622 100644 --- a/examples/snap/econs.py +++ b/examples/snap/econs.py @@ -1,7 +1,7 @@ import lammps infile = "in.grid.pair" -faclist = [0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5] +faclist = [0.001,0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5] print("# Timestep DeltaE DeltaE/Timestep^2") for fac in faclist: From 567c5c733465f891e39e333b877e368f12596b3d Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Dec 2021 16:37:23 -0700 Subject: [PATCH 044/153] Fixed sign error that now gives wonderful energy conservation --- src/ML-SNAP/pair_sna_grid.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index c84dcaf467..43a07b48e4 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -252,9 +252,9 @@ void PairSNAGrid::compute(int eflag, int vflag) snaptr->compute_deidrj(fij); - f[j][0] -= fij[0]; - f[j][1] -= fij[1]; - f[j][2] -= fij[2]; + f[j][0] += fij[0]; + f[j][1] += fij[1]; + f[j][2] += fij[2]; // tally per-atom virial contribution From 57aedc500ee7a99fe290f53b3103286427288886 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Dec 2021 17:40:29 -0700 Subject: [PATCH 045/153] Added a numerical force test, not automated --- examples/snap/in.fnum | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 examples/snap/in.fnum diff --git a/examples/snap/in.fnum b/examples/snap/in.fnum new file mode 100644 index 0000000000..addb9827d0 --- /dev/null +++ b/examples/snap/in.fnum @@ -0,0 +1,63 @@ +# Demonstrate pair style base on sna/grid +# Check numerical forces + +variable nrep index 3 +variable a index 3.0 +variable ngrid index 2 +variable del index 0.1 +variable fdelta index 0.0001 + +units metal + +atom_modify map yes + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 0 1 0 & + a3 0 0 1 & + basis 0 0 0 & + basis 0.5 0.5 0.5 & +# origin 0.25 0.25 0.25 +# origin 0.25e-3 0.25e-3 0.25e-3 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box +mass 1 180.88 +displace_atoms all random ${del} ${del} ${del} 12345 + +# define grid compute and atom compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 1 + +pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & + ${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & + quadraticflag ${quad} switchflag ${switch} +pair_coeff * * Al + +fix fnum all numdiff 1 ${fdelta} +variable fz1 equal fz[1] +variable fnumz1 equal f_fnum[1][3] +variable ferrz1 equal f_fnum[1][3]-fz[1] +thermo_style custom v_fz1 v_fnumz1 v_ferrz1 +thermo_modify norm yes + +run 0 From 4a7f726395ff720145219a6a0a09d4e5fc6e6ec8 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Dec 2021 17:40:59 -0700 Subject: [PATCH 046/153] Minor tweak --- examples/snap/in.grid.pair | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair index e4cf3e3298..128da2ad7a 100644 --- a/examples/snap/in.grid.pair +++ b/examples/snap/in.grid.pair @@ -70,7 +70,6 @@ thermo ${nthermo} thermo_modify norm yes run 0 - variable etot0 equal etotal variable etotdelta equal abs(etotal-${etot0})/atoms fix avede all ave/time 1 ${nthermo} ${nthermo} v_etotdelta @@ -87,5 +86,5 @@ neigh_modify once no every 1 delay 0 check yes # Run MD -fix 1 all nve +fix mynve all nve run ${nsteps} From ad307fb7849e408edad0b5aa8bef7614386e683f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 30 Dec 2021 11:43:32 -0700 Subject: [PATCH 047/153] Added script for RMSE on numerical forces --- examples/snap/fnum.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 examples/snap/fnum.py diff --git a/examples/snap/fnum.py b/examples/snap/fnum.py new file mode 100644 index 0000000000..bde45b042c --- /dev/null +++ b/examples/snap/fnum.py @@ -0,0 +1,24 @@ +import lammps + +def sqerr(a,b): + return (a[0]-b[0])**2+(a[1]-b[1])**2+(a[2]-b[2])**2 + +infile = "in.fnum" + +fdeltalist = [1.0e-2,1.0e-3,1.0e-4,1.0e-5,1.0e-6,1.0e-7,1.0e-8,1.0e-9,1.0e-10] + +print("Fdelta RMSE") +for fdelta in fdeltalist: + cmdlist = ["-screen","none","-var","fdelta",f'{fdelta}'] + lmp = lammps.lammps(cmdargs = cmdlist) + lmp.file(infile) + natoms = lmp.get_natoms() + + f = lmp.extract_atom("f") + fnum = lmp.extract_fix("fnum", lammps.LMP_STYLE_ATOM, lammps.LMP_TYPE_ARRAY) + + sumsq = 0 + for i in range(natoms): + sumsq += sqerr(fnum[i],f[i]) + rmse = (sumsq/natoms)**0.5 + print(f"{fdelta} {rmse}") From 0e8287730271cd3256832ab9249d6fa40ac1da43 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 30 Dec 2021 11:51:16 -0700 Subject: [PATCH 048/153] Tweak --- examples/snap/fnum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/snap/fnum.py b/examples/snap/fnum.py index bde45b042c..9f496861cc 100644 --- a/examples/snap/fnum.py +++ b/examples/snap/fnum.py @@ -18,7 +18,7 @@ for fdelta in fdeltalist: fnum = lmp.extract_fix("fnum", lammps.LMP_STYLE_ATOM, lammps.LMP_TYPE_ARRAY) sumsq = 0 - for i in range(natoms): + for i in range(nlocal): sumsq += sqerr(fnum[i],f[i]) rmse = (sumsq/natoms)**0.5 print(f"{fdelta} {rmse}") From 499bae77bdc3f0ad2521f76a6832c72e55f6b526 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 30 Dec 2021 12:02:53 -0700 Subject: [PATCH 049/153] Tweak --- examples/snap/fnum.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/snap/fnum.py b/examples/snap/fnum.py index 9f496861cc..83bdbba503 100644 --- a/examples/snap/fnum.py +++ b/examples/snap/fnum.py @@ -12,7 +12,7 @@ for fdelta in fdeltalist: cmdlist = ["-screen","none","-var","fdelta",f'{fdelta}'] lmp = lammps.lammps(cmdargs = cmdlist) lmp.file(infile) - natoms = lmp.get_natoms() + nlocal = lmp.extract_global("nlocal") f = lmp.extract_atom("f") fnum = lmp.extract_fix("fnum", lammps.LMP_STYLE_ATOM, lammps.LMP_TYPE_ARRAY) @@ -20,5 +20,5 @@ for fdelta in fdeltalist: sumsq = 0 for i in range(nlocal): sumsq += sqerr(fnum[i],f[i]) - rmse = (sumsq/natoms)**0.5 + rmse = (sumsq/nlocal)**0.5 print(f"{fdelta} {rmse}") From 82b7b2f3ea641daaff87dd2659dc881bbcc585ef Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Tue, 4 Jan 2022 14:02:29 -0700 Subject: [PATCH 050/153] Simplified access of force errors --- examples/snap/fnum.py | 14 ++------------ examples/snap/in.fnum | 8 +++----- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/examples/snap/fnum.py b/examples/snap/fnum.py index 83bdbba503..1e50e49b09 100644 --- a/examples/snap/fnum.py +++ b/examples/snap/fnum.py @@ -1,8 +1,5 @@ import lammps -def sqerr(a,b): - return (a[0]-b[0])**2+(a[1]-b[1])**2+(a[2]-b[2])**2 - infile = "in.fnum" fdeltalist = [1.0e-2,1.0e-3,1.0e-4,1.0e-5,1.0e-6,1.0e-7,1.0e-8,1.0e-9,1.0e-10] @@ -12,13 +9,6 @@ for fdelta in fdeltalist: cmdlist = ["-screen","none","-var","fdelta",f'{fdelta}'] lmp = lammps.lammps(cmdargs = cmdlist) lmp.file(infile) - nlocal = lmp.extract_global("nlocal") - - f = lmp.extract_atom("f") - fnum = lmp.extract_fix("fnum", lammps.LMP_STYLE_ATOM, lammps.LMP_TYPE_ARRAY) - - sumsq = 0 - for i in range(nlocal): - sumsq += sqerr(fnum[i],f[i]) - rmse = (sumsq/nlocal)**0.5 + faverrsq = lmp.extract_compute("faverrsq", lammps.LMP_STYLE_GLOBAL, lammps.LMP_TYPE_SCALAR) + rmse = faverrsq**0.5 print(f"{fdelta} {rmse}") diff --git a/examples/snap/in.fnum b/examples/snap/in.fnum index addb9827d0..1298e9aed9 100644 --- a/examples/snap/in.fnum +++ b/examples/snap/in.fnum @@ -54,10 +54,8 @@ pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & pair_coeff * * Al fix fnum all numdiff 1 ${fdelta} -variable fz1 equal fz[1] -variable fnumz1 equal f_fnum[1][3] -variable ferrz1 equal f_fnum[1][3]-fz[1] -thermo_style custom v_fz1 v_fnumz1 v_ferrz1 -thermo_modify norm yes +variable ferrsq atom (fx-f_fnum[1])^2+(fy-f_fnum[2])^2+(fz-f_fnum[3])^2 +compute faverrsq all reduce ave v_ferrsq +thermo_style custom c_faverrsq run 0 From 6ef7d19fc0a8a6180dd0c9ea3d4399c7d8143a0c Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 8 Apr 2022 15:05:17 -0600 Subject: [PATCH 051/153] Added a test for bgrid/local --- examples/snap/grid.local.py | 119 +++++++++++++++++++++++++++++ examples/snap/in.grid.python.local | 69 +++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100755 examples/snap/grid.local.py create mode 100644 examples/snap/in.grid.python.local diff --git a/examples/snap/grid.local.py b/examples/snap/grid.local.py new file mode 100755 index 0000000000..8b8cb99d66 --- /dev/null +++ b/examples/snap/grid.local.py @@ -0,0 +1,119 @@ +#!/Users/athomps/miniconda3/bin/python3.7 +# +# An example of SNAP grid from LAMMPS Python interface +# +# https://lammps.sandia.gov/doc/Python_library.html + + +from lammps import lammps, LMP_STYLE_LOCAL, LMP_SIZE_ROWS, LMP_SIZE_COLS, LMP_TYPE_ARRAY +import lammps_utils + +from mpi4py import MPI +comm = MPI.COMM_WORLD +me = comm.Get_rank() +nprocs = comm.Get_size() + +# define command line input variables + +ngridx = 2 +ngridy = 3 +ngridz = nprocs +twojmax = 2 + +lmp_cmdargs = ["-echo","screen"] +lmp_cmdargs = lammps_utils.set_cmdlinevars(lmp_cmdargs, + { + "ngridx":ngridx, + "ngridy":ngridy, + "ngridz":ngridz, + "twojmax":twojmax + } + ) + +# launch LAMMPS instance + +lmp = lammps(cmdargs=lmp_cmdargs) + +# run LAMMPS input script + +lmp.file("in.grid.python.local") + +# get quantities from LAMMPS + +num_atoms = lmp.get_natoms() + +# set things not accessible from LAMMPS + +# first 3 cols are x, y, z, coords + +ncols0 = 3 + +# analytical relation + +ncoeff = (twojmax+2)*(twojmax+3)*(twojmax+4) +ncoeff = ncoeff // 24 # integer division +ncols = ncols0+ncoeff + +# get B_0 at position (0,0,0) in 4 different ways + +# 1. from comute sna/atom + +bptr = lmp.extract_compute("b", 1, 2) # 1 = per-atom data, 2 = array +print("b = ",bptr[0][0]) + +# 2. from compute sna/grid + +bgridptr = lmp.extract_compute("bgrid", 0, 2) # 0 = style global, 2 = type array +print("bgrid = ",bgridptr[0][3]) + +# 3. from Numpy array pointing to sna/atom array + +bptr_np = lammps_utils.extract_compute_np(lmp,"b",1,2,(num_atoms,ncoeff)) +print("b_np = ",bptr_np[0][0]) + +# 4. from Numpy array pointing to sna/grid array + +bgridptr_np = lammps_utils.extract_compute_np(lmp,"bgrid",0,2,(ngridz,ngridy,ngridx,ncols)) +print("bgrid_np = ",bgridptr_np[0][0][0][ncols0+0]) + +# 5. from sna/grid/local array + +bgridlocalnrows = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_SIZE_ROWS) +print("bgridlocal nrows = ",bgridlocalnrows) +bgridlocalncols = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_SIZE_COLS) +print("bgridlocal ncols = ",bgridlocalncols) +bgridlocalptr = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_TYPE_ARRAY) +print("bgridlocal = ",bgridlocalptr) +print("bgridlocal[0][0] = ",bgridlocalptr[5][10]) + +# print out the LAMMPS array to a file + +outfile = open("bgrid.dat",'w') +igrid = 0 +for iz in range(ngridz): + for iy in range(ngridy): + for ix in range(ngridx): + outfile.write("x, y, z = %g %g %g\n" % + (bgridptr[igrid][0], + bgridptr[igrid][1], + bgridptr[igrid][2])) + for icoeff in range(ncoeff): + outfile.write("%g " % bgridptr[igrid][ncols0+icoeff]) + outfile.write("\n") + igrid += 1 +outfile.close() + +# print out the Numpy array to a file + +outfile = open("bgrid_np.dat",'w') +for iz in range(ngridz): + for iy in range(ngridy): + for ix in range(ngridx): + outfile.write("x, y, z = %g %g %g\n" % + (bgridptr_np[iz][iy][ix][0], + bgridptr_np[iz][iy][ix][1], + bgridptr_np[iz][iy][ix][2])) + for icoeff in range(ncoeff): + outfile.write("%g " % bgridptr_np[iz][iy][ix][ncols0+icoeff]) + outfile.write("\n") +outfile.close() diff --git a/examples/snap/in.grid.python.local b/examples/snap/in.grid.python.local new file mode 100644 index 0000000000..af95696a2b --- /dev/null +++ b/examples/snap/in.grid.python.local @@ -0,0 +1,69 @@ +# Demonstrate bispectrum per-atom and grid computes + +# Invoked from grid.py +# pass in values for ngridx, ngridy, ngridz, twojmax + +# Initialize simulation + +variable nsteps equal 0 +variable nrep equal 1 +variable a equal 3.316 + +units metal + +# make processor grid equal to nz + +processors 1 1 ${ngridz} + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom ${a} a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# define grid compute and atom compute + +group snapgroup type 1 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quad equal 0 +variable switch equal 1 + +compute b all sna/atom ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} + +compute bgrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} + +compute bgridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} + +# create dummy potential for neighbor list + +variable rcutneigh equal 2.0*${rcutfac}*${radelem} +pair_style zero ${rcutneigh} +pair_coeff * * + +# define output + +thermo_style custom step temp ke pe vol c_bgrid[1][1] +thermo_modify norm yes + +dump mydump_b all custom 1000 dump_b id c_b[*] + +dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_bgridlocal[*] + +# run + +run 0 From da6fb4c5443d72e790484e63a23e3e9b4e272860 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 8 Apr 2022 15:47:12 -0600 Subject: [PATCH 052/153] Added epsilon shift to eliminate uneven tiebreaks --- src/compute_grid_local.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 1b8de3c48a..e99a742c3b 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -191,6 +191,19 @@ void ComputeGridLocal::set_grid_local() zfrachi = comm->mysplit[2][1]; } + // not fully clear why this works + // without, sometimes get uneven assignments + // in case where ngridz is multiple of nprocz + + double MYEPS = 1.0e-10; + + xfraclo += MYEPS; + xfrachi += MYEPS; + yfraclo += MYEPS; + yfrachi += MYEPS; + zfraclo += MYEPS; + zfrachi += MYEPS; + nxlo = static_cast (xfraclo * nx); if (1.0*nxlo != xfraclo*nx) nxlo++; nxhi = static_cast (xfrachi * nx); From 429163d2b29608892c67d69852802e062de3dc0f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 11 Apr 2022 14:47:14 -0600 Subject: [PATCH 053/153] Added check for grid points outside subdomain --- src/compute_grid_local.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index e99a742c3b..d751a517cb 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -238,6 +238,14 @@ void ComputeGridLocal::assign_coords() alocal[igrid][2] = iz; double xgrid[3]; grid2x(ix, iy, iz, xgrid); + + // ensure gridpoint is not strictly outside subdomain + + if (xgrid[0] < sublo[0] && xgrid[0] > subhi[0] && + xgrid[1] < sublo[1] && xgrid[1] > subhi[1] && + xgrid[2] < sublo[2] && xgrid[2] > subhi[2]) + error->all(FLERR,"Invalid gridpoint position in compute grid/local"); + alocal[igrid][3] = xgrid[0]; alocal[igrid][4] = xgrid[1]; alocal[igrid][5] = xgrid[2]; From bae9ef7e565e2616cef8901fc0dc923f210f4754 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 11 Apr 2022 14:51:15 -0600 Subject: [PATCH 054/153] Added check for grid points outside subdomain --- src/compute_grid_local.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index d751a517cb..33e2bc9c49 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -244,7 +244,7 @@ void ComputeGridLocal::assign_coords() if (xgrid[0] < sublo[0] && xgrid[0] > subhi[0] && xgrid[1] < sublo[1] && xgrid[1] > subhi[1] && xgrid[2] < sublo[2] && xgrid[2] > subhi[2]) - error->all(FLERR,"Invalid gridpoint position in compute grid/local"); + error->one(FLERR,"Invalid gridpoint position in compute grid/local"); alocal[igrid][3] = xgrid[0]; alocal[igrid][4] = xgrid[1]; From c939316b99b9e06ac10d14455665ee85b4712ff4 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 11 Apr 2022 14:52:35 -0600 Subject: [PATCH 055/153] Added check for grid points outside subdomain --- src/compute_grid_local.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 33e2bc9c49..299e42d81d 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -241,9 +241,9 @@ void ComputeGridLocal::assign_coords() // ensure gridpoint is not strictly outside subdomain - if (xgrid[0] < sublo[0] && xgrid[0] > subhi[0] && - xgrid[1] < sublo[1] && xgrid[1] > subhi[1] && - xgrid[2] < sublo[2] && xgrid[2] > subhi[2]) + if (xgrid[0] < sublo[0] || xgrid[0] > subhi[0] || + xgrid[1] < sublo[1] || xgrid[1] > subhi[1] || + xgrid[2] < sublo[2] || xgrid[2] > subhi[2]) error->one(FLERR,"Invalid gridpoint position in compute grid/local"); alocal[igrid][3] = xgrid[0]; From ab73faee095419dbf80733bd64745880c0bab53a Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Tue, 19 Apr 2022 11:33:59 -0600 Subject: [PATCH 056/153] Removed EPS trick that was causing some unexpected reordering --- src/compute_grid_local.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 299e42d81d..ec385f6a13 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -191,18 +191,18 @@ void ComputeGridLocal::set_grid_local() zfrachi = comm->mysplit[2][1]; } - // not fully clear why this works - // without, sometimes get uneven assignments - // in case where ngridz is multiple of nprocz + // // not fully clear why this works + // // without, sometimes get uneven assignments + // // in case where ngridz is multiple of nprocz - double MYEPS = 1.0e-10; + // double MYEPS = 1.0e-10; - xfraclo += MYEPS; - xfrachi += MYEPS; - yfraclo += MYEPS; - yfrachi += MYEPS; - zfraclo += MYEPS; - zfrachi += MYEPS; + // xfraclo += MYEPS; + // xfrachi += MYEPS; + // yfraclo += MYEPS; + // yfrachi += MYEPS; + // zfraclo += MYEPS; + // zfrachi += MYEPS; nxlo = static_cast (xfraclo * nx); if (1.0*nxlo != xfraclo*nx) nxlo++; From 4c5782018897874fe3c11ac50757d505d7239885 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Tue, 19 Apr 2022 11:48:16 -0600 Subject: [PATCH 057/153] Applied the Modine transpose to x,y,z --- src/compute_grid_local.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index ec385f6a13..0d8738e230 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -230,9 +230,9 @@ void ComputeGridLocal::set_grid_local() void ComputeGridLocal::assign_coords() { int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) + for (int ix = nxlo; ix <= nxhi; ix++) for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { + for (int iz = nzlo; iz <= nzhi; iz++) { alocal[igrid][0] = ix; alocal[igrid][1] = iy; alocal[igrid][2] = iz; @@ -260,9 +260,9 @@ void ComputeGridLocal::assign_coords() void ComputeGridLocal::copy_gridlocal_to_local_array() { int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) + for (int ix = nxlo; ix <= nxhi; ix++) for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { + for (int iz = nzlo; iz <= nzhi; iz++) { for (int icol = size_local_cols_base; icol < size_local_cols; icol++) alocal[igrid][icol] = gridlocal[icol][iz][iy][ix]; igrid++; From 78aec491ff871ca2135b3861cd34f40b80ab89ca Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 22 Apr 2022 17:32:26 -0600 Subject: [PATCH 058/153] Minor tweaks --- examples/snap/grid.local.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/snap/grid.local.py b/examples/snap/grid.local.py index 8b8cb99d66..414558b79b 100755 --- a/examples/snap/grid.local.py +++ b/examples/snap/grid.local.py @@ -82,9 +82,11 @@ bgridlocalnrows = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_SIZE_RO print("bgridlocal nrows = ",bgridlocalnrows) bgridlocalncols = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_SIZE_COLS) print("bgridlocal ncols = ",bgridlocalncols) -bgridlocalptr = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_TYPE_ARRAY) -print("bgridlocal = ",bgridlocalptr) -print("bgridlocal[0][0] = ",bgridlocalptr[5][10]) + +if bgridlocalnrows > 0: + bgridlocalptr = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_TYPE_ARRAY) + print("bgridlocal = ",bgridlocalptr) + print("bgridlocal[0][0] = ",bgridlocalptr[5][10]) # print out the LAMMPS array to a file From 872e4de6ab9c91cd8e1001457cc39f558e38e53e Mon Sep 17 00:00:00 2001 From: Lenz Fiedler Date: Thu, 19 May 2022 23:21:15 +0200 Subject: [PATCH 059/153] Rolled back the Modine transpose --- src/compute_grid_local.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 0d8738e230..ec385f6a13 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -230,9 +230,9 @@ void ComputeGridLocal::set_grid_local() void ComputeGridLocal::assign_coords() { int igrid = 0; - for (int ix = nxlo; ix <= nxhi; ix++) + for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) - for (int iz = nzlo; iz <= nzhi; iz++) { + for (int ix = nxlo; ix <= nxhi; ix++) { alocal[igrid][0] = ix; alocal[igrid][1] = iy; alocal[igrid][2] = iz; @@ -260,9 +260,9 @@ void ComputeGridLocal::assign_coords() void ComputeGridLocal::copy_gridlocal_to_local_array() { int igrid = 0; - for (int ix = nxlo; ix <= nxhi; ix++) + for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) - for (int iz = nzlo; iz <= nzhi; iz++) { + for (int ix = nxlo; ix <= nxhi; ix++) { for (int icol = size_local_cols_base; icol < size_local_cols; icol++) alocal[igrid][icol] = gridlocal[icol][iz][iy][ix]; igrid++; From 2b001f9505aff2fe538d78c42720960025b412df Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 20 May 2022 13:21:55 -0600 Subject: [PATCH 060/153] Fix subdomain check for triclinic --- src/compute_grid_local.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index ec385f6a13..66eb0c5db3 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -81,6 +81,7 @@ void ComputeGridLocal::setup() /* ---------------------------------------------------------------------- convert global array indexes to box coords + for triclinic, these will be lamda coords ------------------------------------------------------------------------- */ void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) @@ -88,8 +89,6 @@ void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) x[0] = ix*delx; x[1] = iy*dely; x[2] = iz*delz; - - if (triclinic) domain->lamda2x(x, x); } /* ---------------------------------------------------------------------- @@ -245,6 +244,10 @@ void ComputeGridLocal::assign_coords() xgrid[1] < sublo[1] || xgrid[1] > subhi[1] || xgrid[2] < sublo[2] || xgrid[2] > subhi[2]) error->one(FLERR,"Invalid gridpoint position in compute grid/local"); + + // convert lamda to x, y, z, after sudomain check + + if (triclinic) domain->lamda2x(xgrid, xgrid); alocal[igrid][3] = xgrid[0]; alocal[igrid][4] = xgrid[1]; From 59e010343016b9eafcaf75d3f279fd2b34b9fbc5 Mon Sep 17 00:00:00 2001 From: Lenz Fiedler Date: Tue, 24 May 2022 17:00:41 +0200 Subject: [PATCH 061/153] Added EPSILON to subdomain check --- src/compute_grid_local.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 66eb0c5db3..a6f3cf29ad 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -23,6 +23,10 @@ #include "error.h" #include "comm.h" +// For the subdomain test below; grid-points and subdomain boundaries +// sometimes differ by minimal amounts (in the order of 2e-17). +#define EPSILON 1.0e-10 + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ @@ -239,11 +243,15 @@ void ComputeGridLocal::assign_coords() grid2x(ix, iy, iz, xgrid); // ensure gridpoint is not strictly outside subdomain - - if (xgrid[0] < sublo[0] || xgrid[0] > subhi[0] || - xgrid[1] < sublo[1] || xgrid[1] > subhi[1] || - xgrid[2] < sublo[2] || xgrid[2] > subhi[2]) - error->one(FLERR,"Invalid gridpoint position in compute grid/local"); + // There have been some problem with a gridpoint being something like 2e-17 outside of the subdomain, + // thus the EPISLON check. + if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || + (sublo[1]-xgrid[1]) > EPSILON || (xgrid[1]-subhi[1]) > EPSILON || + (sublo[2]-xgrid[2]) > EPSILON || (xgrid[2]-subhi[2]) > EPSILON) + { + error->one(FLERR,"Invalid gridpoint position in compute grid/local"); + } + // convert lamda to x, y, z, after sudomain check From 0a8b4c514265c478d219876b75cc90ade4ea3677 Mon Sep 17 00:00:00 2001 From: Lenz Fiedler Date: Wed, 25 May 2022 15:27:27 +0200 Subject: [PATCH 062/153] Hotfix for triclinic calculations --- src/compute_grid_local.cpp | 36 ++++++++++++++++++++++++++++++------ src/compute_grid_local.h | 1 + 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index a6f3cf29ad..504555a718 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -85,7 +85,6 @@ void ComputeGridLocal::setup() /* ---------------------------------------------------------------------- convert global array indexes to box coords - for triclinic, these will be lamda coords ------------------------------------------------------------------------- */ void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) @@ -93,8 +92,23 @@ void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) x[0] = ix*delx; x[1] = iy*dely; x[2] = iz*delz; + + if (triclinic) domain->lamda2x(x, x); } +/* ---------------------------------------------------------------------- + convert global array indexes to lamda coords; for orthorombic + cells defaults to grid2x. +------------------------------------------------------------------------- */ + +void ComputeGridLocal::grid2lamda(int ix, int iy, int iz, double *x) +{ + x[0] = ix*delx; + x[1] = iy*dely; + x[2] = iz*delz; +} + + /* ---------------------------------------------------------------------- create arrays ------------------------------------------------------------------------- */ @@ -240,9 +254,20 @@ void ComputeGridLocal::assign_coords() alocal[igrid][1] = iy; alocal[igrid][2] = iz; double xgrid[3]; - grid2x(ix, iy, iz, xgrid); - // ensure gridpoint is not strictly outside subdomain + // For triclinic: create gridpoint in lamda coordinates and transform after check. + // For orthorombic: create gridpoint in box coordinates. + + if (triclinic) + { + grid2lamda(ix, iy, iz, xgrid); + } + else + { + grid2x(ix, iy, iz, xgrid); + } + + // Ensure gridpoint is not strictly outside subdomain. // There have been some problem with a gridpoint being something like 2e-17 outside of the subdomain, // thus the EPISLON check. if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || @@ -252,11 +277,10 @@ void ComputeGridLocal::assign_coords() error->one(FLERR,"Invalid gridpoint position in compute grid/local"); } - // convert lamda to x, y, z, after sudomain check - + if (triclinic) domain->lamda2x(xgrid, xgrid); - + alocal[igrid][3] = xgrid[0]; alocal[igrid][4] = xgrid[1]; alocal[igrid][5] = xgrid[2]; diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index b3d2f4cd94..79a5ea765d 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -49,6 +49,7 @@ class ComputeGridLocal : public Compute { void allocate(); // create arrays void deallocate(); // free arrays void grid2x(int, int, int, double*); // convert global indices to coordinates + void grid2lamda(int, int, int, double*); // convert global indices to lamda coordinates void set_grid_global(); // set global grid void set_grid_local(); // set bounds for local grid void assign_coords(); // assign coords for grid From 204bba6ff70c5d8dab197265679cb9ba2a12e50a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 10 Jun 2022 08:17:14 -0600 Subject: [PATCH 063/153] new options for fix mdi/aimd --- doc/src/fix_mdi_aimd.rst | 86 +++++++++++++++++++++++++++++----------- 1 file changed, 62 insertions(+), 24 deletions(-) diff --git a/doc/src/fix_mdi_aimd.rst b/doc/src/fix_mdi_aimd.rst index 64bc4a3d6a..76524e2721 100644 --- a/doc/src/fix_mdi_aimd.rst +++ b/doc/src/fix_mdi_aimd.rst @@ -1,6 +1,6 @@ -.. index:: fix mdi/aimd +.. index:: fix mdi/qm -fix mdi/aimd command +fix mdi/qm command ====================== Syntax @@ -8,11 +8,21 @@ Syntax .. parsed-literal:: - fix ID group-ID mdi/aimd keyword + fix ID group-ID mdi/qm keyword * ID, group-ID are documented in :doc:`fix ` command -* mdi/aimd = style name of this fix command -* optional keyword = *plugin* +* mdi/qm = style name of this fix command +* zero or more keyword/value pairs may be appended +* keyword = *plugin* or *add* of *every* + + .. parsed-literal:: + + *plugin* args = none + *add* args = *yes* or *no* + yes = add returned value from server code to LAMMPS quantities + no = do not add returned values to LAMMPS quantities + *every* args = Nevery + Nevery = request values from server code once every Nevery steps Examples """""""" @@ -26,17 +36,31 @@ Description """"""""""" This command enables LAMMPS to act as a client with another server -code to couple the two codes together to perform ab initio MD (AIMD) -simulations. +code that will compute the total energy, per-atom forces, and total +virial for conformations and box size/shape that LAMMPS sends it. -More specifically, this command causes LAMMPS to begin using the `MDI -Library `_ -to run as an MDI driver (client), which sends MDI commands to an -external MDI engine code (server) which in the case of AIMD is a -quantum mechanics (QM) code, or could be LAMMPS itself, acting as a -surrogate for a QM code. See the :doc:`Howto mdi ` page -for more information about how LAMMPS can operate as either an MDI -driver or engine. +Typically the server code will be a quantum code, hence the name of +the fix. However this is not required, the server code could be +another classical molecular dynamics code or LAMMPS itself. The +server code must support use of the `MDI Library +`_ as +explained below. + +Example use cases for this fix are the following (discussed further +below): + +* perform an ab intitio MD (AIMD) simulation with quantum forces +* perform an energy minimziation with quantum forces +* perform a nudged elatic band (NEB) calculation with quantum forces +* LAMMPS reads or creates a series of configurations and requests a QM calculation for each one + +The code coupling performed by this command is done via the `MDI +Library `_. +LAMMPS runs as an MDI driver (client), and sends MDI commands to an +external MDI engine code (server), e.g. a quantum code which has +support for MDI. See the :doc:`Howto mdi ` page for more +information about how LAMMPS can operate as either an MDI driver or +engine. The examples/mdi directory contains input scripts performing AIMD in this manner with LAMMPS acting as both a driver and an engine @@ -47,11 +71,18 @@ MDI could be used in place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi ` page for a current list (March 2022) of such QM codes. -The engine code can run either as a stand-alone code, launched at the -same time as LAMMPS, or as a plugin library. See the :doc:`mdi plugin -` command for how to trigger LAMMPS to load the plugin library. -Again, the examples/mdi/README file explains how to launch both driver -and engine codes so that engine is used in plugin mode. +Engine codes can support MDI in either or both of two ways. The +engine code can support being used as a stand-alone code, launched at +the same time as LAMMPS. Or the engine code can support being used as +a plugin library, which LAMMPS loads. See the :doc:`mdi plugin ` +command for how to trigger LAMMPS to load the plugin library. The +examples/mdi/README file explains both use cases: launching both the +driver and engine as stand-alone codes or having the driver code load +an engine as a plugin library. + +---------- + + To use this fix with a plugin engine, you must specify the *plugin* keyword as the last argument, as illustrated above. @@ -63,7 +94,9 @@ To use this fix with a plugin engine, you must specify the ---------- -This fix performs the timestepping portion of an AIMD simulation. +---------- + +This fix performs the timestepping portion of anAIMD simulation. Both LAMMPS and the engine code (QM or LAMMPS) should define the same system (simulation box, atoms and their types) in their respective input scripts. LAMMPS then begins its timestepping. @@ -83,11 +116,15 @@ This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +Stored values by fix: energy, per-atoms forces, virial. + + + To use LAMMPS as an MDI driver in conjunction with other MDI-enabled atomistic codes, the :doc:`units ` command should be used to specify *real* or *metal* units. This will ensure the correct unit -conversions between LAMMPS and MDI units, which the other codes will -also perform in their preferred units. +conversions between LAMMPS and MDI units. The other code will also +perform similar unit conversions into its preferred units. LAMMPS can also be used as an MDI driver in other unit choices it supports, e.g. *lj*, but then no unit conversion is performed. @@ -100,4 +137,5 @@ Related commands Default """"""" -none +The default for the optional keywords is add = yes, every = 1. + From 8346ae2565ecd51f9d12639aec85285e4a3ab86d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 10 Jun 2022 15:32:41 -0600 Subject: [PATCH 064/153] more edits --- doc/src/fix_mdi_aimd.rst | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/doc/src/fix_mdi_aimd.rst b/doc/src/fix_mdi_aimd.rst index 76524e2721..7b87f369d7 100644 --- a/doc/src/fix_mdi_aimd.rst +++ b/doc/src/fix_mdi_aimd.rst @@ -13,16 +13,16 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * mdi/qm = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *plugin* or *add* of *every* +* keyword = *plugin* or *every* or *add* .. parsed-literal:: - *plugin* args = none + *plugin* args = none + *every* args = Nevery + Nevery = request values from server code once every Nevery steps *add* args = *yes* or *no* yes = add returned value from server code to LAMMPS quantities no = do not add returned values to LAMMPS quantities - *every* args = Nevery - Nevery = request values from server code once every Nevery steps Examples """""""" @@ -37,7 +37,8 @@ Description This command enables LAMMPS to act as a client with another server code that will compute the total energy, per-atom forces, and total -virial for conformations and box size/shape that LAMMPS sends it. +virial for atom conformations and simulation box size/shapes that +LAMMPS sends it. Typically the server code will be a quantum code, hence the name of the fix. However this is not required, the server code could be @@ -52,7 +53,7 @@ below): * perform an ab intitio MD (AIMD) simulation with quantum forces * perform an energy minimziation with quantum forces * perform a nudged elatic band (NEB) calculation with quantum forces -* LAMMPS reads or creates a series of configurations and requests a QM calculation for each one +* requests a QM calculation for a series of independent systems which LAMMPS reads or generates The code coupling performed by this command is done via the `MDI Library `_. @@ -62,23 +63,23 @@ support for MDI. See the :doc:`Howto mdi ` page for more information about how LAMMPS can operate as either an MDI driver or engine. -The examples/mdi directory contains input scripts performing AIMD in -this manner with LAMMPS acting as both a driver and an engine +The examples/mdi directory contains input scripts using this fix, with +two instances of LAMMPS acting as both a driver and an engine (surrogate for a QM code). The examples/mdi/README file explains how -to launch both driver and engine codes so that they communicate using +to launch two driver and engine codes so that they communicate using the MDI library via either MPI or sockets. Any QM code that supports MDI could be used in place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi ` page for a current list (March 2022) of such QM codes. -Engine codes can support MDI in either or both of two ways. The -engine code can support being used as a stand-alone code, launched at -the same time as LAMMPS. Or the engine code can support being used as -a plugin library, which LAMMPS loads. See the :doc:`mdi plugin ` -command for how to trigger LAMMPS to load the plugin library. The -examples/mdi/README file explains both use cases: launching both the -driver and engine as stand-alone codes or having the driver code load -an engine as a plugin library. +Engine codes can support MDI in either or both of two ways. It can +support being used as a stand-alone code, launched at the same time as +LAMMPS. Or it can support being used as a plugin library, which +LAMMPS loads. See the :doc:`mdi plugin ` command for how to +trigger LAMMPS to load the plugin library. The examples/mdi/README +file explains both use cases: launching both the driver and engine as +stand-alone codes or having the driver code load an engine as a plugin +library. ---------- @@ -87,10 +88,6 @@ an engine as a plugin library. To use this fix with a plugin engine, you must specify the *plugin* keyword as the last argument, as illustrated above. -.. note:: - - As of April 2022, the *plugin* keyword is needed. In a future - version of the MDI library it will no longer be necessary. ---------- From 9ac17d2ff8d77c27408299c1c64c1ed3a9cd7e2b Mon Sep 17 00:00:00 2001 From: Evan Weinberg Date: Mon, 13 Jun 2022 09:19:24 -0700 Subject: [PATCH 065/153] Commit of Pair MEAM WIP Kokkos port. Currently compiles but does not work. --- src/Depend.sh | 4 + src/KOKKOS/Install.sh | 9 + src/KOKKOS/math_special_kokkos.h | 12 + src/KOKKOS/meam_dens_final_kokkos.h | 181 ++++++++ src/KOKKOS/meam_dens_init_kokkos.h | 554 ++++++++++++++++++++++++ src/KOKKOS/meam_force_kokkos.h | 554 ++++++++++++++++++++++++ src/KOKKOS/meam_funcs_kokkos.h | 326 ++++++++++++++ src/KOKKOS/meam_impl_kokkos.h | 72 ++++ src/KOKKOS/meam_kokkos.h | 142 +++++++ src/KOKKOS/meam_setup_done_kokkos.h | 71 ++++ src/KOKKOS/pair_meam_kokkos.cpp | 633 ++++++++++++++++++++++++++++ src/KOKKOS/pair_meam_kokkos.h | 166 ++++++++ src/MEAM/meam.h | 2 +- src/MEAM/pair_meam.cpp | 2 + src/MEAM/pair_meam.h | 4 +- 15 files changed, 2729 insertions(+), 3 deletions(-) create mode 100644 src/KOKKOS/meam_dens_final_kokkos.h create mode 100644 src/KOKKOS/meam_dens_init_kokkos.h create mode 100644 src/KOKKOS/meam_force_kokkos.h create mode 100644 src/KOKKOS/meam_funcs_kokkos.h create mode 100644 src/KOKKOS/meam_impl_kokkos.h create mode 100644 src/KOKKOS/meam_kokkos.h create mode 100644 src/KOKKOS/meam_setup_done_kokkos.h create mode 100644 src/KOKKOS/pair_meam_kokkos.cpp create mode 100644 src/KOKKOS/pair_meam_kokkos.h diff --git a/src/Depend.sh b/src/Depend.sh index 8046fd2636..98f3e5de4f 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -127,6 +127,10 @@ if (test $1 = "MANYBODY") then depend OPENMP fi +if (test $1 = "MEAM") then + depend KOKKOS +fi + if (test $1 = "MOLECULE") then depend EXTRA-MOLECULE depend GPU diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 022da7855a..952f21e403 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -207,6 +207,13 @@ action nbin_ssa_kokkos.cpp nbin_ssa.cpp action nbin_ssa_kokkos.h nbin_ssa.h action math_special_kokkos.cpp action math_special_kokkos.h +action meam_setup_done_kokkos.h meam_setup_done.cpp +action meam_kokkos.h meam.h +action meam_impl_kokkos.h meam_impl.cpp +action meam_funcs_kokkos.h meam_funcs.cpp +action meam_force_kokkos.h meam_force.cpp +action meam_dens_init_kokkos.h meam_dens_init.cpp +action meam_dens_final_kokkos.h meam_dens_final.cpp action min_cg_kokkos.cpp action min_cg_kokkos.h action min_kokkos.cpp @@ -287,6 +294,8 @@ action pair_lj_gromacs_kokkos.cpp pair_lj_gromacs.cpp action pair_lj_gromacs_kokkos.h pair_lj_gromacs.h action pair_lj_sdk_kokkos.cpp pair_lj_sdk.cpp action pair_lj_sdk_kokkos.h pair_lj_sdk.h +action pair_meam_kokkos.h pair_meam.h +action pair_meam_kokkos.cpp pair_meam.cpp action pair_morse_kokkos.cpp action pair_morse_kokkos.h action pair_multi_lucy_rx_kokkos.cpp pair_multi_lucy_rx.cpp diff --git a/src/KOKKOS/math_special_kokkos.h b/src/KOKKOS/math_special_kokkos.h index 802d1c2979..f2d23a65eb 100644 --- a/src/KOKKOS/math_special_kokkos.h +++ b/src/KOKKOS/math_special_kokkos.h @@ -50,6 +50,18 @@ namespace MathSpecialKokkos { #endif } +#define FM_DOUBLE_LOG2OFE 1.4426950408889634074 + // fast e**x function for little endian CPUs, falls back to libc on other platforms + KOKKOS_INLINE_FUNCTION + static double fm_exp(double x) + { +#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + return exp2_x86(FM_DOUBLE_LOG2OFE * x); +#else + return ::exp(x); +#endif + } + // x**2, use instead of pow(x,2.0) KOKKOS_INLINE_FUNCTION static double square(const double &x) { return x*x; } diff --git a/src/KOKKOS/meam_dens_final_kokkos.h b/src/KOKKOS/meam_dens_final_kokkos.h new file mode 100644 index 0000000000..b44a8af3bd --- /dev/null +++ b/src/KOKKOS/meam_dens_final_kokkos.h @@ -0,0 +1,181 @@ +#include "meam_kokkos.h" +#include "math_special.h" + +using namespace LAMMPS_NS; + +template +void +MEAMKokkos::meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, double* eng_vdwl, + typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, int& errorflag) +{ + EV_FLOAT ev; + ev.evdwl = *eng_vdwl; + this->eflag_either = eflag_either; + this->eflag_global = eflag_global; + this->eflag_atom = eflag_atom; + this->d_eatom = eatom; + this->ntype = ntype; + this->type = type; + this->fmap = fmap; + + // Complete the calculation of density + + Kokkos::parallel_reduce(Kokkos::RangePolicy(0,nlocal),*this,ev); + *eng_vdwl = ev.evdwl; +} + +template +KOKKOS_INLINE_FUNCTION +void MEAMKokkos::operator()(TagMEAMDensFinal, const int &i, EV_FLOAT& ev) const { + + lattice_t elti; + int m; + int errorflag; + F_FLOAT rhob, G, dG, Gbar, dGbar, gam, shp[3], Z; + F_FLOAT B, denom, rho_bkgd; + + // may or may not be legal + elti = static_cast(fmap[type[i]]); + if (elti >= 0) { + d_rho1[i] = 0.0; + d_rho2[i] = -1.0 / 3.0 * d_arho2b[i] * d_arho2b[i]; + d_rho3[i] = 0.0; + for (m = 0; m < 3; m++) { + d_rho1[i] = d_rho1[i] + d_arho1(i,m) * d_arho1(i,m); + d_rho3[i] = d_rho3[i] - 3.0 / 5.0 * d_arho3b(i,m) * d_arho3b(i,m); + } + for (m = 0; m < 6; m++) { + d_rho2[i] = d_rho2[i] + v2D[m] * d_arho2(i,m) * d_arho2(i,m); + } + for (m = 0; m < 10; m++) { + d_rho3[i] = d_rho3[i] + v3D[m] * d_arho3(i,m) * d_arho3(i,m); + } + + if (d_rho0[i] > 0.0) { + if (this->ialloy == 1) { + d_t_ave(i,0) = fdiv_zero_kk(d_t_ave(i,0), d_tsq_ave(i,0)); + d_t_ave(i,1) = fdiv_zero_kk(d_t_ave(i,1), d_tsq_ave(i,1)); + d_t_ave(i,2) = fdiv_zero_kk(d_t_ave(i,2), d_tsq_ave(i,2)); + } else if (this->ialloy == 2) { + d_t_ave(i,0) = this->t1_meam[elti]; + d_t_ave(i,1) = this->t2_meam[elti]; + d_t_ave(i,2) = this->t3_meam[elti]; + } else { + d_t_ave(i,0) = d_t_ave(i,0) / d_rho0[i]; + d_t_ave(i,1) = d_t_ave(i,1) / d_rho0[i]; + d_t_ave(i,2) = d_t_ave(i,2) / d_rho0[i]; + } + } + + d_gamma[i] = d_t_ave(i,0) * d_rho1[i] + d_t_ave(i,1) * d_rho2[i] + d_t_ave(i,2) * d_rho3[i]; + + if (d_rho0[i] > 0.0) { + d_gamma[i] = d_gamma[i] / (d_rho0[i] * d_rho0[i]); + } + + // need to double check, the analogous function is + // Z = get_Zij(this->lattce_meam[elti][elti]); in the non-KOKKOS version? + Z = get_Zij(elti); + + G = G_gam(d_gamma[i], this->ibar_meam[elti], errorflag); + if (errorflag != 0) + { + //char str[128]; + //sprintf(str,"MEAMKokkos library error %d",errorflag); + //error->one(FLERR,str); + return; + } + get_shpfcn(this->lattce_meam[elti][elti], shp); + if (this->ibar_meam[elti] <= 0) { + Gbar = 1.0; + dGbar = 0.0; + } else { + if (this->mix_ref_t == 1) { + gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); + } else { + gam = (this->t1_meam[elti] * shp[0] + this->t2_meam[elti] * shp[1] + this->t3_meam[elti] * shp[2]) / + (Z * Z); + } + Gbar = G_gam(gam, this->ibar_meam[elti], errorflag); + } + d_rho[i] = d_rho0[i] * G; + + if (this->mix_ref_t == 1) { + if (this->ibar_meam[elti] <= 0) { + Gbar = 1.0; + dGbar = 0.0; + } else { + gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); + Gbar = dG_gam(gam, this->ibar_meam[elti], dGbar); + } + rho_bkgd = this->rho0_meam[elti] * Z * Gbar; + } else { + if (this->bkgd_dyn == 1) { + rho_bkgd = this->rho0_meam[elti] * Z; + } else { + rho_bkgd = this->rho_ref_meam[elti]; + } + } + rhob = d_rho[i] / rho_bkgd; + denom = 1.0 / rho_bkgd; + + G = dG_gam(d_gamma[i], this->ibar_meam[elti], dG); + + d_dgamma1[i] = (G - 2 * dG * d_gamma[i]) * denom; + + if (!iszero_kk(d_rho0[i])) { + d_dgamma2[i] = (dG / d_rho0[i]) * denom; + } else { + d_dgamma2[i] = 0.0; + } + + // dgamma3 is nonzero only if we are using the "mixed" rule for + // computing t in the reference system (which is not correct, but + // included for backward compatibility + if (this->mix_ref_t == 1) { + d_dgamma3[i] = d_rho0[i] * G * dGbar / (Gbar * Z * Z) * denom; + } else { + d_dgamma3[i] = 0.0; + } + + B = this->A_meam[elti] * this->Ec_meam[elti][elti]; + + if (!iszero_kk(rhob)) { + if (this->emb_lin_neg == 1 && rhob <= 0) { + d_frhop[i] = -B; + } else { + d_frhop[i] = B * (log(rhob) + 1.0); + } + if (eflag_either != 0) { + if (eflag_global != 0) { + if (this->emb_lin_neg == 1 && rhob <= 0) { + //*eng_vdwl = *eng_vdwl - B * rhob; + ev.evdwl = ev.evdwl - B * rhob; + } else { + //*eng_vdwl = *eng_vdwl + B * rhob * log(rhob); + ev.evdwl = ev.evdwl + B * rhob * log(rhob); + } + } + if (eflag_atom != 0) { + if (this->emb_lin_neg == 1 && rhob <= 0) { + d_eatom[i] = d_eatom[i] - B * rhob; + } else { + d_eatom[i] = d_eatom[i] + B * rhob * log(rhob); + } + } + } + } else { + if (this->emb_lin_neg == 1) { + d_frhop[i] = -B; + } else { + d_frhop[i] = B; + } + } + } + if (errorflag) + { + //char str[128]; + //sprintf(str,"MEAMKokkos library error %d",errorflag); + //error->one(FLERR,str); + } +} diff --git a/src/KOKKOS/meam_dens_init_kokkos.h b/src/KOKKOS/meam_dens_init_kokkos.h new file mode 100644 index 0000000000..c3dfdbbcb8 --- /dev/null +++ b/src/KOKKOS/meam_dens_init_kokkos.h @@ -0,0 +1,554 @@ +#include "meam_kokkos.h" +#include "math_special.h" +#include "mpi.h" + +using namespace LAMMPS_NS; +using namespace MathSpecialKokkos; + +template +template +KOKKOS_INLINE_FUNCTION +void MEAMKokkos::operator()(TagMEAMDensInit, const int &i, EV_FLOAT &ev) const { + int ii, offsetval; + ii = d_ilist_half[i]; + offsetval = d_offset[i]; + // Compute screening function and derivatives + this->template getscreen(ii, offsetval, x, d_numneigh_half, + d_numneigh_full, ntype, type, fmap); + + // Calculate intermediate density terms to be communicated + this->template calc_rho1(ii, ntype, type, fmap, x, d_numneigh_half, offsetval); + ev.evdwl += d_numneigh_half[i]; +} + +template +KOKKOS_INLINE_FUNCTION +void MEAMKokkos::operator()(TagMEAMInitialize, const int &i) const { + d_rho0[i] = 0.0; + d_arho2b[i] = 0.0; + d_arho1(i,0) = d_arho1(i,1) = d_arho1(i,2) = 0.0; + for (int j = 0; j < 6; j++) + d_arho2(i,j) = 0.0; + for (int j = 0; j < 10; j++) + d_arho3(i,j) = 0.0; + d_arho3b(i,0) = d_arho3b(i,1) = d_arho3b(i,2) = 0.0; + d_t_ave(i,0) = d_t_ave(i,1) = d_t_ave(i,2) = 0.0; + d_tsq_ave(i,0) = d_tsq_ave(i,1) = d_tsq_ave(i,2) = 0.0; +} + +template +void +MEAMKokkos::meam_dens_setup(int atom_nmax, int nall, int n_neigh) +{ + MemoryKokkos *memoryKK = (MemoryKokkos *)memory; + + // grow local arrays if necessary + + if (atom_nmax > nmax) { + memoryKK->destroy_kokkos(k_rho,rho); + memoryKK->destroy_kokkos(k_rho0,rho0); + memoryKK->destroy_kokkos(k_rho1,rho1); + memoryKK->destroy_kokkos(k_rho2,rho2); + memoryKK->destroy_kokkos(k_rho3,rho3); + memoryKK->destroy_kokkos(k_frhop,frhop); + memoryKK->destroy_kokkos(k_gamma,gamma); + memoryKK->destroy_kokkos(k_dgamma1,dgamma1); + memoryKK->destroy_kokkos(k_dgamma2,dgamma2); + memoryKK->destroy_kokkos(k_dgamma3,dgamma3); + memoryKK->destroy_kokkos(k_arho2b,arho2b); + memoryKK->destroy_kokkos(k_arho1,arho1); + memoryKK->destroy_kokkos(k_arho2,arho2); + memoryKK->destroy_kokkos(k_arho3,arho3); + memoryKK->destroy_kokkos(k_arho3b,arho3b); + memoryKK->destroy_kokkos(k_t_ave,t_ave); + memoryKK->destroy_kokkos(k_tsq_ave,tsq_ave); + + nmax = atom_nmax; +// memory->create(rho, nmax, "pair:rho"); + k_rho = DAT::tdual_ffloat_1d("pair:rho",nmax); + d_rho = k_rho.template view(); + h_rho = k_rho.h_view; + // memory->create(rho0, nmax, "pair:rho0"); + k_rho0 = DAT::tdual_ffloat_1d("pair:rho0",nmax); + d_rho0 = k_rho0.template view(); + h_rho0 = k_rho0.h_view; + //memory->create(rho1, nmax, "pair:rho1"); + k_rho1 = DAT::tdual_ffloat_1d("pair:rho1",nmax); + d_rho1 = k_rho1.template view(); + h_rho1 = k_rho1.h_view; + //memory->create(rho2, nmax, "pair:rho2"); + k_rho2 = DAT::tdual_ffloat_1d("pair:rho2",nmax); + d_rho2 = k_rho2.template view(); + h_rho2 = k_rho2.h_view; + //memory->create(rho3, nmax, "pair:rho3"); + k_rho3 = DAT::tdual_ffloat_1d("pair:rho3",nmax); + d_rho3 = k_rho3.template view(); + h_rho3 = k_rho3.h_view; + //memory->create(frhop, nmax, "pair:frhop"); + k_frhop = DAT::tdual_ffloat_1d("pair:frhop",nmax); + d_frhop = k_frhop.template view(); + h_frhop = k_frhop.h_view; + //memory->create(gamma, nmax, "pair:gamma"); + k_gamma = DAT::tdual_ffloat_1d("pair:gamma",nmax); + d_gamma = k_gamma.template view(); + h_gamma = k_gamma.h_view; + //memory->create(dgamma1, nmax, "pair:dgamma1"); + k_dgamma1 = DAT::tdual_ffloat_1d("pair:dgamma1",nmax); + d_dgamma1 = k_dgamma1.template view(); + h_dgamma1 = k_dgamma1.h_view; + //memory->create(dgamma2, nmax, "pair:dgamma2"); + k_dgamma2 = DAT::tdual_ffloat_1d("pair:dgamma2",nmax); + d_dgamma2 = k_dgamma2.template view(); + h_dgamma2 = k_dgamma2.h_view; + //memory->create(dgamma3, nmax, "pair:dgamma3"); + k_dgamma3 = DAT::tdual_ffloat_1d("pair:dgamma3",nmax); + d_dgamma3 = k_dgamma3.template view(); + h_dgamma3 = k_dgamma3.h_view; + //memory->create(arho2b, nmax, "pair:arho2b"); + k_arho2b = DAT::tdual_ffloat_1d("pair:arho2b",nmax); + d_arho2b = k_arho2b.template view(); + h_arho2b = k_arho2b.h_view; + //memory->create(arho1, nmax, 3, "pair:arho1"); + k_arho1 = DAT::tdual_ffloat_2d("pair:arho1",nmax, 3); + d_arho1 = k_arho1.template view(); + h_arho1 = k_arho1.h_view; + //memory->create(arho2, nmax, 6, "pair:arho2"); + k_arho2 = DAT::tdual_ffloat_2d("pair:arho2",nmax, 6); + d_arho2 = k_arho2.template view(); + h_arho2 = k_arho2.h_view; + //memory->create(arho3, nmax, 10, "pair:arho3"); + k_arho3 = DAT::tdual_ffloat_2d("pair:arho3",nmax, 10); + d_arho3 = k_arho3.template view(); + h_arho3 = k_arho3.h_view; + //memory->create(arho3b, nmax, 3, "pair:arho3b"); + k_arho3b = DAT::tdual_ffloat_2d("pair:arho3b",nmax, 3); + d_arho3b = k_arho3b.template view(); + h_arho3b = k_arho3b.h_view; + //memory->create(t_ave, nmax, 3, "pair:t_ave"); + k_t_ave = DAT::tdual_ffloat_2d("pair:t_ave",nmax, 3); + d_t_ave = k_t_ave.template view(); + h_t_ave = k_t_ave.h_view; + //memory->create(tsq_ave, nmax, 3, "pair:tsq_ave"); + k_tsq_ave = DAT::tdual_ffloat_2d("pair:tsq_ave",nmax, 3); + d_tsq_ave = k_tsq_ave.template view(); + h_tsq_ave = k_tsq_ave.h_view; + } + + if (n_neigh > maxneigh) { + memoryKK->destroy_kokkos(k_scrfcn,scrfcn); + memoryKK->destroy_kokkos(k_dscrfcn,dscrfcn); + memoryKK->destroy_kokkos(k_fcpair,fcpair); + maxneigh = n_neigh; + // memory->create(scrfcn, maxneigh, "pair:scrfcn"); + k_scrfcn = DAT::tdual_ffloat_1d("pair:scrfcn", maxneigh); + d_scrfcn = k_scrfcn.template view(); + h_scrfcn = k_scrfcn.h_view; + //memory->create(dscrfcn, maxneigh, "pair:dscrfcn"); + k_dscrfcn = DAT::tdual_ffloat_1d("pair:dscrfcn", maxneigh); + d_dscrfcn = k_dscrfcn.template view(); + h_dscrfcn = k_dscrfcn.h_view; + //memory->create(fcpair, maxneigh, "pair:fcpair"); + k_fcpair = DAT::tdual_ffloat_1d("pair:fcpair", maxneigh); + d_fcpair = k_fcpair.template view(); + h_fcpair = k_fcpair.h_view; + } + + // zero out local arrays + + Kokkos::parallel_for(Kokkos::RangePolicy(0, nall),*this); +} + +template +void +MEAMKokkos::meam_dens_init(int inum_half, int ntype, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread d_numneigh_half, typename AT::t_int_1d_randomread d_numneigh_full, + int *fnoffset, typename AT::t_int_1d_randomread d_ilist_half, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, typename AT::t_int_1d_randomread d_offset, int neighflag) +{ + EV_FLOAT ev; + + ev.evdwl = 0; + this->ntype = ntype; + this->type = type; + this->fmap = fmap; + this->x = x; + this->d_numneigh_half = d_numneigh_half; + this->d_numneigh_full = d_numneigh_full; + this->d_ilist_half = d_ilist_half; + this->d_neighbors_half = d_neighbors_half; + this->d_neighbors_full = d_neighbors_full; + this->d_offset = d_offset; + if (neighflag == FULL) + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum_half),*this, ev); + else if (neighflag == HALF) + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum_half),*this, ev); + else if (neighflag == HALFTHREAD) + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum_half),*this, ev); + *fnoffset = (int)ev.evdwl; +} + +// ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +template +template +KOKKOS_INLINE_FUNCTION +void +MEAMKokkos::getscreen(int i, int offset, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread numneigh_half, + typename AT::t_int_1d_randomread numneigh_full, int /*ntype*/, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap) +const { + int jn, j, kn, k; + int elti, eltj, eltk; + X_FLOAT xitmp, yitmp, zitmp, delxij, delyij, delzij; + F_FLOAT rij2, rij; + X_FLOAT xjtmp, yjtmp, zjtmp, delxik, delyik, delzik; + F_FLOAT rik2 /*,rik*/; + X_FLOAT xktmp, yktmp, zktmp, delxjk, delyjk, delzjk; + F_FLOAT rjk2 /*,rjk*/; + X_FLOAT xik, xjk; + F_FLOAT sij, fcij, sfcij, dfcij, sikj, dfikj, cikj; + F_FLOAT Cmin, Cmax, delc, /*ebound,*/ a, coef1, coef2; + F_FLOAT dCikj; + F_FLOAT rnorm, fc, dfc, drinv; + + drinv = 1.0 / this->delr_meam; + elti = fmap[type[i]]; + if (elti < 0) return; + + xitmp = x(i,0); + yitmp = x(i,1); + zitmp = x(i,2); + + for (jn = 0; jn < numneigh_half[i]; jn++) { + //j = firstneigh[jn]; + j = d_neighbors_half(i,jn); + + eltj = fmap[type[j]]; + if (eltj < 0) continue; + + // First compute screening function itself, sij + xjtmp = x(j,0); + yjtmp = x(j,1); + zjtmp = x(j,2); + delxij = xjtmp - xitmp; + delyij = yjtmp - yitmp; + delzij = zjtmp - zitmp; + + rij2 = delxij * delxij + delyij * delyij + delzij * delzij; + rij = sqrt(rij2); + + double rbound = this->ebound_meam[elti][eltj] * rij2; + if (rij > this->rc_meam) { + fcij = 0.0; + dfcij = 0.0; + sij = 0.0; + } else { + rnorm = (this->rc_meam - rij) * drinv; + sij = 1.0; + + // if rjk2 > ebound*rijsq, atom k is definitely outside the ellipse + for (kn = 0; kn < numneigh_full[i]; kn++) { + //k = firstneigh_full[kn]; + k = d_neighbors_full(i,kn); + eltk = fmap[type[k]]; + if (eltk < 0) continue; + if (k == j) continue; + + delxjk = x(k,0) - xjtmp; + delyjk = x(k,1) - yjtmp; + delzjk = x(k,2) - zjtmp; + rjk2 = delxjk * delxjk + delyjk * delyjk + delzjk * delzjk; + if (rjk2 > rbound) continue; + + delxik = x(k,0) - xitmp; + delyik = x(k,1) - yitmp; + delzik = x(k,2) - zitmp; + rik2 = delxik * delxik + delyik * delyik + delzik * delzik; + if (rik2 > rbound) continue; + + xik = rik2 / rij2; + xjk = rjk2 / rij2; + a = 1 - (xik - xjk) * (xik - xjk); + // if a < 0, then ellipse equation doesn't describe this case and + // atom k can't possibly screen i-j + if (a <= 0.0) continue; + + cikj = (2.0 * (xik + xjk) + a - 2.0) / a; + Cmax = this->Cmax_meam[elti][eltj][eltk]; + Cmin = this->Cmin_meam[elti][eltj][eltk]; + if (cikj >= Cmax) continue; + // note that cikj may be slightly negative (within numerical + // tolerance) if atoms are colinear, so don't reject that case here + // (other negative cikj cases were handled by the test on "a" above) + else if (cikj <= Cmin) { + sij = 0.0; + break; + } else { + delc = Cmax - Cmin; + cikj = (cikj - Cmin) / delc; + sikj = fcut(cikj); + } + sij *= sikj; + } + + fc = dfcut(rnorm, dfc); + fcij = fc; + dfcij = dfc * drinv; + } + // Now compute derivatives + d_dscrfcn[offset+jn] = 0.0; + sfcij = sij * fcij; + if (iszero_kk(sfcij) || iszero_kk(sfcij - 1.0)) + { + d_scrfcn[offset+jn] = sij; + d_fcpair[offset+jn] = fcij; + continue; + //goto LABEL_100; + } + + for (kn = 0; kn < numneigh_full[i]; kn++) { + //k = firstneigh_full[kn]; + k = d_neighbors_full(i,kn); + if (k == j) continue; + eltk = fmap[type[k]]; + if (eltk < 0) continue; + + xktmp = x(k,0); + yktmp = x(k,1); + zktmp = x(k,2); + delxjk = xktmp - xjtmp; + delyjk = yktmp - yjtmp; + delzjk = zktmp - zjtmp; + rjk2 = delxjk * delxjk + delyjk * delyjk + delzjk * delzjk; + if (rjk2 > rbound) continue; + + delxik = xktmp - xitmp; + delyik = yktmp - yitmp; + delzik = zktmp - zitmp; + rik2 = delxik * delxik + delyik * delyik + delzik * delzik; + if (rik2 > rbound) continue; + + xik = rik2 / rij2; + xjk = rjk2 / rij2; + a = 1 - (xik - xjk) * (xik - xjk); + // if a < 0, then ellipse equation doesn't describe this case and + // atom k can't possibly screen i-j + if (a <= 0.0) continue; + + cikj = (2.0 * (xik + xjk) + a - 2.0) / a; + Cmax = this->Cmax_meam[elti][eltj][eltk]; + Cmin = this->Cmin_meam[elti][eltj][eltk]; + if (cikj >= Cmax) { + continue; + // Note that cikj may be slightly negative (within numerical + // tolerance) if atoms are colinear, so don't reject that case + // here + // (other negative cikj cases were handled by the test on "a" + // above) + // Note that we never have 0 +template +KOKKOS_INLINE_FUNCTION +void +MEAMKokkos::calc_rho1(int i, int /*ntype*/, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread numneigh, + int offset) const +{ + int jn, j, m, n, p, elti, eltj; + int nv2, nv3; + X_FLOAT xtmp, ytmp, ztmp, delij[3]; + F_FLOAT rij2, rij, sij; + F_FLOAT ai, aj, rhoa0j, rhoa1j, rhoa2j, rhoa3j, A1j, A2j, A3j; + // double G,Gbar,gam,shp[3+1]; + F_FLOAT ro0i, ro0j; + F_FLOAT rhoa0i, rhoa1i, rhoa2i, rhoa3i, A1i, A2i, A3i; + + // Likely to do: replace with duplicated view for OpenMP, atomic view for GPU abstraction + Kokkos::View::value> > a_rho0 = d_rho0; + Kokkos::View::value> > a_arho2b = d_arho2b; + Kokkos::View::value> > a_t_ave = d_t_ave; + Kokkos::View::value> > a_tsq_ave = d_tsq_ave; + Kokkos::View::value> > a_arho1 = d_arho1; + Kokkos::View::value> > a_arho2 = d_arho2; + Kokkos::View::value> > a_arho3 = d_arho3; + Kokkos::View::value> > a_arho3b = d_arho3b; + + elti = fmap[type[i]]; + xtmp = x(i,0); + ytmp = x(i,1); + ztmp = x(i,2); + for (jn = 0; jn < numneigh[i]; jn++) { + if (!iszero_kk(d_scrfcn[offset+jn])) { + //j = firstneigh[jn]; + j = d_neighbors_half(i,jn); + sij = d_scrfcn[offset+jn] * d_fcpair[offset+jn]; + delij[0] = x(j,0) - xtmp; + delij[1] = x(j,1) - ytmp; + delij[2] = x(j,2) - ztmp; + rij2 = delij[0] * delij[0] + delij[1] * delij[1] + delij[2] * delij[2]; + if (rij2 < this->cutforcesq) { + eltj = fmap[type[j]]; + rij = sqrt(rij2); + ai = rij / this->re_meam[elti][elti] - 1.0; + aj = rij / this->re_meam[eltj][eltj] - 1.0; + ro0i = this->rho0_meam[elti]; + ro0j = this->rho0_meam[eltj]; + rhoa0j = ro0j * MathSpecialKokkos::fm_exp(-this->beta0_meam[eltj] * aj) * sij; + rhoa1j = ro0j * MathSpecialKokkos::fm_exp(-this->beta1_meam[eltj] * aj) * sij; + rhoa2j = ro0j * MathSpecialKokkos::fm_exp(-this->beta2_meam[eltj] * aj) * sij; + rhoa3j = ro0j * MathSpecialKokkos::fm_exp(-this->beta3_meam[eltj] * aj) * sij; + rhoa0i = ro0i * MathSpecialKokkos::fm_exp(-this->beta0_meam[elti] * ai) * sij; + rhoa1i = ro0i * MathSpecialKokkos::fm_exp(-this->beta1_meam[elti] * ai) * sij; + rhoa2i = ro0i * MathSpecialKokkos::fm_exp(-this->beta2_meam[elti] * ai) * sij; + rhoa3i = ro0i * MathSpecialKokkos::fm_exp(-this->beta3_meam[elti] * ai) * sij; + if (this->ialloy == 1) { + rhoa1j = rhoa1j * this->t1_meam[eltj]; + rhoa2j = rhoa2j * this->t2_meam[eltj]; + rhoa3j = rhoa3j * this->t3_meam[eltj]; + rhoa1i = rhoa1i * this->t1_meam[elti]; + rhoa2i = rhoa2i * this->t2_meam[elti]; + rhoa3i = rhoa3i * this->t3_meam[elti]; + } + a_rho0[i] += rhoa0j; + a_rho0[j] += rhoa0i; + // For ialloy = 2, use single-element value (not average) + if (this->ialloy != 2) { + a_t_ave(i,0) = a_t_ave(i,0) + this->t1_meam[eltj] * rhoa0j; + a_t_ave(i,1) = a_t_ave(i,1) + this->t2_meam[eltj] * rhoa0j; + a_t_ave(i,2) = a_t_ave(i,2) + this->t3_meam[eltj] * rhoa0j; + a_t_ave(j,0) = a_t_ave(j,0) + this->t1_meam[elti] * rhoa0i; + a_t_ave(j,1) = a_t_ave(j,1) + this->t2_meam[elti] * rhoa0i; + a_t_ave(j,2) = a_t_ave(j,2) + this->t3_meam[elti] * rhoa0i; + } + if (this->ialloy == 1) { + a_tsq_ave(i,0) = a_tsq_ave(i,0) + this->t1_meam[eltj] * this->t1_meam[eltj] * rhoa0j; + a_tsq_ave(i,1) = a_tsq_ave(i,1) + this->t2_meam[eltj] * this->t2_meam[eltj] * rhoa0j; + a_tsq_ave(i,2) = a_tsq_ave(i,2) + this->t3_meam[eltj] * this->t3_meam[eltj] * rhoa0j; + a_tsq_ave(j,0) = a_tsq_ave(j,0) + this->t1_meam[elti] * this->t1_meam[elti] * rhoa0i; + a_tsq_ave(j,1) = a_tsq_ave(j,1) + this->t2_meam[elti] * this->t2_meam[elti] * rhoa0i; + a_tsq_ave(j,2) = a_tsq_ave(j,2) + this->t3_meam[elti] * this->t3_meam[elti] * rhoa0i; + } + a_arho2b[i] += rhoa2j; + a_arho2b[j] += rhoa2i; + + A1j = rhoa1j / rij; + A2j = rhoa2j / rij2; + A3j = rhoa3j / (rij2 * rij); + A1i = rhoa1i / rij; + A2i = rhoa2i / rij2; + A3i = rhoa3i / (rij2 * rij); + nv2 = 0; + nv3 = 0; + for (m = 0; m < 3; m++) { + a_arho1(i,m) += A1j * delij[m]; + a_arho1(j,m) += (-A1i * delij[m]); + a_arho3b(i,m) += rhoa3j * delij[m] / rij; + a_arho3b(j,m) += (- rhoa3i * delij[m] / rij); + for (n = m; n < 3; n++) { + a_arho2(i,nv2) += A2j * delij[m] * delij[n]; + a_arho2(j,nv2) += A2i * delij[m] * delij[n]; + nv2 = nv2 + 1; + for (p = n; p < 3; p++) { + a_arho3(i,nv3) += A3j * delij[m] * delij[n] * delij[p]; + a_arho3(j,nv3) += (- A3i * delij[m] * delij[n] * delij[p]); + nv3 = nv3 + 1; + } + } + } + } + } + } +} + +//Cutoff function and derivative + +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::dfcut(const double xi, double& dfc) const { + double a, a3, a4, a1m4; + if (xi >= 1.0) { + dfc = 0.0; + return 1.0; + } else if (xi <= 0.0) { + dfc = 0.0; + return 0.0; + } else { + a = 1.0 - xi; + a3 = a * a * a; + a4 = a * a3; + a1m4 = 1.0-a4; + + dfc = 8 * a1m4 * a3; + return a1m4*a1m4; + } + } + + //----------------------------------------------------------------------------- + // // Derivative of Cikj w.r.t. rij + // // Inputs: rij,rij2,rik2,rjk2 + // // + // + +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::dCfunc(const double rij2, const double rik2, const double rjk2) const +{ + double rij4, a, asq, b,denom; + + rij4 = rij2 * rij2; + a = rik2 - rjk2; + b = rik2 + rjk2; + asq = a*a; + denom = rij4 - asq; + denom = denom * denom; + return -4 * (-2 * rij2 * asq + rij4 * b + asq * b) / denom; +} + +template +KOKKOS_INLINE_FUNCTION +void MEAMKokkos::dCfunc2(const double rij2, const double rik2, const double rjk2, double& dCikj1, double& dCikj2) const +{ + double rij4, rik4, rjk4, a, denom; + + rij4 = rij2 * rij2; + rik4 = rik2 * rik2; + rjk4 = rjk2 * rjk2; + a = rik2 - rjk2; + denom = rij4 - a * a; + denom = denom * denom; + dCikj1 = 4 * rij2 * (rij4 + rik4 + 2 * rik2 * rjk2 - 3 * rjk4 - 2 * rij2 * a) / denom; + dCikj2 = 4 * rij2 * (rij4 - 3 * rik4 + 2 * rik2 * rjk2 + rjk4 + 2 * rij2 * a) / denom; + +} +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::fcut(const double xi) const{ + double a; + if (xi >= 1.0) + return 1.0; + else if (xi <= 0.0) + return 0.0; + else { + a = 1.0 - xi; + a *= a; a *= a; + a = 1.0 - a; + return a * a; + } + } + diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h new file mode 100644 index 0000000000..4e061c9043 --- /dev/null +++ b/src/KOKKOS/meam_force_kokkos.h @@ -0,0 +1,554 @@ +#include "meam_kokkos.h" +#include "math_special_kokkos.h" +#include + +using namespace LAMMPS_NS; +using namespace MathSpecialKokkos; + + +template +void +MEAMKokkos::meam_force(int inum_half, int eflag_either, int eflag_global, int eflag_atom, int vflag_atom, double* eng_vdwl, + typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread numneigh, + typename AT::t_int_1d_randomread numneigh_full, typename AT::t_f_array f, typename ArrayTypes::t_virial_array vatom, typename AT::t_int_1d_randomread d_ilist_half, typename AT::t_int_1d_randomread d_offset, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, int neighflag) +{ + EV_FLOAT ev; + ev.evdwl = *eng_vdwl; + + this->eflag_either = eflag_either; + this->eflag_global = eflag_global; + this->eflag_atom = eflag_atom; + this->vflag_atom = vflag_atom; + this->d_eatom = eatom; + this->ntype = ntype; + this->type = type; + this->fmap = fmap; + this->x = x; + this->d_numneigh_half = numneigh; + this->d_numneigh_full = numneigh_full; + this->d_neighbors_half = d_neighbors_half; + this->d_neighbors_full = d_neighbors_full; + this->f = f; + this->d_vatom = vatom; + this->d_ilist_half = d_ilist_half; + this->d_offset = d_offset; + + if (neighflag == FULL) + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + else if (neighflag == HALF) + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + else if (neighflag == HALFTHREAD) + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + *eng_vdwl = ev.evdwl; +} + +template +template +KOKKOS_INLINE_FUNCTION +void +MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FLOAT& ev) const { + int i, j, jn, k, kn, kk, m, n, p, q; + int nv2, nv3, elti, eltj, eltk, ind; + X_FLOAT xitmp, yitmp, zitmp, delij[3]; + F_FLOAT rij2, rij, rij3; + F_FLOAT v[6], fi[3], fj[3]; + F_FLOAT third, sixth; + F_FLOAT pp, dUdrij, dUdsij, dUdrijm[3], force, forcem; + F_FLOAT r, recip, phi, phip; + F_FLOAT sij; + F_FLOAT a1, a1i, a1j, a2, a2i, a2j; + F_FLOAT a3i, a3j; + F_FLOAT shpi[3], shpj[3]; + F_FLOAT ai, aj, ro0i, ro0j, invrei, invrej; + F_FLOAT rhoa0j, drhoa0j, rhoa0i, drhoa0i; + F_FLOAT rhoa1j, drhoa1j, rhoa1i, drhoa1i; + F_FLOAT rhoa2j, drhoa2j, rhoa2i, drhoa2i; + F_FLOAT a3, a3a, rhoa3j, drhoa3j, rhoa3i, drhoa3i; + F_FLOAT drho0dr1, drho0dr2, drho0ds1, drho0ds2; + F_FLOAT drho1dr1, drho1dr2, drho1ds1, drho1ds2; + F_FLOAT drho1drm1[3], drho1drm2[3]; + F_FLOAT drho2dr1, drho2dr2, drho2ds1, drho2ds2; + F_FLOAT drho2drm1[3], drho2drm2[3]; + F_FLOAT drho3dr1, drho3dr2, drho3ds1, drho3ds2; + F_FLOAT drho3drm1[3], drho3drm2[3]; + F_FLOAT dt1dr1, dt1dr2, dt1ds1, dt1ds2; + F_FLOAT dt2dr1, dt2dr2, dt2ds1, dt2ds2; + F_FLOAT dt3dr1, dt3dr2, dt3ds1, dt3ds2; + F_FLOAT drhodr1, drhodr2, drhods1, drhods2, drhodrm1[3], drhodrm2[3]; + F_FLOAT arg; + F_FLOAT arg1i1, arg1j1, arg1i2, arg1j2, arg1i3, arg1j3, arg3i3, arg3j3; + F_FLOAT dsij1, dsij2, force1, force2; + F_FLOAT t1i, t2i, t3i, t1j, t2j, t3j; + int fnoffset; + + // To do: update with duplication for OpenMP, atomic for GPUs + Kokkos::View::value> > a_eatom = d_eatom; + Kokkos::View::value> > a_vatom = d_vatom; + Kokkos::View::value> > a_f = f; + + + i = d_ilist_half[ii]; + fnoffset = d_offset[i]; + third = 1.0 / 3.0; + sixth = 1.0 / 6.0; + // Compute forces atom i + + elti = fmap[type[i]]; + if (elti < 0) return; + + xitmp = x(i,0); + yitmp = x(i,1); + zitmp = x(i,2); + + // Treat each pair + for (jn = 0; jn < d_numneigh_half[i]; jn++) { + //j = firstneigh[jn]; + j = d_neighbors_half(i,jn); + eltj = fmap[type[j]]; + + if (!iszero_kk(d_scrfcn[fnoffset + jn]) && eltj >= 0) { + + sij = d_scrfcn[fnoffset + jn] * d_fcpair[fnoffset + jn]; + delij[0] = x(j,0) - xitmp; + delij[1] = x(j,1) - yitmp; + delij[2] = x(j,2) - zitmp; + rij2 = delij[0] * delij[0] + delij[1] * delij[1] + delij[2] * delij[2]; + if (rij2 < this->cutforcesq) { + rij = sqrt(rij2); + r = rij; + + // Compute phi and phip + ind = this->eltind[elti][eltj]; + pp = rij * this->rdrar; + kk = (int)pp; + kk = (kk <= (this->nrar - 2))?kk:this->nrar - 2; + pp = pp - kk; + pp = (pp <= 1.0)?pp:1.0; + phi = ((this->d_phirar3(ind,kk) * pp + this->d_phirar2(ind,kk)) * pp + this->d_phirar1(ind,kk)) * pp + + this->d_phirar(ind,kk); + phip = (this->d_phirar6(ind,kk) * pp + this->d_phirar5(ind,kk)) * pp + this->d_phirar4(ind,kk); + recip = 1.0 / r; + + if (eflag_either != 0) { + if (eflag_global != 0) + //*eng_vdwl = *eng_vdwl + phi * sij; + ev.evdwl = ev.evdwl + phi * sij; + if (eflag_atom != 0) { + a_eatom[i] += (0.5 * phi * sij); + a_eatom[j] += (0.5 * phi * sij); + } + } + + // write(1,*) "force_meamf: phi: ",phi + // write(1,*) "force_meamf: phip: ",phip + + // Compute pair densities and derivatives + invrei = 1.0 / this->re_meam[elti][elti]; + ai = rij * invrei - 1.0; + ro0i = this->rho0_meam[elti]; + rhoa0i = ro0i * MathSpecialKokkos::fm_exp(-this->beta0_meam[elti] * ai); + drhoa0i = -this->beta0_meam[elti] * invrei * rhoa0i; + rhoa1i = ro0i * MathSpecialKokkos::fm_exp(-this->beta1_meam[elti] * ai); + drhoa1i = -this->beta1_meam[elti] * invrei * rhoa1i; + rhoa2i = ro0i * MathSpecialKokkos::fm_exp(-this->beta2_meam[elti] * ai); + drhoa2i = -this->beta2_meam[elti] * invrei * rhoa2i; + rhoa3i = ro0i * MathSpecialKokkos::fm_exp(-this->beta3_meam[elti] * ai); + drhoa3i = -this->beta3_meam[elti] * invrei * rhoa3i; + + if (elti != eltj) { + invrej = 1.0 / this->re_meam[eltj][eltj]; + aj = rij * invrej - 1.0; + ro0j = this->rho0_meam[eltj]; + rhoa0j = ro0j * MathSpecialKokkos::fm_exp(-this->beta0_meam[eltj] * aj); + drhoa0j = -this->beta0_meam[eltj] * invrej * rhoa0j; + rhoa1j = ro0j * MathSpecialKokkos::fm_exp(-this->beta1_meam[eltj] * aj); + drhoa1j = -this->beta1_meam[eltj] * invrej * rhoa1j; + rhoa2j = ro0j * MathSpecialKokkos::fm_exp(-this->beta2_meam[eltj] * aj); + drhoa2j = -this->beta2_meam[eltj] * invrej * rhoa2j; + rhoa3j = ro0j * MathSpecialKokkos::fm_exp(-this->beta3_meam[eltj] * aj); + drhoa3j = -this->beta3_meam[eltj] * invrej * rhoa3j; + } else { + rhoa0j = rhoa0i; + drhoa0j = drhoa0i; + rhoa1j = rhoa1i; + drhoa1j = drhoa1i; + rhoa2j = rhoa2i; + drhoa2j = drhoa2i; + rhoa3j = rhoa3i; + drhoa3j = drhoa3i; + } + + const double t1mi = this->t1_meam[elti]; + const double t2mi = this->t2_meam[elti]; + const double t3mi = this->t3_meam[elti]; + const double t1mj = this->t1_meam[eltj]; + const double t2mj = this->t2_meam[eltj]; + const double t3mj = this->t3_meam[eltj]; + + if (this->ialloy == 1) { + rhoa1j *= t1mj; + rhoa2j *= t2mj; + rhoa3j *= t3mj; + rhoa1i *= t1mi; + rhoa2i *= t2mi; + rhoa3i *= t3mi; + drhoa1j *= t1mj; + drhoa2j *= t2mj; + drhoa3j *= t3mj; + drhoa1i *= t1mi; + drhoa2i *= t2mi; + drhoa3i *= t3mi; + } + + nv2 = 0; + nv3 = 0; + arg1i1 = 0.0; + arg1j1 = 0.0; + arg1i2 = 0.0; + arg1j2 = 0.0; + arg1i3 = 0.0; + arg1j3 = 0.0; + arg3i3 = 0.0; + arg3j3 = 0.0; + for (n = 0; n < 3; n++) { + for (p = n; p < 3; p++) { + for (q = p; q < 3; q++) { + arg = delij[n] * delij[p] * delij[q] * this->v3D[nv3]; + arg1i3 = arg1i3 + d_arho3(i,nv3) * arg; + arg1j3 = arg1j3 - d_arho3(j,nv3) * arg; + nv3 = nv3 + 1; + } + arg = delij[n] * delij[p] * this->v2D[nv2]; + arg1i2 = arg1i2 + d_arho2(i,nv2) * arg; + arg1j2 = arg1j2 + d_arho2(j,nv2) * arg; + nv2 = nv2 + 1; + } + arg1i1 = arg1i1 + d_arho1(i,n) * delij[n]; + arg1j1 = arg1j1 - d_arho1(j,n) * delij[n]; + arg3i3 = arg3i3 + d_arho3b(i,n) * delij[n]; + arg3j3 = arg3j3 - d_arho3b(j,n) * delij[n]; + } + + // rho0 terms + drho0dr1 = drhoa0j * sij; + drho0dr2 = drhoa0i * sij; + + // rho1 terms + a1 = 2 * sij / rij; + drho1dr1 = a1 * (drhoa1j - rhoa1j / rij) * arg1i1; + drho1dr2 = a1 * (drhoa1i - rhoa1i / rij) * arg1j1; + a1 = 2.0 * sij / rij; + for (m = 0; m < 3; m++) { + drho1drm1[m] = a1 * rhoa1j * d_arho1(i,m); + drho1drm2[m] = -a1 * rhoa1i * d_arho1(j,m); + } + + // rho2 terms + a2 = 2 * sij / rij2; + drho2dr1 = a2 * (drhoa2j - 2 * rhoa2j / rij) * arg1i2 - 2.0 / 3.0 * d_arho2b[i] * drhoa2j * sij; + drho2dr2 = a2 * (drhoa2i - 2 * rhoa2i / rij) * arg1j2 - 2.0 / 3.0 * d_arho2b[j] * drhoa2i * sij; + a2 = 4 * sij / rij2; + for (m = 0; m < 3; m++) { + drho2drm1[m] = 0.0; + drho2drm2[m] = 0.0; + for (n = 0; n < 3; n++) { + drho2drm1[m] = drho2drm1[m] + d_arho2(i,this->vind2D[m][n]) * delij[n]; + drho2drm2[m] = drho2drm2[m] - d_arho2(j,this->vind2D[m][n]) * delij[n]; + } + drho2drm1[m] = a2 * rhoa2j * drho2drm1[m]; + drho2drm2[m] = -a2 * rhoa2i * drho2drm2[m]; + } + + // rho3 terms + rij3 = rij * rij2; + a3 = 2 * sij / rij3; + a3a = 6.0 / 5.0 * sij / rij; + drho3dr1 = a3 * (drhoa3j - 3 * rhoa3j / rij) * arg1i3 - a3a * (drhoa3j - rhoa3j / rij) * arg3i3; + drho3dr2 = a3 * (drhoa3i - 3 * rhoa3i / rij) * arg1j3 - a3a * (drhoa3i - rhoa3i / rij) * arg3j3; + a3 = 6 * sij / rij3; + a3a = 6 * sij / (5 * rij); + for (m = 0; m < 3; m++) { + drho3drm1[m] = 0.0; + drho3drm2[m] = 0.0; + nv2 = 0; + for (n = 0; n < 3; n++) { + for (p = n; p < 3; p++) { + arg = delij[n] * delij[p] * this->v2D[nv2]; + drho3drm1[m] = drho3drm1[m] + d_arho3(i,this->vind3D[m][n][p]) * arg; + drho3drm2[m] = drho3drm2[m] + d_arho3(j,this->vind3D[m][n][p]) * arg; + nv2 = nv2 + 1; + } + } + drho3drm1[m] = (a3 * drho3drm1[m] - a3a * d_arho3b(i,m)) * rhoa3j; + drho3drm2[m] = (-a3 * drho3drm2[m] + a3a * d_arho3b(j,m)) * rhoa3i; + } + + // Compute derivatives of weighting functions t wrt rij + t1i = d_t_ave(i,0); + t2i = d_t_ave(i,1); + t3i = d_t_ave(i,2); + t1j = d_t_ave(j,0); + t2j = d_t_ave(j,1); + t3j = d_t_ave(j,2); + + if (this->ialloy == 1) { + + a1i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,0)); + a1j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,0)); + a2i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,1)); + a2j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,1)); + a3i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,2)); + a3j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,2)); + + dt1dr1 = a1i * (t1mj - t1i * MathSpecialKokkos::square(t1mj)); + dt1dr2 = a1j * (t1mi - t1j * MathSpecialKokkos::square(t1mi)); + dt2dr1 = a2i * (t2mj - t2i * MathSpecialKokkos::square(t2mj)); + dt2dr2 = a2j * (t2mi - t2j * MathSpecialKokkos::square(t2mi)); + dt3dr1 = a3i * (t3mj - t3i * MathSpecialKokkos::square(t3mj)); + dt3dr2 = a3j * (t3mi - t3j * MathSpecialKokkos::square(t3mi)); + + } else if (this->ialloy == 2) { + + dt1dr1 = 0.0; + dt1dr2 = 0.0; + dt2dr1 = 0.0; + dt2dr2 = 0.0; + dt3dr1 = 0.0; + dt3dr2 = 0.0; + + } else { + + ai = 0.0; + if (!iszero_kk(d_rho0[i])) + ai = drhoa0j * sij / d_rho0[i]; + aj = 0.0; + if (!iszero_kk(d_rho0[j])) + aj = drhoa0i * sij / d_rho0[j]; + + dt1dr1 = ai * (t1mj - t1i); + dt1dr2 = aj * (t1mi - t1j); + dt2dr1 = ai * (t2mj - t2i); + dt2dr2 = aj * (t2mi - t2j); + dt3dr1 = ai * (t3mj - t3i); + dt3dr2 = aj * (t3mi - t3j); + } + + // Compute derivatives of total density wrt rij, sij and rij(3) + get_shpfcn(this->lattce_meam[elti][elti], shpi); + get_shpfcn(this->lattce_meam[eltj][eltj], shpj); + drhodr1 = dgamma1[i] * drho0dr1 + + dgamma2[i] * (dt1dr1 * d_rho1[i] + t1i * drho1dr1 + dt2dr1 * d_rho2[i] + t2i * drho2dr1 + + dt3dr1 * d_rho3[i] + t3i * drho3dr1) - + dgamma3[i] * (shpi[0] * dt1dr1 + shpi[1] * dt2dr1 + shpi[2] * dt3dr1); + drhodr2 = dgamma1[j] * drho0dr2 + + dgamma2[j] * (dt1dr2 * d_rho1[j] + t1j * drho1dr2 + dt2dr2 * d_rho2[j] + t2j * drho2dr2 + + dt3dr2 * d_rho3[j] + t3j * drho3dr2) - + dgamma3[j] * (shpj[0] * dt1dr2 + shpj[1] * dt2dr2 + shpj[2] * dt3dr2); + for (m = 0; m < 3; m++) { + drhodrm1[m] = 0.0; + drhodrm2[m] = 0.0; + drhodrm1[m] = dgamma2[i] * (t1i * drho1drm1[m] + t2i * drho2drm1[m] + t3i * drho3drm1[m]); + drhodrm2[m] = dgamma2[j] * (t1j * drho1drm2[m] + t2j * drho2drm2[m] + t3j * drho3drm2[m]); + } + + // Compute derivatives wrt sij, but only if necessary + if (!iszero_kk(d_dscrfcn[fnoffset + jn])) { + drho0ds1 = rhoa0j; + drho0ds2 = rhoa0i; + a1 = 2.0 / rij; + drho1ds1 = a1 * rhoa1j * arg1i1; + drho1ds2 = a1 * rhoa1i * arg1j1; + a2 = 2.0 / rij2; + drho2ds1 = a2 * rhoa2j * arg1i2 - 2.0 / 3.0 * d_arho2b[i] * rhoa2j; + drho2ds2 = a2 * rhoa2i * arg1j2 - 2.0 / 3.0 * d_arho2b[j] * rhoa2i; + a3 = 2.0 / rij3; + a3a = 6.0 / (5.0 * rij); + drho3ds1 = a3 * rhoa3j * arg1i3 - a3a * rhoa3j * arg3i3; + drho3ds2 = a3 * rhoa3i * arg1j3 - a3a * rhoa3i * arg3j3; + + if (this->ialloy == 1) { + a1i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,0)); + a1j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,0)); + a2i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,1)); + a2j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,1)); + a3i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,2)); + a3j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,2)); + + dt1ds1 = a1i * (t1mj - t1i * MathSpecialKokkos::square(t1mj)); + dt1ds2 = a1j * (t1mi - t1j * MathSpecialKokkos::square(t1mi)); + dt2ds1 = a2i * (t2mj - t2i * MathSpecialKokkos::square(t2mj)); + dt2ds2 = a2j * (t2mi - t2j * MathSpecialKokkos::square(t2mi)); + dt3ds1 = a3i * (t3mj - t3i * MathSpecialKokkos::square(t3mj)); + dt3ds2 = a3j * (t3mi - t3j * MathSpecialKokkos::square(t3mi)); + + } else if (this->ialloy == 2) { + + dt1ds1 = 0.0; + dt1ds2 = 0.0; + dt2ds1 = 0.0; + dt2ds2 = 0.0; + dt3ds1 = 0.0; + dt3ds2 = 0.0; + + } else { + + ai = 0.0; + if (!iszero_kk(d_rho0[i])) + ai = rhoa0j / d_rho0[i]; + aj = 0.0; + if (!iszero_kk(d_rho0[j])) + aj = rhoa0i / d_rho0[j]; + + dt1ds1 = ai * (t1mj - t1i); + dt1ds2 = aj * (t1mi - t1j); + dt2ds1 = ai * (t2mj - t2i); + dt2ds2 = aj * (t2mi - t2j); + dt3ds1 = ai * (t3mj - t3i); + dt3ds2 = aj * (t3mi - t3j); + } + + drhods1 = d_dgamma1[i] * drho0ds1 + + d_dgamma2[i] * (dt1ds1 * d_rho1[i] + t1i * drho1ds1 + dt2ds1 * d_rho2[i] + t2i * drho2ds1 + + dt3ds1 * d_rho3[i] + t3i * drho3ds1) - + d_dgamma3[i] * (shpi[0] * dt1ds1 + shpi[1] * dt2ds1 + shpi[2] * dt3ds1); + drhods2 = d_dgamma1[j] * drho0ds2 + + d_dgamma2[j] * (dt1ds2 * d_rho1[j] + t1j * drho1ds2 + dt2ds2 * d_rho2[j] + t2j * drho2ds2 + + dt3ds2 * d_rho3[j] + t3j * drho3ds2) - + d_dgamma3[j] * (shpj[0] * dt1ds2 + shpj[1] * dt2ds2 + shpj[2] * dt3ds2); + } + + // Compute derivatives of energy wrt rij, sij and rij[3] + dUdrij = phip * sij + d_frhop[i] * drhodr1 + d_frhop[j] * drhodr2; + dUdsij = 0.0; + if (!iszero_kk(d_dscrfcn[fnoffset + jn])) { + dUdsij = phi + d_frhop[i] * drhods1 + d_frhop[j] * drhods2; + } + for (m = 0; m < 3; m++) { + dUdrijm[m] = d_frhop[i] * drhodrm1[m] + d_frhop[j] * drhodrm2[m]; + } + + // Add the part of the force due to dUdrij and dUdsij + force = dUdrij * recip + dUdsij * d_dscrfcn[fnoffset + jn]; + for (m = 0; m < 3; m++) { + forcem = delij[m] * force + dUdrijm[m]; + a_f(i,m) += forcem; + a_f(j,m) -= -forcem; + } + + // Tabulate per-atom virial as symmetrized stress tensor + + if (vflag_atom != 0) { + fi[0] = delij[0] * force + dUdrijm[0]; + fi[1] = delij[1] * force + dUdrijm[1]; + fi[2] = delij[2] * force + dUdrijm[2]; + v[0] = -0.5 * (delij[0] * fi[0]); + v[1] = -0.5 * (delij[1] * fi[1]); + v[2] = -0.5 * (delij[2] * fi[2]); + v[3] = -0.25 * (delij[0] * fi[1] + delij[1] * fi[0]); + v[4] = -0.25 * (delij[0] * fi[2] + delij[2] * fi[0]); + v[5] = -0.25 * (delij[1] * fi[2] + delij[2] * fi[1]); + + for (m = 0; m < 6; m++) { + a_vatom(i,m) += v[m]; + a_vatom(j,m) += v[m]; + } + } + + // Now compute forces on other atoms k due to change in sij + + if (iszero_kk(sij) || iszero_kk(sij - 1.0)) continue; //: cont jn loop + + double dxik(0), dyik(0), dzik(0); + double dxjk(0), dyjk(0), dzjk(0); + + for (kn = 0; kn < d_numneigh_full[i]; kn++) { + //k = firstneigh_full[kn]; + k = d_neighbors_full(i,kn); + eltk = fmap[type[k]]; + if (k != j && eltk >= 0) { + double xik, xjk, cikj, sikj, dfc, a; + double dCikj1, dCikj2; + double delc, rik2, rjk2; + + sij = d_scrfcn[jn+fnoffset] * d_fcpair[jn+fnoffset]; + const double Cmax = this->Cmax_meam[elti][eltj][eltk]; + const double Cmin = this->Cmin_meam[elti][eltj][eltk]; + + dsij1 = 0.0; + dsij2 = 0.0; + if (!iszero_kk(sij) && !iszero_kk(sij - 1.0)) { + const double rbound = rij2 * this->ebound_meam[elti][eltj]; + delc = Cmax - Cmin; + dxjk = x(k,0) - x(j,0); + dyjk = x(k,1) - x(j,1); + dzjk = x(k,2) - x(j,2); + rjk2 = dxjk * dxjk + dyjk * dyjk + dzjk * dzjk; + if (rjk2 <= rbound) { + dxik = x(k,0) - x(i,0); + dyik = x(k,1) - x(i,1); + dzik = x(k,2) - x(i,2); + rik2 = dxik * dxik + dyik * dyik + dzik * dzik; + if (rik2 <= rbound) { + xik = rik2 / rij2; + xjk = rjk2 / rij2; + a = 1 - (xik - xjk) * (xik - xjk); + if (!iszero_kk(a)) { + cikj = (2.0 * (xik + xjk) + a - 2.0) / a; + if (cikj >= Cmin && cikj <= Cmax) { + cikj = (cikj - Cmin) / delc; + sikj = dfcut(cikj, dfc); + dCfunc2(rij2, rik2, rjk2, dCikj1, dCikj2); + a = sij / delc * dfc / sikj; + dsij1 = a * dCikj1; + dsij2 = a * dCikj2; + } + } + } + } + } + + if (!iszero_kk(dsij1) || !iszero_kk(dsij2)) { + force1 = dUdsij * dsij1; + force2 = dUdsij * dsij2; + + a_f(i,0) += force1 * dxik; + a_f(i,1) += force1 * dyik; + a_f(i,2) += force1 * dzik; + a_f(j,0) += force2 * dxjk; + a_f(j,1) += force2 * dyjk; + a_f(j,2) += force2 * dzjk; + a_f(k,0) -= force1 * dxik + force2 * dxjk; + a_f(k,1) -= force1 * dyik + force2 * dyjk; + a_f(k,2) -= force1 * dzik + force2 * dzjk; + + // Tabulate per-atom virial as symmetrized stress tensor + + if (vflag_atom != 0) { + fi[0] = force1 * dxik; + fi[1] = force1 * dyik; + fi[2] = force1 * dzik; + fj[0] = force2 * dxjk; + fj[1] = force2 * dyjk; + fj[2] = force2 * dzjk; + v[0] = -third * (dxik * fi[0] + dxjk * fj[0]); + v[1] = -third * (dyik * fi[1] + dyjk * fj[1]); + v[2] = -third * (dzik * fi[2] + dzjk * fj[2]); + v[3] = -sixth * (dxik * fi[1] + dxjk * fj[1] + dyik * fi[0] + dyjk * fj[0]); + v[4] = -sixth * (dxik * fi[2] + dxjk * fj[2] + dzik * fi[0] + dzjk * fj[0]); + v[5] = -sixth * (dyik * fi[2] + dyjk * fj[2] + dzik * fi[1] + dzjk * fj[1]); + + for (m = 0; m < 6; m++) { + a_vatom(i,m) += v[m]; + a_vatom(j,m) += v[m]; + a_vatom(k,m) += v[m]; + } + } + } + } + // end of k loop + } + } + } + // end of j loop + } +} diff --git a/src/KOKKOS/meam_funcs_kokkos.h b/src/KOKKOS/meam_funcs_kokkos.h new file mode 100644 index 0000000000..9e41be9ea8 --- /dev/null +++ b/src/KOKKOS/meam_funcs_kokkos.h @@ -0,0 +1,326 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Sebastian Hütter (OvGU) +------------------------------------------------------------------------- */ + +#include "math_special_kokkos.h" +#include +#include "meam_kokkos.h" +using namespace MathSpecialKokkos; + +//----------------------------------------------------------------------------- +// Compute G(gamma) based on selection flag ibar: +// 0 => G = sqrt(1+gamma) +// 1 => G = exp(gamma/2) +// 2 => not implemented +// 3 => G = 2/(1+exp(-gamma)) +// 4 => G = sqrt(1+gamma) +// -5 => G = +-sqrt(abs(1+gamma)) +// +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::G_gam(const double gamma, const int ibar, int &errorflag) const +{ + double gsmooth_switchpoint; + + switch (ibar) { + case 0: + case 4: + gsmooth_switchpoint = -gsmooth_factor / (gsmooth_factor + 1); + if (gamma < gsmooth_switchpoint) { + // e.g. gsmooth_factor is 99, {: + // gsmooth_switchpoint = -0.99 + // G = 0.01*(-0.99/gamma)**99 + double G = 1 / (gsmooth_factor + 1) * pow((gsmooth_switchpoint / gamma), gsmooth_factor); + return sqrt(G); + } else { + return sqrt(1.0 + gamma); + } + case 1: + return MathSpecialKokkos::fm_exp(gamma / 2.0); + case 3: + return 2.0 / (1.0 + exp(-gamma)); + case -5: + if ((1.0 + gamma) >= 0) { + return sqrt(1.0 + gamma); + } else { + return -sqrt(-1.0 - gamma); + } + } + errorflag = 1; + return 0.0; +} + +//----------------------------------------------------------------------------- +// Compute G(gamma and dG(gamma) based on selection flag ibar: +// 0 => G = sqrt(1+gamma) +// 1 => G = exp(gamma/2) +// 2 => not implemented +// 3 => G = 2/(1+exp(-gamma)) +// 4 => G = sqrt(1+gamma) +// -5 => G = +-sqrt(abs(1+gamma)) +// +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::dG_gam(const double gamma, const int ibar, double& dG) const +{ + double gsmooth_switchpoint; + double G; + + switch (ibar) { + case 0: + case 4: + gsmooth_switchpoint = -gsmooth_factor / (gsmooth_factor + 1); + if (gamma < gsmooth_switchpoint) { + // e.g. gsmooth_factor is 99, {: + // gsmooth_switchpoint = -0.99 + // G = 0.01*(-0.99/gamma)**99 + G = 1 / (gsmooth_factor + 1) * pow((gsmooth_switchpoint / gamma), gsmooth_factor); + G = sqrt(G); + dG = -gsmooth_factor * G / (2.0 * gamma); + return G; + } else { + G = sqrt(1.0 + gamma); + dG = 1.0 / (2.0 * G); + return G; + } + case 1: + G = MathSpecialKokkos::fm_exp(gamma / 2.0); + dG = G / 2.0; + return G; + case 3: + G = 2.0 / (1.0 + MathSpecialKokkos::fm_exp(-gamma)); + dG = G * (2.0 - G) / 2; + return G; + case -5: + if ((1.0 + gamma) >= 0) { + G = sqrt(1.0 + gamma); + dG = 1.0 / (2.0 * G); + return G; + } else { + G = -sqrt(-1.0 - gamma); + dG = -1.0 / (2.0 * G); + return G; + } + } + dG = 1.0; + return 0.0; +} + +//----------------------------------------------------------------------------- +// Compute ZBL potential +// +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::zbl(const double r, const int z1, const int z2) const +{ + int i; + const double c[] = { 0.028171, 0.28022, 0.50986, 0.18175 }; + const double d[] = { 0.20162, 0.40290, 0.94229, 3.1998 }; + const double azero = 0.4685; + const double cc = 14.3997; + double a, x; + // azero = (9pi^2/128)^1/3 (0.529) Angstroms + a = azero / (pow(z1, 0.23) + pow(z2, 0.23)); + double result = 0.0; + x = r / a; + for (i = 0; i <= 3; i++) { + result = result + c[i] * MathSpecialKokkos::fm_exp(-d[i] * x); + } + if (r > 0.0) + result = result * z1 * z2 / r * cc; + return result; +} + +//----------------------------------------------------------------------------- +// Compute Rose energy function, I.16 +// +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::erose(const double r, const double re, const double alpha, const double Ec, const double repuls, + const double attrac, const int form) const +{ + double astar, a3; + double result = 0.0; + + if (r > 0.0) { + astar = alpha * (r / re - 1.0); + a3 = 0.0; + if (astar >= 0) + a3 = attrac; + else if (astar < 0) + a3 = repuls; + + if (form == 1) + result = -Ec * (1 + astar + (-attrac + repuls / r) * MathSpecialKokkos::cube(astar)) * MathSpecialKokkos::fm_exp(-astar); + else if (form == 2) + result = -Ec * (1 + astar + a3 * MathSpecialKokkos::cube(astar)) * MathSpecialKokkos::fm_exp(-astar); + else + result = -Ec * (1 + astar + a3 * MathSpecialKokkos::cube(astar) / (r / re)) * MathSpecialKokkos::fm_exp(-astar); + } + return result; +} + +//----------------------------------------------------------------------------- +// Shape factors for various configurations +// +template +KOKKOS_INLINE_FUNCTION +void MEAMKokkos::get_shpfcn(const lattice_t latt, double (&s)[3]) const +{ + switch (latt) { + case FCC: + case BCC: + case B1: + case B2: + s[0] = 0.0; + s[1] = 0.0; + s[2] = 0.0; + break; + case HCP: + s[0] = 0.0; + s[1] = 0.0; + s[2] = 1.0 / 3.0; + break; + case DIA: + s[0] = 0.0; + s[1] = 0.0; + s[2] = 32.0 / 9.0; + break; + case DIM: + s[0] = 1.0; + s[1] = 2.0 / 3.0; + // s(3) = 1.d0 + s[2] = 0.40; + break; + default: + s[0] = 0.0; + // call error('Lattice not defined in get_shpfcn.') + } +} + +//----------------------------------------------------------------------------- +// Number of neighbors for the reference structure +// +template +KOKKOS_INLINE_FUNCTION +int MEAMKokkos::get_Zij(const lattice_t latt) const +{ + switch (latt) { + case FCC: + return 12; + case BCC: + return 8; + case HCP: + return 12; + case B1: + return 6; + case DIA: + return 4; + case DIM: + return 1; + case C11: + return 10; + case L12: + return 12; + case B2: + return 8; + // call error('Lattice not defined in get_Zij.') + } + return 0; +} + +//----------------------------------------------------------------------------- +// Number of second neighbors for the reference structure +// a = distance ratio R1/R2 +// S = second neighbor screening function +// +template +KOKKOS_INLINE_FUNCTION +int MEAMKokkos::get_Zij2(const lattice_t latt, const double cmin, const double cmax, double& a, double& S) const +{ + + double C, x, sijk; + int Zij2 = 0, numscr = 0; + + switch (latt) { + + case FCC: + Zij2 = 6; + a = sqrt(2.0); + numscr = 4; + break; + + case BCC: + Zij2 = 6; + a = 2.0 / sqrt(3.0); + numscr = 4; + break; + + case HCP: + Zij2 = 6; + a = sqrt(2.0); + numscr = 4; + break; + + case B1: + Zij2 = 12; + a = sqrt(2.0); + numscr = 2; + break; + + case DIA: + Zij2 = 12; + a = sqrt(8.0 / 3.0); + numscr = 1; + if (cmin < 0.500001) { + // call error('can not do 2NN MEAM for dia') + } + break; + + case DIM: + // this really shouldn't be allowed; make sure screening is zero + a = 1.0; + S = 0.0; + return 0; + + case L12: + Zij2 = 6; + a = sqrt(2.0); + numscr = 4; + break; + + case B2: + Zij2 = 6; + a = 2.0 / sqrt(3.0); + numscr = 4; + break; + case C11: + // unsupported lattice flag C11 in get_Zij + break; + default: + // unknown lattic flag in get Zij + // call error('Lattice not defined in get_Zij.') + break; + } + + // Compute screening for each first neighbor + C = 4.0 / (a * a) - 1.0; + x = (C - cmin) / (cmax - cmin); + sijk = fcut(x); + // There are numscr first neighbors screening the second neighbors + S = MathSpecialKokkos::powint(sijk, numscr); + return Zij2; +} diff --git a/src/KOKKOS/meam_impl_kokkos.h b/src/KOKKOS/meam_impl_kokkos.h new file mode 100644 index 0000000000..0d2ec99445 --- /dev/null +++ b/src/KOKKOS/meam_impl_kokkos.h @@ -0,0 +1,72 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Sebastian Hütter (OvGU) +------------------------------------------------------------------------- */ + +#include "memory_kokkos.h" +#include "meam_kokkos.h" +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +template +MEAMKokkos::MEAMKokkos(Memory *mem) : MEAM(mem) +{ +} + +template +MEAMKokkos::~MEAMKokkos() +{ + MemoryKokkos *memoryKK = (MemoryKokkos *)memory; + + memoryKK->destroy_kokkos(k_phirar6,phirar6); + memoryKK->destroy_kokkos(k_phirar5,phirar5); + memoryKK->destroy_kokkos(k_phirar4,phirar4); + memoryKK->destroy_kokkos(k_phirar3,phirar3); + memoryKK->destroy_kokkos(k_phirar2,phirar2); + memoryKK->destroy_kokkos(k_phirar1,phirar1); + memoryKK->destroy_kokkos(k_phirar,phirar); + memoryKK->destroy_kokkos(k_phir,phir); + + memoryKK->destroy_kokkos(k_rho,rho); + memoryKK->destroy_kokkos(k_rho0,rho0); + memoryKK->destroy_kokkos(k_rho1,rho1); + memoryKK->destroy_kokkos(k_rho2,rho2); + memoryKK->destroy_kokkos(k_rho3,rho3); + memoryKK->destroy_kokkos(k_frhop,frhop); + memoryKK->destroy_kokkos(k_gamma,gamma); + memoryKK->destroy_kokkos(k_dgamma1,dgamma1); + memoryKK->destroy_kokkos(k_dgamma2,dgamma2); + memoryKK->destroy_kokkos(k_dgamma3,dgamma3); + memoryKK->destroy_kokkos(k_arho2b,arho2b); + + memoryKK->destroy_kokkos(k_arho1,arho1); + memoryKK->destroy_kokkos(k_arho2,arho2); + memoryKK->destroy_kokkos(k_arho3,arho3); + memoryKK->destroy_kokkos(k_arho3b,arho3b); + memoryKK->destroy_kokkos(k_t_ave,t_ave); + memoryKK->destroy_kokkos(k_tsq_ave,tsq_ave); + + memoryKK->destroy_kokkos(k_scrfcn,scrfcn); + memoryKK->destroy_kokkos(k_dscrfcn,dscrfcn); + memoryKK->destroy_kokkos(k_fcpair,fcpair); +} +#include "meam_setup_done_kokkos.h" +#include "meam_funcs_kokkos.h" +#include "meam_dens_init_kokkos.h" +#include "meam_dens_final_kokkos.h" +#include "meam_force_kokkos.h" +// + diff --git a/src/KOKKOS/meam_kokkos.h b/src/KOKKOS/meam_kokkos.h new file mode 100644 index 0000000000..0231f4b767 --- /dev/null +++ b/src/KOKKOS/meam_kokkos.h @@ -0,0 +1,142 @@ +#ifndef LMP_MEAMKOKKOS_H +#define LMP_MEAMKOKKOS_H + +#include "meam.h" +#include "memory_kokkos.h" +#include "neigh_request.h" +#include "neighbor_kokkos.h" +#include "kokkos.h" +#include +#include + +namespace LAMMPS_NS { + +struct TagMEAMDensFinal{}; +template +struct TagMEAMDensInit{}; +struct TagMEAMInitialize{}; +template +struct TagMEAMforce{}; + +template +class MEAMKokkos : public MEAM +{ +public: + typedef ArrayTypes AT; + typedef EV_FLOAT value_type; + MEAMKokkos(Memory* mem); + ~MEAMKokkos(); + + KOKKOS_INLINE_FUNCTION + void operator()(TagMEAMDensFinal, const int&, EV_FLOAT&) const; + + template + KOKKOS_INLINE_FUNCTION + void operator()(TagMEAMDensInit, const int&, EV_FLOAT&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagMEAMInitialize, const int&) const; + + template + KOKKOS_INLINE_FUNCTION + void operator()(TagMEAMforce, const int&, EV_FLOAT&) const; +protected: +//Parameters to meam_dens_init - is there a better way to do this? + int ntype; + typename AT::t_int_1d_randomread type; + typename AT::t_int_1d_randomread d_offset; + typename AT::t_int_1d_randomread fmap; + typename AT::t_x_array_randomread x; + typename AT::t_int_1d_randomread d_numneigh_half; + typename AT::t_int_1d_randomread d_numneigh_full; + typename AT::t_neighbors_2d d_neighbors_half; + typename AT::t_neighbors_2d d_neighbors_full; + typename AT::t_int_1d_randomread d_ilist_half; + typename AT::t_f_array f; + typename ArrayTypes::t_virial_array d_vatom; +//Parameters to meam_dens_final - is there a better way to do this? + int eflag_either, eflag_global, eflag_atom, vflag_atom; + double *eng_vdwl; + typename ArrayTypes::t_efloat_1d d_eatom; + +public: + void meam_dens_setup(int, int, int); + void meam_setup_done(void); + void meam_dens_init(int , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread, typename AT::t_x_array_randomread, typename AT::t_int_1d_randomread, + typename AT::t_int_1d_randomread , int* , typename AT::t_int_1d_randomread, typename AT::t_neighbors_2d,typename AT::t_neighbors_2d,typename AT::t_int_1d_randomread, int ); + void meam_dens_final(int , int , int , int , double* , + typename ArrayTypes::t_efloat_1d , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread , int& ); + void meam_force(int , int , int , int , int , double* , + typename ArrayTypes::t_efloat_1d , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread , typename AT::t_x_array_randomread , typename AT::t_int_1d_randomread , + typename AT::t_int_1d_randomread , typename AT::t_f_array , typename ArrayTypes::t_virial_array ,typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread, typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, int); + template + KOKKOS_INLINE_FUNCTION + void getscreen(int , int, typename AT::t_x_array_randomread , typename AT::t_int_1d_randomread, + typename AT::t_int_1d_randomread, int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread ) const; + template + KOKKOS_INLINE_FUNCTION + void calc_rho1(int , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread , typename AT::t_x_array_randomread , typename AT::t_int_1d_randomread, int ) const; + KOKKOS_INLINE_FUNCTION + double fcut(const double xi) const; + KOKKOS_INLINE_FUNCTION + double dfcut(const double xi, double& dfc) const; + KOKKOS_INLINE_FUNCTION + double dCfunc(const double, const double, const double) const; + KOKKOS_INLINE_FUNCTION + void dCfunc2(const double, const double, const double, double&, double&) const; + KOKKOS_INLINE_FUNCTION + double G_gam(const double, const int, int&) const; + KOKKOS_INLINE_FUNCTION + double dG_gam(const double, const int, double&) const; + KOKKOS_INLINE_FUNCTION + double zbl(const double, const int, const int) const; + KOKKOS_INLINE_FUNCTION + double erose(const double, const double, const double, const double, const double, const double, const int) const; + KOKKOS_INLINE_FUNCTION + void get_shpfcn(const lattice_t latt, double (&s)[3]) const; + KOKKOS_INLINE_FUNCTION + int get_Zij(const lattice_t ) const; + KOKKOS_INLINE_FUNCTION + int get_Zij2(const lattice_t, const double, const double, double&, double&) const; +public: + DAT::tdual_ffloat_1d k_rho, k_rho0, k_rho1, k_rho2, k_rho3, k_frhop; + typename ArrayTypes::t_ffloat_1d d_rho, d_rho0,d_rho1, d_rho2, d_rho3, d_frhop; + HAT::t_ffloat_1d h_rho, h_rho0, h_rho1, h_rho2, h_rho3, h_frhop; + DAT::tdual_ffloat_1d k_gamma, k_dgamma1, k_dgamma2, k_dgamma3, k_arho2b; + typename ArrayTypes::t_ffloat_1d d_gamma, d_dgamma1, d_dgamma2, d_dgamma3, d_arho2b; + HAT::t_ffloat_1d h_gamma, h_dgamma1, h_dgamma2, h_dgamma3, h_arho2b; + DAT::tdual_ffloat_2d k_arho1, k_arho2, k_arho3, k_arho3b, k_t_ave, k_tsq_ave; + typename ArrayTypes::t_ffloat_2d d_arho1, d_arho2, d_arho3, d_arho3b, d_t_ave, d_tsq_ave; + HAT::t_ffloat_2d h_arho1, h_arho2, h_arho3, h_arho3b, h_t_ave, h_tsq_ave; + DAT::tdual_ffloat_2d k_phir, k_phirar, k_phirar1, k_phirar2, k_phirar3, k_phirar4, k_phirar5, k_phirar6; + typename ArrayTypes::t_ffloat_2d d_phir, d_phirar, d_phirar1, d_phirar2, d_phirar3, d_phirar4, d_phirar5, d_phirar6; + HAT::t_ffloat_2d h_phir, h_phirar, h_phirar1, h_phirar2, h_phirar3, h_phirar4, h_phirar5, h_phirar6; + DAT::tdual_ffloat_1d k_scrfcn, k_dscrfcn, k_fcpair; + typename ArrayTypes::t_ffloat_1d d_scrfcn, d_dscrfcn, d_fcpair; + HAT::t_ffloat_1d h_scrfcn, h_dscrfcn, h_fcpair; + + +}; +KOKKOS_INLINE_FUNCTION +static bool iszero_kk(const double f) { + return fabs(f) < 1e-20; +} + + +KOKKOS_INLINE_FUNCTION +static double fdiv_zero_kk(const double n, const double d) { + if (iszero_kk(d)) + return 0.0; + return n / d; +} + +// Functions we need for compat + +} +#include "meam_impl_kokkos.h" +//#include "meam_setup_done_kokkos.h" +//#include "meam_funcs_kokkos.h" +//#include "meam_dens_init_kokkos.h" +//#include "meam_dens_final_kokkos.h" +//#include "meam_force_kokkos.h" +#endif diff --git a/src/KOKKOS/meam_setup_done_kokkos.h b/src/KOKKOS/meam_setup_done_kokkos.h new file mode 100644 index 0000000000..72852bf2cb --- /dev/null +++ b/src/KOKKOS/meam_setup_done_kokkos.h @@ -0,0 +1,71 @@ +#include "meam_kokkos.h" + +template +void MEAMKokkos::meam_setup_done(void) +{ + MemoryKokkos *memoryKK = (MemoryKokkos *)memory; + + memoryKK->destroy_kokkos(k_phirar6,phirar6); + memoryKK->destroy_kokkos(k_phirar5,phirar5); + memoryKK->destroy_kokkos(k_phirar4,phirar4); + memoryKK->destroy_kokkos(k_phirar3,phirar3); + memoryKK->destroy_kokkos(k_phirar2,phirar2); + memoryKK->destroy_kokkos(k_phirar1,phirar1); + memoryKK->destroy_kokkos(k_phirar,phirar); + memoryKK->destroy_kokkos(k_phir,phir); + + memoryKK->create_kokkos(k_phir, phir, (neltypes * (neltypes + 1)) / 2, nr, "pair:phir"); + memoryKK->create_kokkos(k_phirar, phirar, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar"); + memoryKK->create_kokkos(k_phirar1, phirar1, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar1"); + memoryKK->create_kokkos(k_phirar2, phirar2, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar2"); + memoryKK->create_kokkos(k_phirar3, phirar3, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar3"); + memoryKK->create_kokkos(k_phirar4, phirar4, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar4"); + memoryKK->create_kokkos(k_phirar5, phirar5, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar5"); + memoryKK->create_kokkos(k_phirar6, phirar6, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar6"); + + h_phir = k_phir.h_view; + h_phirar = k_phirar.h_view; + h_phirar1 = k_phirar1.h_view; + h_phirar2 = k_phirar2.h_view; + h_phirar3 = k_phirar3.h_view; + h_phirar4 = k_phirar4.h_view; + h_phirar5 = k_phirar5.h_view; + h_phirar6 = k_phirar6.h_view; + + for (int i = 0; i <(neltypes * (neltypes + 1)) / 2; i++) + for(int j = 0; j < nr; j++) + { + h_phir(i,j) = phir[i][j]; + h_phirar(i,j) = phirar[i][j]; + h_phirar1(i,j) = phirar1[i][j]; + h_phirar2(i,j) = phirar2[i][j]; + h_phirar3(i,j) = phirar3[i][j]; + h_phirar4(i,j) = phirar4[i][j]; + h_phirar5(i,j) = phirar5[i][j]; + h_phirar6(i,j) = phirar6[i][j]; + } + k_phir.template modify(); + k_phir.template sync(); + d_phir = k_phir.template view(); + k_phirar.template modify(); + k_phirar.template sync(); + d_phirar = k_phirar.template view(); + k_phirar1.template modify(); + k_phirar1.template sync(); + d_phirar1 = k_phirar1.template view(); + k_phirar2.template modify(); + k_phirar2.template sync(); + d_phirar2 = k_phirar2.template view(); + k_phirar3.template modify(); + k_phirar3.template sync(); + d_phirar3 = k_phirar3.template view(); + k_phirar4.template modify(); + k_phirar4.template sync(); + d_phirar4 = k_phirar4.template view(); + k_phirar5.template modify(); + k_phirar5.template sync(); + d_phirar5 = k_phirar5.template view(); + k_phirar6.template modify(); + k_phirar6.template sync(); + d_phirar6 = k_phirar6.template view(); +} diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp new file mode 100644 index 0000000000..38386d0a7a --- /dev/null +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -0,0 +1,633 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Greg Wagner (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +//KK* +#include "meam_kokkos.h" +#include "kokkos.h" +#include "pair_kokkos.h" +//#include "pair_meamc.h" + +#include "pair_meam_kokkos.h" +#include "atom_kokkos.h" +//*KK +#include "force.h" +#include "comm.h" +//KK* +//#include "memory.h" +#include "memory_kokkos.h" +//*KK +#include "neighbor.h" +//KK* +//#include "neigh_list.h" +#include "neigh_list_kokkos.h" +//*KK +#include "neigh_request.h" +#include "error.h" +//*KK +#include "atom_masks.h" +//*KK + +using namespace LAMMPS_NS; + +#if 0 +static const int nkeywords = 21; +static const char *keywords[] = { + "Ec","alpha","rho0","delta","lattce", + "attrac","repuls","nn2","Cmin","Cmax","rc","delr", + "augt1","gsmooth_factor","re","ialloy", + "mixture_ref_t","erose_form","zbl", + "emb_lin_neg","bkgd_dyn"}; +#endif + +/* ---------------------------------------------------------------------- */ +template +PairMEAMKokkos::PairMEAMKokkos(LAMMPS *lmp) : PairMEAM(lmp) +{ + respa_enable = 0; + + atomKK = (AtomKokkos *) atom; + execution_space = ExecutionSpaceFromDevice::space; + datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; + datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; + meam_inst_kk = new MEAMKokkos(memory); + delete meam_inst; + meam_inst = meam_inst_kk; +} +/* ---------------------------------------------------------------------- */ + +template +PairMEAMKokkos::~PairMEAMKokkos() +{ + if (!copymode) { + memoryKK->destroy_kokkos(k_eatom,eatom); + memoryKK->destroy_kokkos(k_vatom,vatom); + delete meam_inst_kk; + } +} + +/* ---------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- */ +template +void PairMEAMKokkos::compute(int eflag_in, int vflag_in) +{ + eflag = eflag_in; + vflag = vflag_in; + + if (neighflag == FULL) no_virial_fdotr_compute = 1; + + ev_init(eflag,vflag,0); + + // reallocate per-atom arrays if necessary + + if (eflag_atom) { + memoryKK->destroy_kokkos(k_eatom,eatom); + memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom"); + d_eatom = k_eatom.view(); + } + if (vflag_atom) { + memoryKK->destroy_kokkos(k_vatom,vatom); + memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom"); + d_vatom = k_vatom.view(); + } + + atomKK->sync(execution_space,datamask_read); + if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); + else atomKK->modified(execution_space,F_MASK); + + + // neighbor list info + + NeighListKokkos* k_halflist = static_cast*>(listhalf); + int inum_half = listhalf->inum; + int* numneigh_half = listhalf->numneigh; + int* ilist_half = listhalf->ilist; + + d_ilist_half = k_halflist->d_ilist; + d_numneigh_half = k_halflist->d_numneigh; + d_neighbors_half = k_halflist->d_neighbors; + NeighListKokkos* k_fulllist = static_cast*>(listfull); + d_numneigh_full = k_fulllist->d_numneigh; + d_neighbors_full = k_fulllist->d_neighbors; + + copymode = 1; + + // strip neighbor lists of any special bond flags before using with MEAM + // necessary before doing neigh_f2c and neigh_c2f conversions each step + if (neighbor->ago == 0) { + Kokkos::parallel_for(Kokkos::RangePolicy(0,inum_half),*this); + } + + // check size of scrfcn based on half neighbor list + + nlocal = atom->nlocal; + nall = nlocal + atom->nghost; + + int n = 0; + //for (ii = 0; ii < inum_half; ii++) n += numneigh_half[ilist_half[ii]]; + Kokkos::parallel_reduce(Kokkos::RangePolicy(0,inum_half), *this, n); + + meam_inst_kk->meam_dens_setup(atom->nmax, nall, n); + + //double **x = atom->x; + x = atomKK->k_x.view(); + + //double **f = atom->f; + f = atomKK->k_f.view(); + + //int *type = atom->type; + type = atomKK->k_type.view(); + + int ntype = atom->ntypes; + + // 3 stages of MEAM calculation + // loop over my atoms followed by communication + + int offset = 0; + int errorflag = 0; +#if 0 + for (ii = 0; ii < inum_half; ii++) { + i = ilist_half[ii]; + meam_inst->meam_dens_init(i,ntype,type,map,x, + numneigh_half[i],firstneigh_half[i], + numneigh_full[i],firstneigh_full[i], + offset); + offset += numneigh_half[i]; + } +#endif + // To do: create the cumulative offset array in host and device + + k_offset = DAT::tdual_int_1d("pair:offset",inum_half+1); + h_offset = k_offset.h_view; + d_offset = k_offset.template view(); + ArrayTypes::t_int_1d h_ilist; + ArrayTypes::t_int_1d h_numneigh; + h_ilist = Kokkos::create_mirror_view(k_halflist->d_ilist); + h_numneigh = Kokkos::create_mirror_view(k_halflist->d_numneigh); + Kokkos::deep_copy(h_ilist,k_halflist->d_ilist); + Kokkos::deep_copy(h_numneigh,k_halflist->d_numneigh); + + h_offset[0] = 0; + for (int ii = 0; ii < inum_half; ii++) { + int i = h_ilist[ii]; + h_offset[ii+1] = h_offset[ii] + h_numneigh[i]; + } + k_offset.template modify(); + k_offset.template sync(); + meam_inst_kk->meam_dens_init(inum_half,ntype,type,d_map,x,d_numneigh_half,d_numneigh_full,&offset,d_ilist_half,d_neighbors_half, d_neighbors_full, d_offset, neighflag); + meam_inst_kk->k_rho0.template modify(); + meam_inst_kk->k_rho0.template sync(); + + meam_inst_kk->k_arho2b.template modify(); + meam_inst_kk->k_arho2b.template sync(); + + meam_inst_kk->k_arho1.template modify(); + meam_inst_kk->k_arho1.template sync(); + + meam_inst_kk->k_arho2.template modify(); + meam_inst_kk->k_arho2.template sync(); + + meam_inst_kk->k_arho3.template modify(); + meam_inst_kk->k_arho3.template sync(); + + meam_inst_kk->k_arho3b.template modify(); + meam_inst_kk->k_arho3b.template sync(); + + meam_inst_kk->k_t_ave.template modify(); + meam_inst_kk->k_t_ave.template sync(); + + meam_inst_kk->k_tsq_ave.template modify(); + meam_inst_kk->k_tsq_ave.template sync(); + + comm->reverse_comm(this); + + meam_inst_kk->k_rho0.template modify(); + meam_inst_kk->k_rho0.template sync(); + + meam_inst_kk->k_arho2b.template modify(); + meam_inst_kk->k_arho2b.template sync(); + + meam_inst_kk->k_arho1.template modify(); + meam_inst_kk->k_arho1.template sync(); + + meam_inst_kk->k_arho2.template modify(); + meam_inst_kk->k_arho2.template sync(); + + meam_inst_kk->k_arho3.template modify(); + meam_inst_kk->k_arho3.template sync(); + + meam_inst_kk->k_arho3b.template modify(); + meam_inst_kk->k_arho3b.template sync(); + + meam_inst_kk->k_t_ave.template modify(); + meam_inst_kk->k_t_ave.template sync(); + + meam_inst_kk->k_tsq_ave.template modify(); + meam_inst_kk->k_tsq_ave.template sync(); + + + meam_inst_kk->meam_dens_final(nlocal,eflag_either,eflag_global,eflag_atom, + &eng_vdwl,d_eatom,ntype,type,d_map,errorflag); + if (errorflag) { + char str[128]; + sprintf(str,"MEAM library error %d",errorflag); + error->one(FLERR,str); + } + + comm->forward_comm(this); + + offset = 0; + + // vptr is first value in vatom if it will be used by meam_force() + // else vatom may not exist, so pass dummy ptr + +#if 0 // To do: is this correct? vflag_atom is used to access vatom + typename ArrayTypes::t_virial_array vptr; + if (vflag_atom) vptr = d_vatom; + else vptr = NULL; + for (ii = 0; ii < inum_half; ii++) { + i = ilist_half[ii]; + meam_inst->meam_force(i,eflag_either,eflag_global,eflag_atom, + vflag_atom,&eng_vdwl,eatom,ntype,type,map,x, + numneigh_half[i],firstneigh_half[i], + numneigh_full[i],firstneigh_full[i], + offset,f,vptr); + offset += numneigh_half[i]; + } +#endif + meam_inst_kk->meam_force(inum_half, eflag_either,eflag_global,eflag_atom, + vflag_atom,&eng_vdwl,d_eatom,ntype,type,d_map,x, + d_numneigh_half, d_numneigh_full,f,d_vatom,d_ilist_half, d_offset, d_neighbors_half, d_neighbors_full, neighflag); + + if (vflag_fdotr) pair_virial_fdotr_compute(this); + if (eflag_atom) { + k_eatom.template modify(); + k_eatom.template sync(); + } + + if (vflag_atom) { + k_vatom.template modify(); + k_vatom.template sync(); + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ +template +void PairMEAMKokkos::coeff(int narg, char **arg) +{ + PairMEAM::coeff(narg,arg); + + //sync map + + int n = atom->ntypes; + k_map = DAT::tdual_int_1d("pair:map",n+1); + HAT::t_int_1d h_map = k_map.h_view; + + for (int i = 1; i <= n; i++) + h_map[i] = map[i]; + + k_map.template modify(); + k_map.template sync(); + + d_map = k_map.template view(); + + // To do: need to synchronize phirar variables + + meam_inst_kk->meam_setup_done(); + +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ +template +void PairMEAMKokkos::init_style() +{ + + PairMEAM::init_style(); + + neighflag = lmp->kokkos->neighflag; + auto request = neighbor->find_request(this); + + // MEAM needs both a full and half neighbor list? Not sure how to get that. + if (!(neighflag == FULL || neighflag == HALF || neighflag == HALFTHREAD)) + error->all(FLERR, "Cannot use chosen neighbor list style with pair meam/kk"); + + request->set_kokkos_host(std::is_same::value && + !std::is_same::value); + request->set_kokkos_device(std::is_same::value); + if (neighflag == FULL) request->enable_full(); + +} + +/* ---------------------------------------------------------------------- */ +template +int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf, + int pbc_flag, int *pbc) +{ + d_sendlist = k_sendlist.view(); + iswap = iswap_in; + v_buf = buf.view(); + Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); + return n; +} + +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMPackForwardComm, const int &i) const { + int j = d_sendlist(iswap, i); + int m = i*38; + v_buf[m++] = meam_inst_kk->d_rho0[j]; + v_buf[m++] = meam_inst_kk->d_rho1[j]; + v_buf[m++] = meam_inst_kk->d_rho2[j]; + v_buf[m++] = meam_inst_kk->d_rho3[j]; + v_buf[m++] = meam_inst_kk->d_frhop[j]; + v_buf[m++] = meam_inst_kk->d_gamma[j]; + v_buf[m++] = meam_inst_kk->d_dgamma1[j]; + v_buf[m++] = meam_inst_kk->d_dgamma2[j]; + v_buf[m++] = meam_inst_kk->d_dgamma3[j]; + v_buf[m++] = meam_inst_kk->d_arho2b[j]; + v_buf[m++] = meam_inst_kk->d_arho1(j,0); + v_buf[m++] = meam_inst_kk->d_arho1(j,1); + v_buf[m++] = meam_inst_kk->d_arho1(j,2); + v_buf[m++] = meam_inst_kk->d_arho2(j,0); + v_buf[m++] = meam_inst_kk->d_arho2(j,1); + v_buf[m++] = meam_inst_kk->d_arho2(j,2); + v_buf[m++] = meam_inst_kk->d_arho2(j,3); + v_buf[m++] = meam_inst_kk->d_arho2(j,4); + v_buf[m++] = meam_inst_kk->d_arho2(j,5); + for (int k = 0; k < 10; k++) v_buf[m++] = meam_inst_kk->d_arho3(j,k); + v_buf[m++] = meam_inst_kk->d_arho3b(j,0); + v_buf[m++] = meam_inst_kk->d_arho3b(j,1); + v_buf[m++] = meam_inst_kk->d_arho3b(j,2); + v_buf[m++] = meam_inst_kk->d_t_ave(j,0); + v_buf[m++] = meam_inst_kk->d_t_ave(j,1); + v_buf[m++] = meam_inst_kk->d_t_ave(j,2); + v_buf[m++] = meam_inst_kk->d_tsq_ave(j,0); + v_buf[m++] = meam_inst_kk->d_tsq_ave(j,1); + v_buf[m++] = meam_inst_kk->d_tsq_ave(j,2); +} + +/* ---------------------------------------------------------------------- */ +template +void PairMEAMKokkos::unpack_forward_comm_kokkos(int n, int first_in, DAT::tdual_xfloat_1d &buf) +{ + first = first_in; + v_buf = buf.view(); + Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); +} + +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMUnpackForwardComm, const int &i) const{ + int m = i*38; + + meam_inst_kk->d_rho0[i+first] = v_buf[m++]; + meam_inst_kk->d_rho1[i+first] = v_buf[m++]; + meam_inst_kk->d_rho2[i+first] = v_buf[m++]; + meam_inst_kk->d_rho3[i+first] = v_buf[m++]; + meam_inst_kk->d_frhop[i+first] = v_buf[m++]; + meam_inst_kk->d_gamma[i+first] = v_buf[m++]; + meam_inst_kk->d_dgamma1[i+first] = v_buf[m++]; + meam_inst_kk->d_dgamma2[i+first] = v_buf[m++]; + meam_inst_kk->d_dgamma3[i+first] = v_buf[m++]; + meam_inst_kk->d_arho2b[i+first] = v_buf[m++]; + meam_inst_kk->d_arho1(i+first,0) = v_buf[m++]; + meam_inst_kk->d_arho1(i+first,1) = v_buf[m++]; + meam_inst_kk->d_arho1(i+first,2) = v_buf[m++]; + meam_inst_kk->d_arho2(i+first,0) = v_buf[m++]; + meam_inst_kk->d_arho2(i+first,1) = v_buf[m++]; + meam_inst_kk->d_arho2(i+first,2) = v_buf[m++]; + meam_inst_kk->d_arho2(i+first,3) = v_buf[m++]; + meam_inst_kk->d_arho2(i+first,4) = v_buf[m++]; + meam_inst_kk->d_arho2(i+first,5) = v_buf[m++]; + for (int k = 0; k < 10; k++) meam_inst_kk->d_arho3(i+first,k) = v_buf[m++]; + meam_inst_kk->d_arho3b(i+first,0) = v_buf[m++]; + meam_inst_kk->d_arho3b(i+first,1) = v_buf[m++]; + meam_inst_kk->d_arho3b(i+first,2) = v_buf[m++]; + meam_inst_kk->d_t_ave(i+first,0) = v_buf[m++]; + meam_inst_kk->d_t_ave(i+first,1) = v_buf[m++]; + meam_inst_kk->d_t_ave(i+first,2) = v_buf[m++]; + meam_inst_kk->d_tsq_ave(i+first,0) = v_buf[m++]; + meam_inst_kk->d_tsq_ave(i+first,1) = v_buf[m++]; + meam_inst_kk->d_tsq_ave(i+first,2) = v_buf[m++]; + } + +template +int PairMEAMKokkos::pack_forward_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,k,m; + + m = 0; + + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = meam_inst_kk->h_rho0[j]; + buf[m++] = meam_inst_kk->h_rho1[j]; + buf[m++] = meam_inst_kk->h_rho2[j]; + buf[m++] = meam_inst_kk->h_rho3[j]; + buf[m++] = meam_inst_kk->h_frhop[j]; + buf[m++] = meam_inst_kk->h_gamma[j]; + buf[m++] = meam_inst_kk->h_dgamma1[j]; + buf[m++] = meam_inst_kk->h_dgamma2[j]; + buf[m++] = meam_inst_kk->h_dgamma3[j]; + buf[m++] = meam_inst_kk->h_arho2b[j]; + buf[m++] = meam_inst_kk->h_arho1(j,0); + buf[m++] = meam_inst_kk->h_arho1(j,1); + buf[m++] = meam_inst_kk->h_arho1(j,2); + buf[m++] = meam_inst_kk->h_arho2(j,0); + buf[m++] = meam_inst_kk->h_arho2(j,1); + buf[m++] = meam_inst_kk->h_arho2(j,2); + buf[m++] = meam_inst_kk->h_arho2(j,3); + buf[m++] = meam_inst_kk->h_arho2(j,4); + buf[m++] = meam_inst_kk->h_arho2(j,5); + for (k = 0; k < 10; k++) buf[m++] = meam_inst_kk->h_arho3(j,k); + buf[m++] = meam_inst_kk->h_arho3b(j,0); + buf[m++] = meam_inst_kk->h_arho3b(j,1); + buf[m++] = meam_inst_kk->h_arho3b(j,2); + buf[m++] = meam_inst_kk->h_t_ave(j,0); + buf[m++] = meam_inst_kk->h_t_ave(j,1); + buf[m++] = meam_inst_kk->h_t_ave(j,2); + buf[m++] = meam_inst_kk->h_tsq_ave(j,0); + buf[m++] = meam_inst_kk->h_tsq_ave(j,1); + buf[m++] = meam_inst_kk->h_tsq_ave(j,2); + } + + return m; +} + +template +void PairMEAMKokkos::unpack_forward_comm(int n, int first, double *buf) +{ + int i,k,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + meam_inst_kk->h_rho0[i] = buf[m++]; + meam_inst_kk->h_rho1[i] = buf[m++]; + meam_inst_kk->h_rho2[i] = buf[m++]; + meam_inst_kk->h_rho3[i] = buf[m++]; + meam_inst_kk->h_frhop[i] = buf[m++]; + meam_inst_kk->h_gamma[i] = buf[m++]; + meam_inst_kk->h_dgamma1[i] = buf[m++]; + meam_inst_kk->h_dgamma2[i] = buf[m++]; + meam_inst_kk->h_dgamma3[i] = buf[m++]; + meam_inst_kk->h_arho2b[i] = buf[m++]; + meam_inst_kk->h_arho1(i,0) = buf[m++]; + meam_inst_kk->h_arho1(i,1) = buf[m++]; + meam_inst_kk->h_arho1(i,2) = buf[m++]; + meam_inst_kk->h_arho2(i,0) = buf[m++]; + meam_inst_kk->h_arho2(i,1) = buf[m++]; + meam_inst_kk->h_arho2(i,2) = buf[m++]; + meam_inst_kk->h_arho2(i,3) = buf[m++]; + meam_inst_kk->h_arho2(i,4) = buf[m++]; + meam_inst_kk->h_arho2(i,5) = buf[m++]; + for (k = 0; k < 10; k++) meam_inst_kk->h_arho3(i,k) = buf[m++]; + meam_inst_kk->h_arho3b(i,0) = buf[m++]; + meam_inst_kk->h_arho3b(i,1) = buf[m++]; + meam_inst_kk->h_arho3b(i,2) = buf[m++]; + meam_inst_kk->h_t_ave(i,0) = buf[m++]; + meam_inst_kk->h_t_ave(i,1) = buf[m++]; + meam_inst_kk->h_t_ave(i,2) = buf[m++]; + meam_inst_kk->h_tsq_ave(i,0) = buf[m++]; + meam_inst_kk->h_tsq_ave(i,1) = buf[m++]; + meam_inst_kk->h_tsq_ave(i,2) = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ +template +int PairMEAMKokkos::pack_reverse_comm(int n, int first, double *buf) +{ + int i,k,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + buf[m++] = meam_inst_kk->h_rho0[i]; + buf[m++] = meam_inst_kk->h_arho2b[i]; + buf[m++] = meam_inst_kk->h_arho1(i,0); + buf[m++] = meam_inst_kk->h_arho1(i,1); + buf[m++] = meam_inst_kk->h_arho1(i,2); + buf[m++] = meam_inst_kk->h_arho2(i,0); + buf[m++] = meam_inst_kk->h_arho2(i,1); + buf[m++] = meam_inst_kk->h_arho2(i,2); + buf[m++] = meam_inst_kk->h_arho2(i,3); + buf[m++] = meam_inst_kk->h_arho2(i,4); + buf[m++] = meam_inst_kk->h_arho2(i,5); + for (k = 0; k < 10; k++) buf[m++] = meam_inst_kk->h_arho3(i,k); + buf[m++] = meam_inst_kk->h_arho3b(i,0); + buf[m++] = meam_inst_kk->h_arho3b(i,1); + buf[m++] = meam_inst_kk->h_arho3b(i,2); + buf[m++] = meam_inst_kk->h_t_ave(i,0); + buf[m++] = meam_inst_kk->h_t_ave(i,1); + buf[m++] = meam_inst_kk->h_t_ave(i,2); + buf[m++] = meam_inst_kk->h_tsq_ave(i,0); + buf[m++] = meam_inst_kk->h_tsq_ave(i,1); + buf[m++] = meam_inst_kk->h_tsq_ave(i,2); + } + + return m; +} + +/* ---------------------------------------------------------------------- */ +template +void PairMEAMKokkos::unpack_reverse_comm(int n, int *list, double *buf) +{ + int i,j,k,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + meam_inst_kk->h_rho0[j] += buf[m++]; + meam_inst_kk->h_arho2b[j] += buf[m++]; + meam_inst_kk->h_arho1(j,0) += buf[m++]; + meam_inst_kk->h_arho1(j,1) += buf[m++]; + meam_inst_kk->h_arho1(j,2) += buf[m++]; + meam_inst_kk->h_arho2(j,0) += buf[m++]; + meam_inst_kk->h_arho2(j,1) += buf[m++]; + meam_inst_kk->h_arho2(j,2) += buf[m++]; + meam_inst_kk->h_arho2(j,3) += buf[m++]; + meam_inst_kk->h_arho2(j,4) += buf[m++]; + meam_inst_kk->h_arho2(j,5) += buf[m++]; + for (k = 0; k < 10; k++) meam_inst_kk->h_arho3(j,k) += buf[m++]; + meam_inst_kk->h_arho3b(j,0) += buf[m++]; + meam_inst_kk->h_arho3b(j,1) += buf[m++]; + meam_inst_kk->h_arho3b(j,2) += buf[m++]; + meam_inst_kk->h_t_ave(j,0) += buf[m++]; + meam_inst_kk->h_t_ave(j,1) += buf[m++]; + meam_inst_kk->h_t_ave(j,2) += buf[m++]; + meam_inst_kk->h_tsq_ave(j,0) += buf[m++]; + meam_inst_kk->h_tsq_ave(j,1) += buf[m++]; + meam_inst_kk->h_tsq_ave(j,2) += buf[m++]; + } +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ +template +double PairMEAMKokkos::memory_usage() +{ + double bytes = 11 * meam_inst_kk->nmax * sizeof(double); + bytes += (3 + 6 + 10 + 3 + 3 + 3) * meam_inst_kk->nmax * sizeof(double); + bytes += 3 * meam_inst_kk->maxneigh * sizeof(double); + return bytes; +} +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMKernelNeighStrip, const int &ii) const { +/* ---------------------------------------------------------------------- + * strip special bond flags from neighbor list entries + * are not used with MEAM + * need to do here so Fortran lib doesn't see them + * done once per reneighbor so that neigh_f2c and neigh_c2f don't see them + * ------------------------------------------------------------------------- */ + const int i = d_ilist_half[ii]; + const int jnum_half = d_numneigh_half[i]; + const int jnum_full = d_numneigh_full[i]; + for (int jj = 0; jj < jnum_half; jj++) { + d_neighbors_half(i,jj) &= NEIGHMASK; + } + for (int jj = 0; jj < jnum_full; jj++) { + d_neighbors_full(i,jj) &= NEIGHMASK; + } +} + +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMKernelA, const int ii, int &n) const { + const int i = d_ilist_half[ii]; + n += d_numneigh_half[i]; +} + +namespace LAMMPS_NS { +template class PairMEAMKokkos; +#ifdef KOKKOS_ENABLE_CUDA +template class PairMEAMKokkos; +#endif +} + diff --git a/src/KOKKOS/pair_meam_kokkos.h b/src/KOKKOS/pair_meam_kokkos.h new file mode 100644 index 0000000000..114f4a1665 --- /dev/null +++ b/src/KOKKOS/pair_meam_kokkos.h @@ -0,0 +1,166 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(meam/c/kk,PairMEAMKokkos) +PairStyle(meam/c/kk/device,PairMEAMKokkos) +PairStyle(meam/c/kk/host,PairMEAMKokkos) +PairStyle(meam/kk,PairMEAMKokkos) +PairStyle(meam/kk/device,PairMEAMKokkos) +PairStyle(meam/kk/host,PairMEAMKokkos) + +#else + +#ifndef LMP_PAIR_MEAMC_KOKKOS_H +#define LMP_PAIR_MEAMC_KOKKOS_H + +#include "kokkos_base.h" +#include "pair_kokkos.h" +#include "pair_meam.h" +#include "neigh_list_kokkos.h" +#include "meam_kokkos.h" + + +namespace LAMMPS_NS { +struct TagPairMEAMKernelNeighStrip{}; +struct TagPairMEAMKernelA{}; +struct TagPairMEAMPackForwardComm{}; +struct TagPairMEAMUnpackForwardComm{}; + +template +class MEAMKokkos; + +template +class PairMEAMKokkos : public PairMEAM, public KokkosBase { + public: + enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF}; + enum {COUL_FLAG=0}; + typedef DeviceType device_type; + typedef ArrayTypes AT; + //typedef EV_FLOAT value_type; + + PairMEAMKokkos(class LAMMPS *); + virtual ~PairMEAMKokkos(); + void compute(int, int); + void coeff(int, char **); + void init_style(); + + KOKKOS_INLINE_FUNCTION + void operator()(TagPairMEAMPackForwardComm, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagPairMEAMUnpackForwardComm, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagPairMEAMKernelNeighStrip, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagPairMEAMKernelA, const int, int&) const; + + int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int, int *); + void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&); + int pack_forward_comm(int, int *, double *, int, int *); + void unpack_forward_comm(int, int, double *); + int pack_reverse_comm(int, int, double *); + void unpack_reverse_comm(int, int *, double *); + double memory_usage(); + + protected: + class MEAMKokkos *meam_inst_kk; + typename AT::t_x_array_randomread x; + typename AT::t_f_array f; + typename AT::t_int_1d_randomread type; + + DAT::tdual_efloat_1d k_eatom; + DAT::tdual_virial_array k_vatom; + typename ArrayTypes::t_efloat_1d d_eatom; + typename ArrayTypes::t_virial_array d_vatom; + + DAT::tdual_int_1d k_offset; + HAT::t_int_1d h_offset; + typename AT::t_int_1d_randomread d_offset; + + DAT::tdual_int_1d k_map; + typename AT::t_int_1d_randomread d_map; + typename AT::t_int_1d_randomread d_ilist_half; + typename AT::t_int_1d_randomread d_numneigh_half; + typename AT::t_neighbors_2d d_neighbors_half; + typename AT::t_int_1d_randomread d_numneigh_full; + typename AT::t_neighbors_2d d_neighbors_full; + typename AT::t_int_2d d_sendlist; + typename AT::t_xfloat_1d_um v_buf; + + int neighflag,nlocal,nall,eflag,vflag; + int iswap; + int first; + + friend void pair_virial_fdotr_compute(PairMEAMKokkos*); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: MEAM library error %d + +A call to the MEAM Fortran library returned an error. + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style MEAM requires newton pair on + +See the newton command. This is a restriction to use the MEAM +potential. + +E: Cannot open MEAM potential file %s + +The specified MEAM potential file cannot be opened. Check that the +path and name are correct. + +E: Incorrect format in MEAM potential file + +Incorrect number of words per line in the potential file. + +E: Unrecognized lattice type in MEAM file 1 + +The lattice type in an entry of the MEAM library file is not +valid. + +E: Did not find all elements in MEAM library file + +The requested elements were not found in the MEAM file. + +E: Keyword %s in MEAM parameter file not recognized + +Self-explanatory. + +E: Unrecognized lattice type in MEAM file 2 + +The lattice type in an entry of the MEAM parameter file is not +valid. + +*/ diff --git a/src/MEAM/meam.h b/src/MEAM/meam.h index 237ffed8aa..8b94ac0084 100644 --- a/src/MEAM/meam.h +++ b/src/MEAM/meam.h @@ -29,7 +29,7 @@ class MEAM { MEAM(Memory *mem); ~MEAM(); - private: + protected: Memory *memory; // cutforce = force cutoff diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 7dcb16d3f6..ab027dcb89 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -73,6 +73,8 @@ PairMEAM::PairMEAM(LAMMPS *lmp) : Pair(lmp) PairMEAM::~PairMEAM() { + if (copymode) return; + delete meam_inst; if (allocated) { diff --git a/src/MEAM/pair_meam.h b/src/MEAM/pair_meam.h index eea3893309..ffe8045ac9 100644 --- a/src/MEAM/pair_meam.h +++ b/src/MEAM/pair_meam.h @@ -43,7 +43,7 @@ class PairMEAM : public Pair { void unpack_reverse_comm(int, int *, double *) override; double memory_usage() override; - private: + protected: class MEAM *meam_inst; double cutmax; // max cutoff for all elements int nlibelements; // # of library elements @@ -52,7 +52,7 @@ class PairMEAM : public Pair { double **scale; // scaling factor for adapt - void allocate(); + virtual void allocate(); void read_files(const std::string &, const std::string &); void read_global_meam_file(const std::string &); void read_user_meam_file(const std::string &); From 407e015c80ec46c23a188747035360eec0317aeb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Jun 2022 15:46:58 -0600 Subject: [PATCH 066/153] more doc page edits for enhanced fix mdi/qm command --- doc/src/Commands_fix.rst | 2 +- doc/src/Howto_mdi.rst | 18 +- doc/src/fix.rst | 2 +- doc/src/fix_latte.rst | 9 +- doc/src/fix_mdi_aimd.rst | 138 ----------- doc/src/fix_mdi_qm.rst | 232 +++++++++++++++++++ doc/src/mdi.rst | 4 +- src/MDI/{fix_mdi_aimd.cpp => fix_mdi_qm.cpp} | 63 +++-- src/MDI/{fix_mdi_aimd.h => fix_mdi_qm.h} | 12 +- 9 files changed, 297 insertions(+), 183 deletions(-) delete mode 100644 doc/src/fix_mdi_aimd.rst create mode 100644 doc/src/fix_mdi_qm.rst rename src/MDI/{fix_mdi_aimd.cpp => fix_mdi_qm.cpp} (86%) rename src/MDI/{fix_mdi_aimd.h => fix_mdi_qm.h} (89%) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 7dc3f324b4..e7a9f71b79 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -103,7 +103,7 @@ OPT. * :doc:`lb/viscous ` * :doc:`lineforce ` * :doc:`manifoldforce ` - * :doc:`mdi/aimd ` + * :doc:`mdi/qm ` * :doc:`meso/move ` * :doc:`mol/swap ` * :doc:`momentum (k) ` diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index f5aab0be22..f9147f44d9 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -63,12 +63,18 @@ The package also provides a :doc:`mdi plugin ` command which enables LAMMPS to operate as an MDI driver and load an MDI engine as a plugin library. -The package also has a `fix mdi/aimd ` command in which -LAMMPS operates as an MDI driver to perform *ab initio* MD simulations -in conjunction with a quantum mechanics code. Its post_force() method -illustrates how a driver issues MDI commands to another code. This -command can be used to couple to an MDI engine which is either a -stand-alone code or a plugin library. +The package also has a `fix mdi/qm ` command in which +LAMMPS operates as an MDI driver in conjunction with a quantum +mechanics code as an MDI engine. The post_force() method of the +fix_mdi_qm.cpp file shows how a driver issues MDI commands to another +code. This command can be used to couple to an MDI engine which is +either a stand-alone code or a plugin library. + +As explained on the `fix mdi/qm ` command doc page, it can +be used to perform *ab initio* MD simulations or energy minimizations, +or to evalute the quantum energy and forces for a series of +independent systems. The examples/mdi directory has example input +scripts for all of these use cases. ---------- diff --git a/doc/src/fix.rst b/doc/src/fix.rst index b0ec47fbe6..ad3fbef77b 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -246,7 +246,7 @@ accelerated styles exist. * :doc:`lb/viscous ` - * :doc:`lineforce ` - constrain atoms to move in a line * :doc:`manifoldforce ` - restrain atoms to a manifold during minimization -* :doc:`mdi/aimd ` - LAMMPS operates as driver for ab initio MD (AIMD) via the MolSSI Driver Interface (MDI) +* :doc:`mdi/qm ` - LAMMPS operates as driver for a quantum code via the MolSSI Driver Interface (MDI) * :doc:`meso/move ` - move mesoscopic SPH/SDPD particles in a prescribed fashion * :doc:`mol/swap ` - Monte Carlo atom type swapping with a molecule * :doc:`momentum ` - zero the linear and/or angular momentum of a group of atoms diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst index f75d44e3a4..8a6315fa48 100644 --- a/doc/src/fix_latte.rst +++ b/doc/src/fix_latte.rst @@ -116,13 +116,6 @@ 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 @@ -137,7 +130,7 @@ energy discussed above. The scalar value calculated by this fix is 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 +The DFTB forces computed by LATTE via this fix are used during an energy minimization, invoked by the :doc:`minimize ` command. diff --git a/doc/src/fix_mdi_aimd.rst b/doc/src/fix_mdi_aimd.rst deleted file mode 100644 index 7b87f369d7..0000000000 --- a/doc/src/fix_mdi_aimd.rst +++ /dev/null @@ -1,138 +0,0 @@ -.. index:: fix mdi/qm - -fix mdi/qm command -====================== - -Syntax -"""""" - -.. parsed-literal:: - - fix ID group-ID mdi/qm keyword - -* ID, group-ID are documented in :doc:`fix ` command -* mdi/qm = style name of this fix command -* zero or more keyword/value pairs may be appended -* keyword = *plugin* or *every* or *add* - - .. parsed-literal:: - - *plugin* args = none - *every* args = Nevery - Nevery = request values from server code once every Nevery steps - *add* args = *yes* or *no* - yes = add returned value from server code to LAMMPS quantities - no = do not add returned values to LAMMPS quantities - -Examples -"""""""" - -.. code-block:: LAMMPS - - fix 1 all mdi/aimd - fix 1 all mdi/aimd plugin - -Description -""""""""""" - -This command enables LAMMPS to act as a client with another server -code that will compute the total energy, per-atom forces, and total -virial for atom conformations and simulation box size/shapes that -LAMMPS sends it. - -Typically the server code will be a quantum code, hence the name of -the fix. However this is not required, the server code could be -another classical molecular dynamics code or LAMMPS itself. The -server code must support use of the `MDI Library -`_ as -explained below. - -Example use cases for this fix are the following (discussed further -below): - -* perform an ab intitio MD (AIMD) simulation with quantum forces -* perform an energy minimziation with quantum forces -* perform a nudged elatic band (NEB) calculation with quantum forces -* requests a QM calculation for a series of independent systems which LAMMPS reads or generates - -The code coupling performed by this command is done via the `MDI -Library `_. -LAMMPS runs as an MDI driver (client), and sends MDI commands to an -external MDI engine code (server), e.g. a quantum code which has -support for MDI. See the :doc:`Howto mdi ` page for more -information about how LAMMPS can operate as either an MDI driver or -engine. - -The examples/mdi directory contains input scripts using this fix, with -two instances of LAMMPS acting as both a driver and an engine -(surrogate for a QM code). The examples/mdi/README file explains how -to launch two driver and engine codes so that they communicate using -the MDI library via either MPI or sockets. Any QM code that supports -MDI could be used in place of LAMMPS acting as a QM surrogate. See -the :doc:`Howto mdi ` page for a current list (March 2022) -of such QM codes. - -Engine codes can support MDI in either or both of two ways. It can -support being used as a stand-alone code, launched at the same time as -LAMMPS. Or it can support being used as a plugin library, which -LAMMPS loads. See the :doc:`mdi plugin ` command for how to -trigger LAMMPS to load the plugin library. The examples/mdi/README -file explains both use cases: launching both the driver and engine as -stand-alone codes or having the driver code load an engine as a plugin -library. - ----------- - - - -To use this fix with a plugin engine, you must specify the -*plugin* keyword as the last argument, as illustrated above. - - ----------- - ----------- - -This fix performs the timestepping portion of anAIMD simulation. -Both LAMMPS and the engine code (QM or LAMMPS) should define the same -system (simulation box, atoms and their types) in their respective -input scripts. LAMMPS then begins its timestepping. - -At the point in each timestep when LAMMPS needs the force on each -atom, it communicates with the engine code. It sends the current -simulation box size and shape (if they change dynamically, e.g. during -an NPT simulation), and the current atom coordinates. The engine code -computes quantum forces on each atom and returns them to LAMMPS. If -LAMMPS also needs the system energy and/or virial, it requests those -values from the engine code as well. - -Restrictions -"""""""""""" - -This command is part of the MDI package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package -` page for more info. - -Stored values by fix: energy, per-atoms forces, virial. - - - -To use LAMMPS as an MDI driver in conjunction with other MDI-enabled -atomistic codes, the :doc:`units ` command should be used to -specify *real* or *metal* units. This will ensure the correct unit -conversions between LAMMPS and MDI units. The other code will also -perform similar unit conversions into its preferred units. - -LAMMPS can also be used as an MDI driver in other unit choices it -supports, e.g. *lj*, but then no unit conversion is performed. - -Related commands -"""""""""""""""" - -:doc:`mdi engine ` - -Default -""""""" - -The default for the optional keywords is add = yes, every = 1. - diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst new file mode 100644 index 0000000000..c0d3d69932 --- /dev/null +++ b/doc/src/fix_mdi_qm.rst @@ -0,0 +1,232 @@ +.. index:: fix mdi/qm + +fix mdi/qm command +====================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID mdi/qm keyword + +* ID, group-ID are documented in :doc:`fix ` command +* mdi/qm = style name of this fix command +* zero or more keyword/value pairs may be appended +* keyword = *add* or *every* + + .. parsed-literal:: + + *add* args = *yes* or *no* + yes = add returned value from server code to LAMMPS quantities + no = do not add returned values to LAMMPS quantities + *every* args = Nevery + Nevery = request values from server code once every Nevery steps + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all mdi/qm + fix 1 all mdi/qm add no every 100 + +Description +""""""""""" + +This command enables LAMMPS to act as a client with another server +code that will compute the total energy, per-atom forces, and total +virial for atom conformations and simulation box size/shapes that +LAMMPS sends it. + +Typically the server code will be a quantum mechanics (QM) code, hence +the name of the fix. However this is not required, the server code +could be another classical molecular dynamics code or LAMMPS itself. +The server code must support use of the `MDI Library +`_ as +explained below. + +These are example use cases for this fix, discussed further below: + +* perform an ab intitio MD (AIMD) simulation with quantum forces +* perform an energy minimziation with quantum forces +* perform a nudged elatic band (NEB) calculation with quantum forces +* perform a QM calculation for a series of independent systems which LAMMPS reads or generates + +The code coupling performed by this command is done via the `MDI +Library `_. +LAMMPS runs as an MDI driver (client), and sends MDI commands to an +external MDI engine code (server), e.g. a QM code which has support +for MDI. See the :doc:`Howto mdi ` page for more +information about how LAMMPS can operate as either an MDI driver or +engine. + +The examples/mdi directory contains input scripts using this fix in +the various use cases listed above. In each case, two instances of +LAMMPS are used, once as an MDI driver, once as an MDI engine +(surrogate for a QM code). The examples/mdi/README file explains how +to launch two codes so that they communicate via the MDI library using +either MPI or sockets. Any QM code that supports MDI could be used in +place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi +` page for a current list (March 2022) of such QM codes. + +Note that an engine code can support MDI in either or both of two +modes. It can be used as a stand-alone code, launched at the same +time as LAMMPS. Or it can be used as a plugin library, which LAMMPS +loads. See the :doc:`mdi plugin ` command for how to trigger +LAMMPS to load a plugin library. The examples/mdi/README file +explains how to launch the two codes in either mode. + +---------- + +The *add* keyword setting of *yes* or *no* determines whether the +energy and forces returned by the QM code will be added to the LAMMPS +internal energy and forces or not. If the setting is *no* then the +default :doc:`fix_modify energy ` and :doc:`fix_modify +virial ` settings are also set to *no* and your input +scripts should not set them to yes. See more details on these +fix_modify settings below. + +Whatever the setting for the *add* keyword, the QM energy, forces, and +virial will be stored by the fix, so they can be accessed by other +commands. See details below. + +The *every* keyword determines how often the QM code will be invoked +during a dynamics run with the current LAMMPS simulation box and +configuration of atoms. The QM code will be called once every +*Nevery* timesteps. + +---------- + +3 example use cases: + +(1) To run an ab initio MD (AIMD) dynamics simulation, or an energy +minimization with QM forces, or a multi-replica NEB calculation, use +*add yes* and *every 1* (the defaults). This is so that every time +LAMMPS needs energy and forces, the QM code will be invoked. + +Both LAMMPS and the QM code should define the same system (simulation +box, atoms and their types) in their respective input scripts. Note +that on this scenario, it may not be necessary for LAMMPS to define a +pair style or use a neighbor list. + +LAMMPS will then perform the timestepping for the simulation. At the +point in each timestep when LAMMPS needs the force on each atom, it +communicates with the engine code. It sends the current simulation +box size and shape (if they change dynamically, e.g. during an NPT +simulation), and the current atom coordinates. The engine code +computes quantum forces on each atom and returns them to LAMMPS. If +LAMMPS also needs the system energy and/or virial, it requests those +values from the engine code as well. + +(2) To run dynamics with a LAMMPS interatomic potential, and evaluate +the QM energy and forces once every 1000 steps, use *add no* and +*every 1000*. This could be useful for using an MD run to generate +randomized configurations which then generate QM data for training a +machine learning potential. A :doc:`dump custom ` command could +be invoked every 1000 steps to dump the atom coordinates and QM forces +to a file. Likewise the QM energy could be output with the +:doc:`thermo_style custom ` command. + +(3) To do a QM evaulation of energy and forces for a series of *N* +independent systems (simulation box and atoms), use *add no* and +*every 1*. Write a LAMMPS input script which loops over the *N* +systems. See the :doc:`Howto multiple ` doc page for +details on looping and removing old systems. The series of systems +could be initialized by reading them from data files with +:doc:`read_data ` commands. Or, for example, by using the +:doc:`lattice ` , :doc:`create_atoms `, +:doc:`delete_atoms `, and/or :doc:`displace_atoms +random ` commands to generate a series of different +systems. At the end of the loop perform :doc:`run 0 ` +and :doc:`write_dump ` commands to invoke the QM code +and output the QM energy and forces. As in (2) this be useful +to generate QM data for training a machine learning potential. + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files +`. + +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy computed by the QM code to the +global potential energy of the system as part of :doc:`thermodynamic +output `. The default setting for this fix is +:doc:`fix_modify energy yes `, unless the *add* keyword is +set to *no*, in which case the default setting is *no*. + +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution computed by the QM code to the global +pressure of the system as part of :doc:`thermodynamic output +`. The default setting for this fix is :doc:`fix_modify +virial yes `, unless the *add* keyword is set to *no*, in +which case the default setting is *no*. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the energy +returned by the QM code. The scalar value calculated by this fix is +"extensive". + +This fix also computes a global vector with of length 6 which contains +the symmetric virial tensor values returned by the QM code. It can +likewise be accessed by various :doc:`output commands `. + +The ordering of values in the symmetric virial tensor is as follows: +vxx, vyy, vzz, vxy, vxz, vyz. The values will be in pressure +:doc:`units `. + +This fix also computes a peratom array with 3 columns which contains +the peratom forces returned by the QM code. It can likewise be +accessed by various :doc:`output commands `. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. + +Assuming the *add* keyword is set to *yes* (the default), the forces +computed by the QM code are used during an energy minimization, +invoked by the :doc:`minimize ` command. + +.. note:: + + If you want the potential energy associated with the QM forces to + be included in the total potential energy of the system (the + quantity being minimized), you MUST not disable the + :doc:`fix_modify ` *energy* option for this fix, which + means the *add* keyword should also be set to *yes* (the default). + + +Restrictions +"""""""""""" + +This command is part of the MDI package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +The QM code does not currently compute and return per-atom energy or +per-atom virial contributions. So they will not show up as part of +the calculations performed by the :doc:`compute pe/atom +` or :doc:`compute stress/atom ` +commands. + +To use LAMMPS as an MDI driver in conjunction with other MDI-enabled +codes (MD or QM codes), the :doc:`units ` command should be +used to specify *real* or *metal* units. This will ensure the correct +unit conversions between LAMMPS and MDI units. The other code will +also perform similar unit conversions into its preferred units. + +LAMMPS can also be used as an MDI driver in other unit choices it +supports, e.g. *lj*, but then no unit conversion is performed. + +Related commands +"""""""""""""""" + +:doc:`mdi plugin `, :doc:`mdi engine ` + +Default +""""""" + +The default for the optional keywords is add = yes, every = 1. + diff --git a/doc/src/mdi.rst b/doc/src/mdi.rst index 3a6f0234fc..73e245697e 100644 --- a/doc/src/mdi.rst +++ b/doc/src/mdi.rst @@ -270,7 +270,7 @@ The *command* keyword is required. It specifies a LAMMPS input script command (as a single argument in quotes if it is multiple words). Once the plugin library is launched, LAMMPS will execute this command. Other previously-defined commands in the input script, such as the -:doc:`fix mdi/aimd ` command, should perform MDI +:doc:`fix mdi/qm ` command, should perform MDI communication with the engine, while the specified *command* executes. Note that if *command* is an :doc:`include ` command, then it could specify a filename with multiple LAMMPS commands. @@ -304,7 +304,7 @@ supports, e.g. *lj*, but then no unit conversion is performed. Related commands """""""""""""""" -:doc:`fix mdi/aimd ` +:doc:`fix mdi/qm ` Default """"""" diff --git a/src/MDI/fix_mdi_aimd.cpp b/src/MDI/fix_mdi_qm.cpp similarity index 86% rename from src/MDI/fix_mdi_aimd.cpp rename to src/MDI/fix_mdi_qm.cpp index c878d183d3..2f38864198 100644 --- a/src/MDI/fix_mdi_aimd.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "fix_mdi_aimd.h" +#include "fix_mdi_qm.h" #include "atom.h" #include "comm.h" #include "domain.h" @@ -27,10 +27,8 @@ enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports /* ---------------------------------------------------------------------- */ -FixMDIAimd::FixMDIAimd(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg != 3) error->all(FLERR, "Illegal fix mdi/aimd command"); - scalar_flag = 1; global_freq = 1; extscalar = 1; @@ -40,8 +38,8 @@ FixMDIAimd::FixMDIAimd(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // check requirements for LAMMPS to work with MDI as an engine - if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); - + if (atom->tag_enable == 0) + error->all(FLERR, "Cannot use MDI engine without atom IDs"); if (atom->natoms && atom->tag_consecutive() == 0) error->all(FLERR, "MDI engine requires consecutive atom IDs"); @@ -50,7 +48,28 @@ FixMDIAimd::FixMDIAimd(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) int role; MDI_Get_role(&role); if (role != MDI_DRIVER) - error->all(FLERR, "Must invoke LAMMPS as an MDI driver to use fix mdi/aimd"); + error->all(FLERR, "Must invoke LAMMPS as an MDI driver to use fix mdi/qm"); + + // optional args + + addflag = 1; + every = 1; + + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg],"add") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); + if (strcmp(arg[iarg],"yes") == 0) addflag = 1; + else if (strcmp(arg[iarg],"no") == 0) addflag = 0; + else error->all(FLERR,"Illegal fix mdi/qm command"); + iarg += 2; + } else if (strcmp(arg[iarg],"every") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); + every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if (every < 0) error->all(FLERR,"Illegal fix mdi/qm command"); + iarg += 2; + } else error->all(FLERR,"Illegal fix mdi/qm command"); + } // mdicomm will be one-time initialized in init() // cannot be done here for a plugin library, b/c mdi plugin command is later @@ -78,7 +97,7 @@ FixMDIAimd::FixMDIAimd(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) /* ---------------------------------------------------------------------- */ -FixMDIAimd::~FixMDIAimd() +FixMDIQM::~FixMDIQM() { // send exit command to engine if it is a stand-alone code // for plugin, this happens in MDIPlugin::plugin_wrapper() @@ -96,7 +115,7 @@ FixMDIAimd::~FixMDIAimd() /* ---------------------------------------------------------------------- */ -int FixMDIAimd::setmask() +int FixMDIQM::setmask() { int mask = 0; mask |= PRE_REVERSE; @@ -107,7 +126,7 @@ int FixMDIAimd::setmask() /* ---------------------------------------------------------------------- */ -void FixMDIAimd::init() +void FixMDIQM::init() { if (mdicomm != MDI_COMM_NULL) return; @@ -120,25 +139,27 @@ void FixMDIAimd::init() if (mdicomm == MDI_COMM_NULL) { plugin = 0; MDI_Accept_communicator(&mdicomm); - if (mdicomm == MDI_COMM_NULL) error->all(FLERR, "MDI unable to connect to stand-alone engine"); + if (mdicomm == MDI_COMM_NULL) + error->all(FLERR, "MDI unable to connect to stand-alone engine"); } else { plugin = 1; int method; MDI_Get_method(&method, mdicomm); - if (method != MDI_PLUGIN) error->all(FLERR, "MDI internal error for plugin engine"); + if (method != MDI_PLUGIN) + error->all(FLERR, "MDI internal error for plugin engine"); } } /* ---------------------------------------------------------------------- */ -void FixMDIAimd::setup(int vflag) +void FixMDIQM::setup(int vflag) { post_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixMDIAimd::setup_pre_reverse(int eflag, int vflag) +void FixMDIQM::setup_pre_reverse(int eflag, int vflag) { pre_reverse(eflag, vflag); } @@ -147,14 +168,14 @@ void FixMDIAimd::setup_pre_reverse(int eflag, int vflag) store eflag, so can use it in post_force to request energy ------------------------------------------------------------------------- */ -void FixMDIAimd::pre_reverse(int eflag, int /*vflag*/) +void FixMDIQM::pre_reverse(int eflag, int /*vflag*/) { eflag_caller = eflag; } /* ---------------------------------------------------------------------- */ -void FixMDIAimd::post_force(int vflag) +void FixMDIQM::post_force(int vflag) { int ilocal, ierr; double cell[9]; @@ -266,7 +287,7 @@ void FixMDIAimd::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixMDIAimd::min_post_force(int vflag) +void FixMDIQM::min_post_force(int vflag) { post_force(vflag); } @@ -275,7 +296,7 @@ void FixMDIAimd::min_post_force(int vflag) energy from MDI engine ------------------------------------------------------------------------- */ -double FixMDIAimd::compute_scalar() +double FixMDIQM::compute_scalar() { return engine_energy; } @@ -284,12 +305,12 @@ double FixMDIAimd::compute_scalar() reallocate storage for all atoms if necessary ------------------------------------------------------------------------- */ -void FixMDIAimd::reallocate() +void FixMDIQM::reallocate() { if (atom->natoms <= maxbuf) return; if (3 * atom->natoms > MAXSMALLINT) - error->all(FLERR, "Natoms too large to use with fix mdi/aimd"); + error->all(FLERR, "Natoms too large to use with fix mdi/qm"); maxbuf = atom->natoms; @@ -304,7 +325,7 @@ void FixMDIAimd::reallocate() MDI to/from LAMMPS conversion factors ------------------------------------------------------------------------- */ -void FixMDIAimd::unit_conversions() +void FixMDIQM::unit_conversions() { double angstrom_to_bohr, kelvin_to_hartree, ev_to_hartree, second_to_aut; diff --git a/src/MDI/fix_mdi_aimd.h b/src/MDI/fix_mdi_qm.h similarity index 89% rename from src/MDI/fix_mdi_aimd.h rename to src/MDI/fix_mdi_qm.h index cdb7977c37..88b6a3cd8c 100644 --- a/src/MDI/fix_mdi_aimd.h +++ b/src/MDI/fix_mdi_qm.h @@ -13,22 +13,22 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(mdi/aimd,FixMDIAimd); +FixStyle(mdi/qm,FixMDIQM); // clang-format on #else -#ifndef LMP_FIX_MDI_AIMD_H -#define LMP_FIX_MDI_AIMD_H +#ifndef LMP_FIX_MDI_QM_H +#define LMP_FIX_MDI_QM_H #include "fix.h" #include namespace LAMMPS_NS { -class FixMDIAimd : public Fix { +class FixMDIQM : public Fix { public: - FixMDIAimd(class LAMMPS *, int, char **); - ~FixMDIAimd(); + FixMDIQM(class LAMMPS *, int, char **); + ~FixMDIQM(); int setmask(); void init(); From 34863c6c97ed8e88d4fe19d5c5aa36192cb398ca Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 14 Jun 2022 10:14:36 -0600 Subject: [PATCH 067/153] updates to fix_mdi_qm for multiple sims --- doc/src/fix_mdi_qm.rst | 68 ++++---- src/MDI/fix_mdi_qm.cpp | 341 +++++++++++++++++++++++++++-------------- src/MDI/fix_mdi_qm.h | 18 ++- src/MDI/mdi_engine.cpp | 40 ++--- src/MDI/mdi_plugin.cpp | 1 - 5 files changed, 297 insertions(+), 171 deletions(-) diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index c0d3d69932..5c66ac2639 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -13,10 +13,13 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * mdi/qm = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *add* or *every* +* keyword = *virial* or *add* or *every* .. parsed-literal:: + *virial* args = *yes* or *no* + yes = request virial tensor from server code + no = do not request virial tensor from server code *add* args = *yes* or *no* yes = add returned value from server code to LAMMPS quantities no = do not add returned values to LAMMPS quantities @@ -29,6 +32,7 @@ Examples .. code-block:: LAMMPS fix 1 all mdi/qm + fix 1 all mdi/qm virial yes fix 1 all mdi/qm add no every 100 Description @@ -79,13 +83,17 @@ explains how to launch the two codes in either mode. ---------- +The *virial* keyword setting of yes or no determines whether +LAMMPS will request the QM code to also compute and return +a 6-element symmetric virial tensor for the system. + The *add* keyword setting of *yes* or *no* determines whether the -energy and forces returned by the QM code will be added to the LAMMPS -internal energy and forces or not. If the setting is *no* then the -default :doc:`fix_modify energy ` and :doc:`fix_modify -virial ` settings are also set to *no* and your input -scripts should not set them to yes. See more details on these -fix_modify settings below. +energy and forces and virial returned by the QM code will be added to +the LAMMPS internal energy and forces and virial or not. If the +setting is *no* then the default :doc:`fix_modify energy ` +and :doc:`fix_modify virial ` settings are also set to +*no* and your input scripts should not set them to yes. See more +details on these fix_modify settings below. Whatever the setting for the *add* keyword, the QM energy, forces, and virial will be stored by the fix, so they can be accessed by other @@ -103,30 +111,36 @@ configuration of atoms. The QM code will be called once every (1) To run an ab initio MD (AIMD) dynamics simulation, or an energy minimization with QM forces, or a multi-replica NEB calculation, use *add yes* and *every 1* (the defaults). This is so that every time -LAMMPS needs energy and forces, the QM code will be invoked. +LAMMPS needs energy and forces, the QM code will be invoked. Both LAMMPS and the QM code should define the same system (simulation box, atoms and their types) in their respective input scripts. Note that on this scenario, it may not be necessary for LAMMPS to define a pair style or use a neighbor list. -LAMMPS will then perform the timestepping for the simulation. At the -point in each timestep when LAMMPS needs the force on each atom, it -communicates with the engine code. It sends the current simulation -box size and shape (if they change dynamically, e.g. during an NPT -simulation), and the current atom coordinates. The engine code -computes quantum forces on each atom and returns them to LAMMPS. If -LAMMPS also needs the system energy and/or virial, it requests those -values from the engine code as well. +LAMMPS will then perform the timestepping or minimization iterations +for the simulation. At the point in each timestep or iteration when +LAMMPS needs the force on each atom, it communicates with the engine +code. It sends the current simulation box size and shape (if they +change dynamically, e.g. during an NPT simulation), and the current +atom coordinates. The engine code computes quantum forces on each +atom and the total energy of the system and returns them to LAMMPS. + +Note that if the AIMD simulation is an NPT or NPH model, or the energy +minimization includesf :doc:`fix box relax ` to +equilibrate the box size/shape, then LAMMPS computes a pressure. This +means the *virial* keyword should be set to *yes* so that the QM +contribution to the pressure can be included. (2) To run dynamics with a LAMMPS interatomic potential, and evaluate the QM energy and forces once every 1000 steps, use *add no* and *every 1000*. This could be useful for using an MD run to generate -randomized configurations which then generate QM data for training a -machine learning potential. A :doc:`dump custom ` command could -be invoked every 1000 steps to dump the atom coordinates and QM forces -to a file. Likewise the QM energy could be output with the -:doc:`thermo_style custom ` command. +randomized configurations which are then passed to the QM code to +produce training data for a machine learning potential. A :doc:`dump +custom ` command could be invoked every 1000 steps to dump the +atom coordinates and QM forces to a file. Likewise the QM energy and +virial could be output with the :doc:`thermo_style custom +` command. (3) To do a QM evaulation of energy and forces for a series of *N* independent systems (simulation box and atoms), use *add no* and @@ -138,10 +152,10 @@ could be initialized by reading them from data files with :doc:`lattice ` , :doc:`create_atoms `, :doc:`delete_atoms `, and/or :doc:`displace_atoms random ` commands to generate a series of different -systems. At the end of the loop perform :doc:`run 0 ` -and :doc:`write_dump ` commands to invoke the QM code -and output the QM energy and forces. As in (2) this be useful -to generate QM data for training a machine learning potential. +systems. At the end of the loop perform :doc:`run 0 ` and +:doc:`write_dump ` commands to invoke the QM code and +output the QM energy and forces. As in (2) this be useful to produce +QM data for training a machine learning potential. ---------- @@ -228,5 +242,5 @@ Related commands Default """"""" -The default for the optional keywords is add = yes, every = 1. - +The default for the optional keywords are virial = no, add = yes, +every = 1. diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 2f38864198..7ef03f0e7a 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -29,13 +29,6 @@ enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - scalar_flag = 1; - global_freq = 1; - extscalar = 1; - energy_global_flag = 1; - virial_global_flag = 1; - thermo_energy = thermo_virial = 1; - // check requirements for LAMMPS to work with MDI as an engine if (atom->tag_enable == 0) @@ -52,12 +45,19 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // optional args + virialflag = 0; addflag = 1; every = 1; int iarg = 3; while (iarg < narg) { - if (strcmp(arg[iarg],"add") == 0) { + if (strcmp(arg[iarg],"virial") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); + if (strcmp(arg[iarg],"yes") == 0) virialflag = 1; + else if (strcmp(arg[iarg],"no") == 0) virialflag = 0; + else error->all(FLERR,"Illegal fix mdi/qm command"); + iarg += 2; + } else if (strcmp(arg[iarg],"add") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); if (strcmp(arg[iarg],"yes") == 0) addflag = 1; else if (strcmp(arg[iarg],"no") == 0) addflag = 0; @@ -66,18 +66,40 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if (every < 0) error->all(FLERR,"Illegal fix mdi/qm command"); + if (every <= 0) error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; } else error->all(FLERR,"Illegal fix mdi/qm command"); } + // fix output settings are based on optional keywords + + scalar_flag = 1; + global_freq = every; + extscalar = 1; + + if (virialflag) { + vector_flag = 1; + size_vector = 6; + extvector = 1; + } + + if (addflag) { + energy_global_flag = 1; + virial_global_flag = 1; + thermo_energy = thermo_virial = 1; + } + // mdicomm will be one-time initialized in init() // cannot be done here for a plugin library, b/c mdi plugin command is later mdicomm = MDI_COMM_NULL; - // storage for all atoms + // peratom storage, both for nlocal and global natoms + fqm = nullptr; + maxlocal = 0; + + ibuf1 = ibuf1all = nullptr; buf3 = buf3all = nullptr; maxbuf = 0; @@ -93,6 +115,17 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) unit_conversions(); nprocs = comm->nprocs; + + // initialize outputs + + qm_energy = 0.0; + if (virialflag) { + for (int i = 0; i < 6; i++) { + qm_virial[i] = 0.0; + virial[i] = 0.0; + } + sumflag = 0; + } } /* ---------------------------------------------------------------------- */ @@ -109,6 +142,10 @@ FixMDIQM::~FixMDIQM() // clean up + memory->destroy(fqm); + + memory->destroy(ibuf1); + memory->destroy(ibuf1all); memory->destroy(buf3); memory->destroy(buf3all); } @@ -128,26 +165,38 @@ int FixMDIQM::setmask() void FixMDIQM::init() { - if (mdicomm != MDI_COMM_NULL) return; - // one-time auto-detect whether engine is stand-alone code or plugin library // also initializes mdicomm - // plugin = 0/1 for engine = stand-alone code vs plugin library - - MDI_Get_communicator(&mdicomm, 0); + // set plugin = 0/1 for engine = stand-alone code vs plugin library if (mdicomm == MDI_COMM_NULL) { - plugin = 0; - MDI_Accept_communicator(&mdicomm); - if (mdicomm == MDI_COMM_NULL) - error->all(FLERR, "MDI unable to connect to stand-alone engine"); - } else { - plugin = 1; - int method; - MDI_Get_method(&method, mdicomm); - if (method != MDI_PLUGIN) - error->all(FLERR, "MDI internal error for plugin engine"); + MDI_Get_communicator(&mdicomm, 0); + if (mdicomm == MDI_COMM_NULL) { + plugin = 0; + MDI_Accept_communicator(&mdicomm); + if (mdicomm == MDI_COMM_NULL) + error->all(FLERR, "MDI unable to connect to stand-alone engine"); + } else { + plugin = 1; + int method; + MDI_Get_method(&method, mdicomm); + if (method != MDI_PLUGIN) + error->all(FLERR, "MDI internal error for plugin engine"); + } } + + // send natoms, atom types, and simulation box to engine + // this will trigger setup of a new system + // subsequent calls in post_force() will be for same system until new init() + + int ierr = MDI_Send_command(">NATOMS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS command"); + int n = static_cast (atom->natoms); + ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS data"); + + send_types(); + send_box(); } /* ---------------------------------------------------------------------- */ @@ -159,59 +208,25 @@ void FixMDIQM::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixMDIQM::setup_pre_reverse(int eflag, int vflag) -{ - pre_reverse(eflag, vflag); -} - -/* ---------------------------------------------------------------------- - store eflag, so can use it in post_force to request energy -------------------------------------------------------------------------- */ - -void FixMDIQM::pre_reverse(int eflag, int /*vflag*/) -{ - eflag_caller = eflag; -} - -/* ---------------------------------------------------------------------- */ - void FixMDIQM::post_force(int vflag) { - int ilocal, ierr; - double cell[9]; + int index, ierr; - int eflag = eflag_caller; - ev_init(eflag, vflag); + // skip if timestep is not a multiple of every + + if (update->ntimestep % every) return; + + // reallocate peratom storage if necessary, both natoms and nlocal + + reallocate(); // if simulation box dynamically changes, send current box to MDI engine - if (domain->box_change_size || domain->box_change_shape) { - ierr = MDI_Send_command(">CELL_DISPL", mdicomm); - if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); - cell[0] = domain->boxlo[0] * lmp2mdi_length; - cell[1] = domain->boxlo[1] * lmp2mdi_length; - cell[2] = domain->boxlo[2] * lmp2mdi_length; - ierr = MDI_Send(cell, 3, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: >CELL_DISPL data"); - - ierr = MDI_Send_command(">CELL", mdicomm); - if (ierr) error->all(FLERR, "MDI: >CELL command"); - cell[0] = domain->boxhi[0] - domain->boxlo[0]; - cell[1] = 0.0; - cell[2] = 0.0; - cell[3] = domain->xy; - cell[4] = domain->boxhi[1] - domain->boxlo[1]; - cell[5] = 0.0; - cell[6] = domain->xz; - cell[7] = domain->yz; - cell[8] = domain->boxhi[2] - domain->boxlo[2]; - ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: >CELL data"); - } + if (domain->box_change_size || domain->box_change_shape) + send_box(); // gather all coords, ordered by atomID - reallocate(); memset(buf3, 0, 3 * atom->natoms * sizeof(double)); double **x = atom->x; @@ -219,13 +234,14 @@ void FixMDIQM::post_force(int vflag) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - ilocal = static_cast(tag[i]) - 1; - buf3[3 * ilocal + 0] = x[i][0] * lmp2mdi_length; - buf3[3 * ilocal + 1] = x[i][1] * lmp2mdi_length; - buf3[3 * ilocal + 2] = x[i][2] * lmp2mdi_length; + index = static_cast(tag[i]) - 1; + buf3[3 * index + 0] = x[i][0] * lmp2mdi_length; + buf3[3 * index + 1] = x[i][1] * lmp2mdi_length; + buf3[3 * index + 2] = x[i][2] * lmp2mdi_length; } - MPI_Reduce(buf3, buf3all, 3 * atom->natoms, MPI_DOUBLE, MPI_SUM, 0, world); + int n = static_cast (atom->natoms); + MPI_Reduce(buf3, buf3all, 3 * n, MPI_DOUBLE, MPI_SUM, 0, world); // send current coords to MDI engine @@ -234,42 +250,54 @@ void FixMDIQM::post_force(int vflag) ierr = MDI_Send(buf3all, 3 * atom->natoms, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); + // request potential energy from MDI engine + // this triggers engine to perform QM calculation + // qm_energy = fix output for global QM energy + + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: natoms, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: natoms, MPI_DOUBLE, 0, world); + MPI_Bcast(buf3, 3 * n, MPI_DOUBLE, 0, world); - // add forces to owned atoms - // use atomID to index into ordered buf3 - - double **f = atom->f; + // fqm = fix output for peratom QM forces + // use atomID of local atoms to index into ordered buf3 for (int i = 0; i < nlocal; i++) { - ilocal = static_cast(tag[i]) - 1; - f[i][0] += buf3[3 * ilocal + 0] * mdi2lmp_force; - f[i][1] += buf3[3 * ilocal + 1] * mdi2lmp_force; - f[i][2] += buf3[3 * ilocal + 2] * mdi2lmp_force; + index = static_cast(tag[i]) - 1; + fqm[i][0] = buf3[3 * index + 0] * mdi2lmp_force; + fqm[i][1] = buf3[3 * index + 1] * mdi2lmp_force; + fqm[i][2] = buf3[3 * index + 2] * mdi2lmp_force; } - // optionally request potential energy from MDI engine + // optionally add forces to owned atoms + // use atomID of local atoms to index into ordered buf3 - if (eflag_global) { - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: f; + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + f[i][0] += buf3[3 * index + 0] * mdi2lmp_force; + f[i][1] += buf3[3 * index + 1] * mdi2lmp_force; + f[i][2] += buf3[3 * index + 2] * mdi2lmp_force; + } } // optionally request pressure tensor from MDI engine, convert to virial // divide by nprocs so each proc stores a portion + // MPI_Allreduce is performed in compute_vector() + // qm_virial = fix output for global QM virial - if (vflag_global) { + if (virialflag) { double ptensor[6]; ierr = MDI_Send_command("all(FLERR, "MDI: xprd * domain->yprd * domain->zprd; for (int i = 0; i < 6; i++) { ptensor[i] *= mdi2lmp_pressure; - virial[i] = ptensor[i] * volume / force->nktv2p / nprocs; + qm_virial[i] = ptensor[i] * volume / force->nktv2p / nprocs; } + sumflag = 0; + } + + // optionally set fix->virial + + if (virialflag && addflag) { + for (int i = 0; i < 6; i++) + virial[i] = qm_virial[i]; } } @@ -298,27 +334,111 @@ void FixMDIQM::min_post_force(int vflag) double FixMDIQM::compute_scalar() { - return engine_energy; + return qm_energy; } /* ---------------------------------------------------------------------- - reallocate storage for all atoms if necessary + virial from MDI engine +------------------------------------------------------------------------- */ + +double FixMDIQM::compute_vector(int n) +{ + // only sum across procs one time + + if (sumflag == 0) { + MPI_Allreduce(qm_virial, qm_virial_all, 6, MPI_DOUBLE, MPI_SUM, world); + sumflag = 1; + } + + return qm_virial_all[n]; +} + +/* ---------------------------------------------------------------------- + reallocate storage for local and global and atoms if needed ------------------------------------------------------------------------- */ void FixMDIQM::reallocate() { - if (atom->natoms <= maxbuf) return; + if (atom->nlocal > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(fqm); + memory->create(fqm, maxlocal, 3, "mdi:fqm"); + array_atom = fqm; + } - if (3 * atom->natoms > MAXSMALLINT) - error->all(FLERR, "Natoms too large to use with fix mdi/qm"); + if (atom->natoms > maxbuf) { + bigint nsize = atom->natoms * 3; + if (nsize > MAXSMALLINT) + error->all(FLERR, "Natoms too large to use with fix mdi/qm"); + + maxbuf = static_cast (atom->natoms); + memory->destroy(ibuf1); + memory->destroy(buf3); + memory->destroy(buf3all); + memory->create(ibuf1, maxbuf, "mdi:ibuf1"); + memory->create(ibuf1all, maxbuf, "mdi:ibuf1all"); + memory->create(buf3, 3 * maxbuf, "mdi:buf3"); + memory->create(buf3all, 3 * maxbuf, "mdi:buf3all"); + } +} - maxbuf = atom->natoms; +/* ---------------------------------------------------------------------- + send numeric atom types to MDI engine +------------------------------------------------------------------------- */ - memory->destroy(buf3); - memory->destroy(buf3all); +void FixMDIQM::send_types() +{ + memset(ibuf1, 0, atom->natoms * sizeof(int)); - memory->create(buf3, 3 * maxbuf, "mdi:buf3"); - memory->create(buf3all, 3 * maxbuf, "mdi:buf3all"); + // use local atomID to index into ordered ibuf1 + + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + + int index; + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + ibuf1[index] = type[i]; + } + + int n = static_cast (atom->natoms); + MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); + + int ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >TYPES data"); +} + + +/* ---------------------------------------------------------------------- + send simulation box size and shape to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQM::send_box() +{ + double cell[9]; + + int ierr = MDI_Send_command(">CELL_DISPL", mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); + cell[0] = domain->boxlo[0] * lmp2mdi_length; + cell[1] = domain->boxlo[1] * lmp2mdi_length; + cell[2] = domain->boxlo[2] * lmp2mdi_length; + ierr = MDI_Send(cell, 3, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL data"); + + ierr = MDI_Send_command(">CELL", mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL command"); + cell[0] = domain->boxhi[0] - domain->boxlo[0]; + cell[1] = 0.0; + cell[2] = 0.0; + cell[3] = domain->xy; + cell[4] = domain->boxhi[1] - domain->boxlo[1]; + cell[5] = 0.0; + cell[6] = domain->xz; + cell[7] = domain->yz; + cell[8] = domain->boxhi[2] - domain->boxlo[2]; + ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL data"); } /* ---------------------------------------------------------------------- @@ -384,17 +504,4 @@ void FixMDIQM::unit_conversions() ev_to_hartree / (angstrom_to_bohr * angstrom_to_bohr * angstrom_to_bohr) / force->nktv2p; mdi2lmp_pressure = 1.0 / lmp2mdi_pressure; } - - // velocity units = distance/time - - mdi2lmp_velocity = 1.0; - lmp2mdi_velocity = 1.0; - - if (lmpunits == REAL) { - lmp2mdi_velocity = angstrom_to_bohr / (1.0e-15 * second_to_aut); - mdi2lmp_velocity = 1.0 / lmp2mdi_velocity; - } else if (lmpunits == METAL) { - lmp2mdi_velocity = angstrom_to_bohr / (1.0e-12 * second_to_aut); - mdi2lmp_velocity = 1.0 / lmp2mdi_velocity; - } } diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 88b6a3cd8c..95b4bcbe6d 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -33,22 +33,25 @@ class FixMDIQM : public Fix { void init(); void setup(int); - void setup_pre_reverse(int, int); - void pre_reverse(int, int); void post_force(int); void min_post_force(int); double compute_scalar(); + double compute_vector(int); private: int nprocs; + int virialflag,addflag,every; int plugin; + int maxlocal; + int sumflag; + + double qm_energy; + int lmpunits; + double qm_virial[6],qm_virial_all[6]; + double **fqm; MDI_Comm mdicomm; - int eflag_caller; - double engine_energy; - int lmpunits; - // unit conversion factors double lmp2mdi_length, mdi2lmp_length; @@ -60,11 +63,14 @@ class FixMDIQM : public Fix { // buffers for MDI comm int maxbuf; + int *ibuf1, *ibuf1all; double *buf3, *buf3all; // methods void reallocate(); + void send_types(); + void send_box(); void unit_conversions(); }; diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index f2b96cb69a..c5fc7e0b50 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -135,7 +135,7 @@ MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char ** /*arg*/) : Pointers(_lmp) ibuf1 = ibuf1all = nullptr; maxatom = 0; - sys_natoms = atom->natoms; + sys_natoms = static_cast (atom->natoms); reallocate(); nsteps = 0; @@ -1239,7 +1239,7 @@ void MDIEngine::receive_velocities() void MDIEngine::receive_double3(int which) { - int n = 3 * atom->natoms; + int n = 3 * sys_natoms; int ierr = MDI_Recv(buf3, n, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: natoms * MDI_LABEL_LENGTH]; - memset(labels, ' ', atom->natoms * MDI_LABEL_LENGTH); + auto labels = new char[sys_natoms * MDI_LABEL_LENGTH]; + memset(labels, ' ', sys_natoms * MDI_LABEL_LENGTH); - memset(ibuf1, 0, atom->natoms * sizeof(int)); + memset(ibuf1, 0, sys_natoms * sizeof(int)); // use atomID to index into ordered ibuf1 @@ -1370,17 +1370,17 @@ void MDIEngine::send_labels() ibuf1[ilocal] = type[i]; } - MPI_Reduce(ibuf1, ibuf1all, atom->natoms, MPI_INT, MPI_SUM, 0, world); + MPI_Reduce(ibuf1, ibuf1all, sys_natoms, MPI_INT, MPI_SUM, 0, world); if (comm->me == 0) { - for (int iatom = 0; iatom < atom->natoms; iatom++) { + for (int iatom = 0; iatom < sys_natoms; iatom++) { std::string label = std::to_string(ibuf1all[iatom]); int label_len = std::min(int(label.length()), MDI_LABEL_LENGTH); strncpy(&labels[iatom * MDI_LABEL_LENGTH], label.c_str(), label_len); } } - int ierr = MDI_Send(labels, atom->natoms * MDI_LABEL_LENGTH, MDI_CHAR, mdicomm); + int ierr = MDI_Send(labels, sys_natoms * MDI_LABEL_LENGTH, MDI_CHAR, mdicomm); if (ierr) error->all(FLERR, "MDI: (atom->natoms); - int ierr = MDI_Send(&natoms, 1, MDI_INT, mdicomm); + int ierr = MDI_Send(&sys_natoms, 1, MDI_INT, mdicomm); if (ierr != 0) error->all(FLERR, "MDI: natoms * sizeof(double)); + memset(buf1, 0, sys_natoms * sizeof(double)); // use atomID to index into ordered buf1 @@ -1467,9 +1466,9 @@ void MDIEngine::send_double1(int which) } } - MPI_Reduce(buf1, buf1all, atom->natoms, MPI_DOUBLE, MPI_SUM, 0, world); + MPI_Reduce(buf1, buf1all, sys_natoms, MPI_DOUBLE, MPI_SUM, 0, world); - int ierr = MDI_Send(buf1all, atom->natoms, MDI_DOUBLE, mdicomm); + int ierr = MDI_Send(buf1all, sys_natoms, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: natoms * sizeof(int)); + memset(ibuf1, 0, sys_natoms * sizeof(int)); // use atomID to index into ordered ibuf1 @@ -1498,9 +1497,9 @@ void MDIEngine::send_int1(int which) } } - MPI_Reduce(ibuf1, ibuf1all, atom->natoms, MPI_INT, MPI_SUM, 0, world); + MPI_Reduce(ibuf1, ibuf1all, sys_natoms, MPI_INT, MPI_SUM, 0, world); - int ierr = MDI_Send(ibuf1all, atom->natoms, MDI_INT, mdicomm); + int ierr = MDI_Send(ibuf1all, sys_natoms, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: natoms * sizeof(double)); + memset(buf3, 0, 3 * sys_natoms * sizeof(double)); // use atomID to index into ordered buf3 @@ -1547,9 +1546,9 @@ void MDIEngine::send_double3(int which) } } - MPI_Reduce(buf3, buf3all, 3 * atom->natoms, MPI_DOUBLE, MPI_SUM, 0, world); + MPI_Reduce(buf3, buf3all, 3 * sys_natoms, MPI_DOUBLE, MPI_SUM, 0, world); - int ierr = MDI_Send(buf3all, 3 * atom->natoms, MDI_DOUBLE, mdicomm); + int ierr = MDI_Send(buf3all, 3 * sys_natoms, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: MAXSMALLINT) error->all(FLERR, "Natoms too large to use with mdi engine"); + bigint nsize = (bigint) sys_natoms * 3; + if (nsize > MAXSMALLINT) error->all(FLERR, "Natoms too large to use with mdi engine"); maxatom = sys_natoms; diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 3c8e38481d..c2add38266 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -19,7 +19,6 @@ #include "mdi_plugin.h" #include "error.h" -#include "fix_mdi_aimd.h" #include "input.h" #include "modify.h" From a5745d925a2b1cf44e89815ee6dca4ea7be2e7c8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 14 Jun 2022 17:29:01 -0600 Subject: [PATCH 068/153] new examples and debugging code changes --- examples/mdi/README | 148 ++++++++++++++++-- examples/mdi/in.aimd.driver | 3 +- examples/mdi/in.aimd.driver.plugin | 5 +- examples/mdi/in.aimd.engine | 9 +- .../mdi/{in.sequence => in.sequence.python} | 0 examples/mdi/in.series.alone | 43 +++++ examples/mdi/in.series.driver | 48 ++++++ examples/mdi/in.series.driver.plugin | 44 ++++++ examples/mdi/in.series.engine | 17 ++ examples/mdi/in.snapshot.alone | 36 +++++ examples/mdi/in.snapshot.driver | 41 +++++ examples/mdi/in.snapshot.driver.plugin | 46 ++++++ examples/mdi/in.snapshot.engine | 17 ++ examples/mdi/sequence_driver.py | 2 +- src/MDI/fix_mdi_qm.cpp | 69 ++++---- src/MDI/fix_mdi_qm.h | 2 +- src/MDI/mdi_command.cpp | 22 ++- src/lammps.cpp | 24 ++- src/lammps.h | 12 +- 19 files changed, 507 insertions(+), 81 deletions(-) rename examples/mdi/{in.sequence => in.sequence.python} (100%) create mode 100644 examples/mdi/in.series.alone create mode 100644 examples/mdi/in.series.driver create mode 100644 examples/mdi/in.series.driver.plugin create mode 100644 examples/mdi/in.series.engine create mode 100644 examples/mdi/in.snapshot.alone create mode 100644 examples/mdi/in.snapshot.driver create mode 100644 examples/mdi/in.snapshot.driver.plugin create mode 100644 examples/mdi/in.snapshot.engine diff --git a/examples/mdi/README b/examples/mdi/README index fd459e6670..9298e9c59c 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -50,7 +50,7 @@ changed in the in.aimd.engine or in.aimd.engine.plugin scripts. Run the entire calculation with a single instance of LAMMPS by itself results should be identical to running this example with MDI -% lmp_mpi < in.aimd.alone +% lmp_mpi -log log.aimd.alone < in.aimd.alone With MDI, the thermo output of the driver should match the thermo output of the in.aimd.alone script. @@ -59,41 +59,157 @@ output of the in.aimd.alone script. Run with TCP: 1 proc each -% lmp_mpi -mdi "-name aimd -role DRIVER -method TCP -port 8021" -log log.aimd.driver -in in.aimd.driver +% lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp -in in.aimd.driver -% lmp_mpi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine -in in.aimd.engine +% lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp -in in.aimd.engine --- Run with TCP: 3 procs + 4 procs -% mpirun -np 3 lmp_mpi -mdi "-name aimd -role DRIVER -method TCP -port 8021" -log log.aimd.driver -in in.aimd.driver +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp -in in.aimd.driver -% mpirun -np 4 lmp_mpi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine -in in.aimd.engine +% mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp -in in.aimd.engine --- Run with MPI: 1 proc each -% mpirun -np 1 lmp_mpi -mdi "-name aimd -role DRIVER -method MPI" -log log.aimd.driver -in in.aimd.driver : -np 1 lmp_mpi -mdi "-name LAMMPS -role ENGINE -method MPI" -log log.aimd.engine -in in.aimd.engine +% mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi -in in.aimd.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi -in in.aimd.engine --- Run with MPI: 3 procs + 4 procs -% mpirun -np 3 lmp_mpi -mdi "-name aimd -role DRIVER -method MPI" -log log.aimd.driver -in in.aimd.driver : -np 4 lmp_mpi -mdi "-name LAMMPS -role ENGINE -method MPI" -log log.aimd.engine -in in.aimd.engine +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi -in in.aimd.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi -in in.aimd.engine --- Run in plugin mode: 1 proc -% lmp_mpi -mdi "-name aimd -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin +% lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin --- Run in plugin mode: 3 procs -% mpirun -np 3 lmp_mpi -mdi "-name aimd -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin + +------------------------------------------------- +------------------------------------------------- + +* Example #1b = run LAMMPS, compute QM forces on snapshots from a long run + Two instances of LAMMPS operate as a driver and engine + As an engine, LAMMPS is a surrogate for a quantum code + +--- + +Run the entire calculation with a single instance of LAMMPS by itself + results should be identical to running this example with MDI + +% lmp_mpi -log log.snapshot.alone < in.snapshot.alone + +With MDI, the thermo output of the driver should match the thermo +output of the in.snapshot.alone script. Likewise the dump file written +by the driver should match dump.snapshot.alone. + +--- + +Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp -in in.snapshot.driver + +% lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp -in in.snapshot.engine + +--- + +Run with TCP: 3 procs + 4 procs + +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp -in in.snapshot.driver + +% mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp -in in.snapshot.engine + +--- + +Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi -in in.snapshot.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi -in in.snapshot.engine + +--- + +Run with MPI: 3 procs + 4 procs + +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi -in in.snapshot.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi -in in.snapshot.engine + +--- + +Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin -in in.snapshot.driver.plugin + +--- + +Run in plugin mode: 3 procs + +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin -in in.snapshot.driver.plugin + +------------------------------------------------- +------------------------------------------------- + +* Example #1c = run LAMMPS, compute QM forces on series of independent systems + Two instances of LAMMPS operate as a driver and engine + As an engine, LAMMPS is a surrogate for a quantum code + +--- + +Run the entire calculation with a single instance of LAMMPS by itself + results should be identical to running this example with MDI + +% lmp_mpi -log log.series.alone < in.series.alone + +With MDI, the thermo output of the driver should match the thermo +output of the in.series.alone script. Likewise the dump files written +by the driver should match dump.series.alone files. + +--- + +Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp -in in.series.driver + +% lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp -in in.series.engine + +--- + +Run with TCP: 3 procs + 4 procs + +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp -in in.series.driver + +% mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp -in in.series.engine + +--- + +Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi -in in.series.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi -in in.series.engine + +--- + +Run with MPI: 3 procs + 4 procs + +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi -in in.series.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi -in in.series.engine + +--- + +Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin -in in.series.driver.plugin + +--- + +Run in plugin mode: 3 procs + +% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin -in in.series.driver.plugin ------------------------------------------------- ------------------------------------------------- @@ -134,7 +250,7 @@ Run with TCP: 1 proc each % python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" -% lmp_mpi -mdi "-role ENGINE -name LAMMPS -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence +% lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence.python --- @@ -142,31 +258,31 @@ Run with TCP: 2 proc + 4 procs % mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" -% mpirun -np 4 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence +% mpirun -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence.python --- Run with MPI: 1 proc each -% mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence -in in.sequence +% mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence -in in.sequence.python --- Run with MPI: 2 procs + 4 procs -% mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence -in in.sequence +% mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method MPI" -log log.sequence -in in.sequence.python --- Run in plugin mode: 1 proc -% python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence" +% python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence".python --- Run in plugin mode: 3 procs -% mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence" +% mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence".python ------------------------------------------------- ------------------------------------------------- @@ -190,7 +306,7 @@ here: Run the entire calculation with a single instance of LAMMPS by itself results should be identical to running this example with MDI -% lmp_mpi < in.aimd.alone +% lmp_mpi -log log.aimd.alone < in.aimd.alone With MDI, the driver prints the QM and Total energies. These should match the PotEng and TotEng output of the in.aimd.alone script. diff --git a/examples/mdi/in.aimd.driver b/examples/mdi/in.aimd.driver index 5ee23ebe8d..b21826d831 100644 --- a/examples/mdi/in.aimd.driver +++ b/examples/mdi/in.aimd.driver @@ -23,8 +23,7 @@ fix 1 all nve # NPT #fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 -fix 2 all mdi/aimd -fix_modify 2 energy yes virial yes +fix 2 all mdi/qm virial yes thermo_style custom step temp pe etotal press vol thermo 1 diff --git a/examples/mdi/in.aimd.driver.plugin b/examples/mdi/in.aimd.driver.plugin index d8c7fdde62..97514cbcd2 100644 --- a/examples/mdi/in.aimd.driver.plugin +++ b/examples/mdi/in.aimd.driver.plugin @@ -23,12 +23,11 @@ fix 1 all nve # NPT #fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 -fix 2 all mdi/aimd -fix_modify 2 energy yes virial yes +fix 2 all mdi/qm virial yes thermo_style custom step temp pe etotal press vol thermo 1 -mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" & +mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" & infile in.aimd.engine extra "-log log.aimd.engine.plugin" & command "run 5" diff --git a/examples/mdi/in.aimd.engine b/examples/mdi/in.aimd.engine index 11d22c750e..f3293e048d 100644 --- a/examples/mdi/in.aimd.engine +++ b/examples/mdi/in.aimd.engine @@ -1,16 +1,11 @@ # 3d Lennard-Jones melt - MDI engine script -variable x index 5 -variable y index 5 -variable z index 5 - units lj atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z +lattice fcc 1.0 +region box block 0 1 0 1 0 1 create_box 1 box -create_atoms 1 box mass 1 1.0 pair_style lj/cut 2.5 diff --git a/examples/mdi/in.sequence b/examples/mdi/in.sequence.python similarity index 100% rename from examples/mdi/in.sequence rename to examples/mdi/in.sequence.python diff --git a/examples/mdi/in.series.alone b/examples/mdi/in.series.alone new file mode 100644 index 0000000000..d08b72d386 --- /dev/null +++ b/examples/mdi/in.series.alone @@ -0,0 +1,43 @@ +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable ifile loop 3 +variable rho index 0.7 0.8 0.9 + +label LOOP + + units lj + atom_style atomic + + lattice fcc ${rho} + region box block 0 $x 0 $y 0 $z + create_box 1 box + create_atoms 1 box + mass 1 1.0 + + displace_atoms all random 0.1 0.1 0.1 48294 + + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 2.5 + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + compute 1 all pressure NULL virial + + thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + + run 0 + + write_dump all custom dump.series.alone.${ifile} & + id type x y z fx fy fz modify sort id + + clear + +next ifile +next rho + +jump SELF LOOP diff --git a/examples/mdi/in.series.driver b/examples/mdi/in.series.driver new file mode 100644 index 0000000000..d8b4df1f8c --- /dev/null +++ b/examples/mdi/in.series.driver @@ -0,0 +1,48 @@ +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable ifile loop 3 +variable rho index 0.7 0.8 0.9 + +mdi start + +label LOOP + + units lj + atom_style atomic + + lattice fcc ${rho} + region box block 0 $x 0 $y 0 $z + create_box 1 box + create_atoms 1 box + mass 1 1.0 + + displace_atoms all random 0.1 0.1 0.1 48294 + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes external yes + variable epress equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_epress f_1[1] f_1[2] f_1[3] + + run 0 + + write_dump all custom dump.series.driver.${ifile} & + id type x y z f_1[1] f_1[2] f_1[3] modify sort id + + # cannot do "clear" b/c will shutdown MDI engine + # have to + + clear + +next ifile +next rho + +jump SELF LOOP + +mdi stop diff --git a/examples/mdi/in.series.driver.plugin b/examples/mdi/in.series.driver.plugin new file mode 100644 index 0000000000..4a4364c447 --- /dev/null +++ b/examples/mdi/in.series.driver.plugin @@ -0,0 +1,44 @@ +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable ifile loop 3 +variable rho index 0.7 0.8 0.9 + +label LOOP + + units lj + atom_style atomic + + lattice fcc ${rho} + region box block 0 $x 0 $y 0 $z + create_box 1 box + create_atoms 1 box + mass 1 1.0 + + displace_atoms all random 0.1 0.1 0.1 48294 + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable epress equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_epress f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" & + infile in.series.engine & + extra "-log log.series.engine.plugin" & + command "run 0" + + write_dump all custom dump.series.driver.${ifile} & + id type x y z f_1[1] f_1[2] f_1[3] modify sort id + + clear + +next ifile +next rho + +jump SELF LOOP diff --git a/examples/mdi/in.series.engine b/examples/mdi/in.series.engine new file mode 100644 index 0000000000..f3293e048d --- /dev/null +++ b/examples/mdi/in.series.engine @@ -0,0 +1,17 @@ +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +region box block 0 1 0 1 0 1 +create_box 1 box +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine diff --git a/examples/mdi/in.snapshot.alone b/examples/mdi/in.snapshot.alone new file mode 100644 index 0000000000..cf9683be3f --- /dev/null +++ b/examples/mdi/in.snapshot.alone @@ -0,0 +1,36 @@ +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +compute 1 all pressure NULL virial + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 500 dump.snapshot.alone & + id type x y z fx fy fz +dump_modify 1 sort id + +run 1500 diff --git a/examples/mdi/in.snapshot.driver b/examples/mdi/in.snapshot.driver new file mode 100644 index 0000000000..607a52a456 --- /dev/null +++ b/examples/mdi/in.snapshot.driver @@ -0,0 +1,41 @@ +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 500 virial yes + +compute 1 all pressure NULL virial +variable epress equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 500 dump.snapshot.driver & + id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +run 1500 pre no post no every 500 & + "print 'QM eng = $(f_2/atoms)'" & + "print 'QM virial = $(v_epress) $(f_2[1]) $(f_2[2]) $(f_2[3])'" diff --git a/examples/mdi/in.snapshot.driver.plugin b/examples/mdi/in.snapshot.driver.plugin new file mode 100644 index 0000000000..7592c5fb59 --- /dev/null +++ b/examples/mdi/in.snapshot.driver.plugin @@ -0,0 +1,46 @@ +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 500 virial yes + +compute 1 all pressure NULL virial +variable epress equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 500 dump.snapshot.driver & + id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" & + infile in.snapshot.engine & + extra "-log log.snapshot.engine.plugin" & + command """ + run 1500 pre no post no every 500 + "print 'QM eng = $(f_2/atoms)'" + "print 'QM virial = $(v_epress) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + """ diff --git a/examples/mdi/in.snapshot.engine b/examples/mdi/in.snapshot.engine new file mode 100644 index 0000000000..f3293e048d --- /dev/null +++ b/examples/mdi/in.snapshot.engine @@ -0,0 +1,17 @@ +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +region box block 0 1 0 1 0 1 +create_box 1 box +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine diff --git a/examples/mdi/sequence_driver.py b/examples/mdi/sequence_driver.py index f15b2d4921..b0b26f6d7f 100644 --- a/examples/mdi/sequence_driver.py +++ b/examples/mdi/sequence_driver.py @@ -303,5 +303,5 @@ if not plugin: if plugin: world = MPI.COMM_WORLD - plugin_args += " -mdi \"-role ENGINE -name lammps -method LINK\"" + plugin_args += " -mdi \"-role ENGINE -name LMP -method LINK\"" mdi.MDI_Launch_plugin(plugin,plugin_args,world,perform_tasks,None) diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 7ef03f0e7a..9a6e415a8c 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -48,19 +48,20 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) virialflag = 0; addflag = 1; every = 1; + extflag = 0; int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"virial") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); - if (strcmp(arg[iarg],"yes") == 0) virialflag = 1; - else if (strcmp(arg[iarg],"no") == 0) virialflag = 0; + if (strcmp(arg[iarg+1],"yes") == 0) virialflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) virialflag = 0; else error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; } else if (strcmp(arg[iarg],"add") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); - if (strcmp(arg[iarg],"yes") == 0) addflag = 1; - else if (strcmp(arg[iarg],"no") == 0) addflag = 0; + if (strcmp(arg[iarg+1],"yes") == 0) addflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) addflag = 0; else error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; } else if (strcmp(arg[iarg],"every") == 0) { @@ -68,6 +69,12 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (every <= 0) error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; + } else if (strcmp(arg[iarg],"external") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); + if (strcmp(arg[iarg+1],"yes") == 0) extflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) extflag = 0; + else error->all(FLERR,"Illegal fix mdi/qm command"); + iarg += 2; } else error->all(FLERR,"Illegal fix mdi/qm command"); } @@ -77,10 +84,14 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) global_freq = every; extscalar = 1; + peratom_flag = 1; + size_peratom_cols = 3; + peratom_freq = every; + extvector = 0; + if (virialflag) { vector_flag = 1; size_vector = 6; - extvector = 1; } if (addflag) { @@ -135,7 +146,7 @@ FixMDIQM::~FixMDIQM() // send exit command to engine if it is a stand-alone code // for plugin, this happens in MDIPlugin::plugin_wrapper() - if (!plugin) { + if (!plugin && !extflag) { int ierr = MDI_Send_command("EXIT", mdicomm); if (ierr) error->all(FLERR, "MDI: EXIT command"); } @@ -169,6 +180,8 @@ void FixMDIQM::init() // also initializes mdicomm // set plugin = 0/1 for engine = stand-alone code vs plugin library + if (!extflag) { + if (mdicomm == MDI_COMM_NULL) { MDI_Get_communicator(&mdicomm, 0); if (mdicomm == MDI_COMM_NULL) { @@ -185,16 +198,23 @@ void FixMDIQM::init() } } + } else { + plugin = 0; + mdicomm = lmp->mdicomm; + } + // send natoms, atom types, and simulation box to engine // this will trigger setup of a new system // subsequent calls in post_force() will be for same system until new init() + reallocate(); + int ierr = MDI_Send_command(">NATOMS", mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS command"); int n = static_cast (atom->natoms); ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - + send_types(); send_box(); } @@ -293,31 +313,25 @@ void FixMDIQM::post_force(int vflag) } // optionally request pressure tensor from MDI engine, convert to virial - // divide by nprocs so each proc stores a portion - // MPI_Allreduce is performed in compute_vector() // qm_virial = fix output for global QM virial if (virialflag) { - double ptensor[6]; ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: xprd * domain->yprd * domain->zprd; - for (int i = 0; i < 6; i++) { - ptensor[i] *= mdi2lmp_pressure; - qm_virial[i] = ptensor[i] * volume / force->nktv2p / nprocs; - } - sumflag = 0; + for (int i = 0; i < 6; i++) + qm_virial[i] *= mdi2lmp_pressure; } // optionally set fix->virial + // divide by nprocs so each proc stores a portion if (virialflag && addflag) { for (int i = 0; i < 6; i++) - virial[i] = qm_virial[i]; + virial[i] = qm_virial[i]/nprocs; } } @@ -343,14 +357,7 @@ double FixMDIQM::compute_scalar() double FixMDIQM::compute_vector(int n) { - // only sum across procs one time - - if (sumflag == 0) { - MPI_Allreduce(qm_virial, qm_virial_all, 6, MPI_DOUBLE, MPI_SUM, world); - sumflag = 1; - } - - return qm_virial_all[n]; + return qm_virial[n]; } /* ---------------------------------------------------------------------- @@ -388,7 +395,8 @@ void FixMDIQM::reallocate() void FixMDIQM::send_types() { - memset(ibuf1, 0, atom->natoms * sizeof(int)); + int n = static_cast (atom->natoms); + memset(ibuf1, 0, n * sizeof(int)); // use local atomID to index into ordered ibuf1 @@ -402,10 +410,11 @@ void FixMDIQM::send_types() ibuf1[index] = type[i]; } - int n = static_cast (atom->natoms); MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); - int ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + int ierr = MDI_Send_command(">TYPES", mdicomm); + if (ierr) error->all(FLERR, "MDI: >TYPES command"); + ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >TYPES data"); } diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 95b4bcbe6d..b805f7e3d2 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -40,7 +40,7 @@ class FixMDIQM : public Fix { private: int nprocs; - int virialflag,addflag,every; + int virialflag,addflag,extflag,every; int plugin; int maxlocal; int sumflag; diff --git a/src/MDI/mdi_command.cpp b/src/MDI/mdi_command.cpp index 65e47e197a..9fdc1f8a04 100644 --- a/src/MDI/mdi_command.cpp +++ b/src/MDI/mdi_command.cpp @@ -31,8 +31,26 @@ void MDICommand::command(int narg, char **arg) if (strcmp(arg[0], "engine") == 0) { MDIEngine(lmp, narg - 1, &arg[1]); + } else if (strcmp(arg[0], "plugin") == 0) { MDIPlugin(lmp, narg - 1, &arg[1]); - } else - error->all(FLERR, "Illegal mdi command"); + + } else if (strcmp(arg[0], "start") == 0) { + MDI_Comm mdicomm; + MDI_Get_communicator(&mdicomm, 0); + if (mdicomm == MDI_COMM_NULL) { + MDI_Accept_communicator(&mdicomm); + if (mdicomm == MDI_COMM_NULL) + error->all(FLERR, "MDI unable to connect to stand-alone engine"); + } else error->all(FLERR, "Cannot use mdi start in plugin mode"); + lmp->mdicomm = mdicomm; + + } else if (strcmp(arg[0], "stop") == 0) { + + MDI_Comm mdicomm = lmp->mdicomm; + int ierr = MDI_Send_command("EXIT", mdicomm); + if (ierr) error->all(FLERR, "MDI: EXIT command"); + lmp->mdicomm = MDI_COMM_NULL; + + } else error->all(FLERR, "Illegal mdi command"); } diff --git a/src/lammps.cpp b/src/lammps.cpp index c74983be43..d4c7288451 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -129,9 +129,8 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : version = (const char *) LAMMPS_VERSION; num_ver = utils::date2num(version); - clientserver = 0; - cslib = nullptr; - cscomm = 0; + external_comm = 0; + mdicomm = 0; skiprunflag = 0; @@ -155,19 +154,16 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : #endif // check if -mpicolor is first arg - // if so, then 2 apps were launched with one mpirun command + // if so, then 2 or more apps were launched with one mpirun command // this means passed communicator (e.g. MPI_COMM_WORLD) is bigger than LAMMPS - // e.g. for client/server coupling with another code - // in the future LAMMPS might leverage this in other ways // universe communicator needs to shrink to be just LAMMPS // syntax: -mpicolor color - // color = integer for this app, different than other app(s) + // color = integer for this app, different than any other app(s) // do the following: // perform an MPI_Comm_split() to create a new LAMMPS-only subcomm - // NOTE: this assumes other app(s) does same thing, else will hang! + // NOTE: this assumes other app(s) make same call, else will hang! // re-create universe with subcomm - // store full multi-app comm in cscomm - // cscomm is used by CSLIB package to exchange messages w/ other app + // store comm that all apps belong to in external_comm int iarg = 1; if (narg-iarg >= 2 && (strcmp(arg[iarg],"-mpicolor") == 0 || @@ -178,7 +174,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : int color = atoi(arg[iarg+1]); MPI_Comm subcomm; MPI_Comm_split(communicator,color,me,&subcomm); - cscomm = communicator; + external_comm = communicator; communicator = subcomm; delete universe; universe = new Universe(this,communicator); @@ -290,7 +286,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : logflag = iarg + 1; iarg += 2; - } else if (strcmp(arg[iarg],"-mpi") == 0 || + } else if (strcmp(arg[iarg],"-mpicolor") == 0 || strcmp(arg[iarg],"-m") == 0) { if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); @@ -762,13 +758,13 @@ LAMMPS::~LAMMPS() delete [] suffix2; delete [] suffixp; - // free the MPI comm created by -mpi command-line arg processed in constructor + // free the MPI comm created by -mpicolor cmdline arg processed in constructor // it was passed to universe as if original universe world // may have been split later by partitions, universe will free the splits // free a copy of uorig here, so check in universe destructor will still work MPI_Comm copy = universe->uorig; - if (cscomm) MPI_Comm_free(©); + if (external_comm) MPI_Comm_free(©); delete input; delete universe; diff --git a/src/lammps.h b/src/lammps.h index 4f3e9cf110..04ab9a9673 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -61,13 +61,15 @@ class LAMMPS { char *suffix, *suffix2, *suffixp; // suffixes to add to input script style names int suffix_enable; // 1 if suffixes are enabled, 0 if disabled char *exename; // pointer to argv[0] - // + char ***packargs; // arguments for cmdline package commands int num_package; // number of cmdline package commands - // - int clientserver; // 0 = neither, 1 = client, 2 = server - void *cslib; // client/server messaging via CSlib - MPI_Comm cscomm; // MPI comm for client+server in mpi/one mode + + MPI_Comm external_comm; // MPI comm encompassing external programs + // when multiple programs launched by mpirun + // set by -mpicolor command line arg + + int mdicomm; // for use with MDI code coupling library const char *match_style(const char *style, const char *name); static const char *installed_packages[]; From 12d6983c9b8102216a829c207ef9b025a5c6eb4c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 15 Jun 2022 17:08:54 -0600 Subject: [PATCH 069/153] more example bug fixes --- examples/mdi/README | 288 +++--------------- examples/mdi/Run.sh | 256 ++++++++++++++++ examples/mdi/in.sequence.python | 1 + examples/mdi/in.series.alone | 6 +- examples/mdi/in.series.driver | 15 +- examples/mdi/in.series.driver.plugin | 6 +- examples/mdi/in.snapshot.driver.plugin | 2 +- examples/mdi/log.7Apr22.mdi.aimd.alone.g++.1 | 90 ------ .../mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.1 | 79 ----- .../mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.3 | 79 ----- .../log.7Apr22.mdi.aimd.driver.plugin.g++.1 | 80 ----- .../log.7Apr22.mdi.aimd.driver.plugin.g++.3 | 80 ----- .../mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.1 | 79 ----- .../mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.3 | 79 ----- .../mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.1 | 55 ---- .../mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.4 | 55 ---- .../log.7Apr22.mdi.aimd.engine.plugin.g++.1 | 55 ---- .../log.7Apr22.mdi.aimd.engine.plugin.g++.3 | 55 ---- .../mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.1 | 55 ---- .../mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.4 | 55 ---- .../log.7Apr22.mdi.aimdpy.driver.mpi.g++.1 | 5 - .../log.7Apr22.mdi.aimdpy.driver.mpi.g++.2 | 5 - .../log.7Apr22.mdi.aimdpy.driver.tcp.g++.1 | 6 - .../log.7Apr22.mdi.aimdpy.driver.tcp.g++.2 | 6 - .../mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.1 | 44 --- .../mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.2 | 44 --- .../mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.1 | 44 --- .../mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.2 | 44 --- .../mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.1 | 55 ---- .../mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.3 | 55 ---- .../mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.1 | 55 ---- .../mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.3 | 55 ---- .../log.7Apr22.mdi.sequence.driver.mpi.g++.1 | 3 - .../log.7Apr22.mdi.sequence.driver.mpi.g++.2 | 3 - ...og.7Apr22.mdi.sequence.driver.plugin.g++.1 | 3 - ...og.7Apr22.mdi.sequence.driver.plugin.g++.3 | 3 - .../log.7Apr22.mdi.sequence.driver.tcp.g++.1 | 3 - .../log.7Apr22.mdi.sequence.driver.tcp.g++.2 | 3 - .../log.7Apr22.mdi.sequence.engine.mpi.g++.1 | 89 ------ .../log.7Apr22.mdi.sequence.engine.mpi.g++.4 | 89 ------ ...og.7Apr22.mdi.sequence.engine.plugin.g++.1 | 89 ------ ...og.7Apr22.mdi.sequence.engine.plugin.g++.3 | 89 ------ .../log.7Apr22.mdi.sequence.engine.tcp.g++.1 | 89 ------ .../log.7Apr22.mdi.sequence.engine.tcp.g++.4 | 89 ------ src/MDI/fix_mdi_qm.cpp | 79 +++-- src/MDI/fix_mdi_qm.h | 2 +- src/MDI/mdi_command.cpp | 39 ++- src/lammps.cpp | 2 +- src/lammps.h | 2 +- 49 files changed, 389 insertions(+), 2175 deletions(-) create mode 100644 examples/mdi/Run.sh delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.alone.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.4 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.4 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.2 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.2 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.2 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.2 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.2 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.2 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.4 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.3 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.1 delete mode 100644 examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.4 diff --git a/examples/mdi/README b/examples/mdi/README index 9298e9c59c..9380e2e79a 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -21,9 +21,9 @@ a driver and couple to an engine that is either a stand-alone code or a plugin. Examples for all these use cases are in this directory. The example commands below illustrate how to run all the variants. -To use LAMMPS as a plugin engine, you must build it as a shared library. -Something like this, which also builds the normal LAMMPS executable -lmp_mpi: +To use LAMMPS as a plugin engine, you must build it as a shared +library. Something like this with make, which also builds the normal +LAMMPS executable lmp_mpi: cd src make yes-mdi @@ -33,189 +33,59 @@ To use the serial_driver.py example you will need Python 3 with Numpy and mpi4py available in your Python. Make sure LAMMPS and Python are using same the same version of MPI. +5 use-case examples are explained below. + +See the Run.sh file for commands to run each of the examples +in all the different modes. + +In the first 3 examples, results running with MDI should be identical +to running without MDI (alone log files). Example #4 has no non-MDI +run. Example #5 results should match the non-MDI run of example #1. + ------------------------------------------------- ------------------------------------------------- -* Example #1 = run ab inito MD (AIMD) - Two instances of LAMMPS operate as a driver and engine - As an engine, LAMMPS is a surrogate for a quantum code +* Example #1 = run ab initio MD (AIMD) + +See the log aimd files. + +Two instances of LAMMPS operate as a driver and engine. As an engine, +LAMMPS is a surrogate for a quantum code. Note that the 2 input scripts in.aimd.alone and in.aimd.driver have an option for running in NVE vs NPT mode. Comment in/out the appropriate line to change modes. Nothing needs to be changed in the in.aimd.engine or in.aimd.engine.plugin scripts. ---- +------------------------------------------------- +------------------------------------------------- -Run the entire calculation with a single instance of LAMMPS by itself - results should be identical to running this example with MDI +* Example #2 = run LAMMPS, compute QM forces on snapshots from a long run -% lmp_mpi -log log.aimd.alone < in.aimd.alone +See the log snapshot and dump snapshot files. -With MDI, the thermo output of the driver should match the thermo -output of the in.aimd.alone script. - ---- - -Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp -in in.aimd.driver - -% lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp -in in.aimd.engine - ---- - -Run with TCP: 3 procs + 4 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp -in in.aimd.driver - -% mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp -in in.aimd.engine - ---- - -Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi -in in.aimd.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi -in in.aimd.engine - ---- - -Run with MPI: 3 procs + 4 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi -in in.aimd.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi -in in.aimd.engine - ---- - -Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin - ---- - -Run in plugin mode: 3 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin +Two instances of LAMMPS operate as a driver and engine. As an engine, +LAMMPS is a surrogate for a quantum code ------------------------------------------------- ------------------------------------------------- -* Example #1b = run LAMMPS, compute QM forces on snapshots from a long run - Two instances of LAMMPS operate as a driver and engine - As an engine, LAMMPS is a surrogate for a quantum code +* Example #3 = run LAMMPS, compute QM forces on series of independent systems ---- +files See the log series and dump series files. -Run the entire calculation with a single instance of LAMMPS by itself - results should be identical to running this example with MDI - -% lmp_mpi -log log.snapshot.alone < in.snapshot.alone - -With MDI, the thermo output of the driver should match the thermo -output of the in.snapshot.alone script. Likewise the dump file written -by the driver should match dump.snapshot.alone. - ---- - -Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp -in in.snapshot.driver - -% lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp -in in.snapshot.engine - ---- - -Run with TCP: 3 procs + 4 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp -in in.snapshot.driver - -% mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp -in in.snapshot.engine - ---- - -Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi -in in.snapshot.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi -in in.snapshot.engine - ---- - -Run with MPI: 3 procs + 4 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi -in in.snapshot.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi -in in.snapshot.engine - ---- - -Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin -in in.snapshot.driver.plugin - ---- - -Run in plugin mode: 3 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin -in in.snapshot.driver.plugin +Two instances of LAMMPS operate as a driver and engine. As an engine, +LAMMPS is a surrogate for a quantum code ------------------------------------------------- ------------------------------------------------- -* Example #1c = run LAMMPS, compute QM forces on series of independent systems - Two instances of LAMMPS operate as a driver and engine - As an engine, LAMMPS is a surrogate for a quantum code +* Example #4 = Python driver runs a sequence of unrelated LAMMPS calculations ---- +See the log sequence files. -Run the entire calculation with a single instance of LAMMPS by itself - results should be identical to running this example with MDI - -% lmp_mpi -log log.series.alone < in.series.alone - -With MDI, the thermo output of the driver should match the thermo -output of the in.series.alone script. Likewise the dump files written -by the driver should match dump.series.alone files. - ---- - -Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp -in in.series.driver - -% lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp -in in.series.engine - ---- - -Run with TCP: 3 procs + 4 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp -in in.series.driver - -% mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp -in in.series.engine - ---- - -Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi -in in.series.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi -in in.series.engine - ---- - -Run with MPI: 3 procs + 4 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi -in in.series.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi -in in.series.engine - ---- - -Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin -in in.series.driver.plugin - ---- - -Run in plugin mode: 3 procs - -% mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin -in in.series.driver.plugin - -------------------------------------------------- -------------------------------------------------- - -* Example #2 = Python driver runs a sequence of unrelated LAMMPS calculations - Each calculation can be a single-point evaluation, MD run, or minimization +Each calculation can be a single-point evaluation, MD run, or +minimization The sequence_driver.py code allows for optional switches in addition to -mdi (required) and the -plugin and -plugin_args switches which are @@ -244,101 +114,21 @@ copied here: # -seed 12345 # random number seed > 0, default = 12345 ---- - -Run with TCP: 1 proc each - -% python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" - -% lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence.python - ---- - -Run with TCP: 2 proc + 4 procs - -% mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" - -% mpirun -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence.python - ---- - -Run with MPI: 1 proc each - -% mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence -in in.sequence.python - ---- - -Run with MPI: 2 procs + 4 procs - -% mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method MPI" -log log.sequence -in in.sequence.python - ---- - -Run in plugin mode: 1 proc - -% python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence".python - ---- - -Run in plugin mode: 3 procs - -% mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence".python - ------------------------------------------------- ------------------------------------------------- -* Example #3 = run AIMD with Python driver code and 2 LAMMPS instances as engines - First LAMMPS instance performs the MD timestepping - Second LAMMPS instance is surrogate QM = computes forces +* Example #5 = run AIMD with Python driver code and 2 LAMMPS instances as engines + +See the log aimdpy files. + +First LAMMPS instance performs the MD timestepping. Second LAMMPS +instance is surrogate QM to compute forces. The aimd_driver.py code allows for an optional switch in addition to -mdi (required) and the -plugin and -plugin_args swiches which are used to link to the 2 engines as a plugin libraries. The example run commands below use the default values of the optional switch. The -switch is also explained the top of the file; the info is copied -here: +switch is also explained the top of the file; the info is copied here: # -nsteps 5 # number of timesteps in dynamics runs, default = 5 - ---- - -Run the entire calculation with a single instance of LAMMPS by itself - results should be identical to running this example with MDI - -% lmp_mpi -log log.aimd.alone < in.aimd.alone - -With MDI, the driver prints the QM and Total energies. These should -match the PotEng and TotEng output of the in.aimd.alone script. - ---- - -Run with TCP: 1 proc each - -% python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021" - -% lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimd.mm -in in.aimd.mm - -% lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimd.qm -in in.aimd.qm - ---- - -Run with TCP: 2 procs + 2 procs + 3 procs - -% mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021" - -% mpirun -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimd.mm -in in.aimd.mm - -% mpirun -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimd.qm -in in.aimd.qm - ---- - -Run with MPI: 1 proc each - -% mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm -in in.aimd.mm : -np 1 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm -in in.aimd.qm - ---- - -Run with MPI: 2 procs + 2 procs + 3 procs - -% mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm -in in.aimd.mm : -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm -in in.aimd.qm diff --git a/examples/mdi/Run.sh b/examples/mdi/Run.sh new file mode 100644 index 0000000000..55c5638841 --- /dev/null +++ b/examples/mdi/Run.sh @@ -0,0 +1,256 @@ +# Run all the examples + +# ------------------------------------------------- +# ------------------------------------------------- + +# Example 1 + +# --- + +# Run without MDI + +lmp_mpi -log log.aimd.alone.1 < in.aimd.alone + +# --- + +# Run with TCP: 1 proc each + +lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp.1 -in in.aimd.driver & + +lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp.1 -in in.aimd.engine + +# --- + +# Run with TCP: 3 procs + 4 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp.3 -in in.aimd.driver & + +mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp.4 -in in.aimd.engine + +# --- + +# Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi.1 -in in.aimd.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi.1 -in in.aimd.engine + +# --- + +# Run with MPI: 3 procs + 4 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi.3 -in in.aimd.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi.4 -in in.aimd.engine + +# --- + +# Run in plugin mode: 1 proc + +lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin.1 -in in.aimd.driver.plugin +mv log.aimd.engine.plugin log.aimd.engine.plugin.1 + +# --- + +# Run in plugin mode: 3 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin.3 -in in.aimd.driver.plugin +mv log.aimd.engine.plugin log.aimd.engine.plugin.3 + +# ------------------------------------------------- +# ------------------------------------------------- + +# Example 2 + +# --- + +# Run without MDI + +lmp_mpi -log log.snapshot.alone.1 < in.snapshot.alone +mv dump.snapshot.alone dump.snapshot.alone.1 + +# --- + +# Run with TCP: 1 proc each + +lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.1 -in in.snapshot.driver & + +lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.1 -in in.snapshot.engine +mv dump.snapshot.driver dump.snapshot.driver.tcp.1 + +# --- + +# Run with TCP: 3 procs + 4 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.3 -in in.snapshot.driver & + +mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.4 -in in.snapshot.engine +mv dump.snapshot.driver dump.snapshot.driver.tcp.3 + +# --- + +# Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.1 -in in.snapshot.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.1 -in in.snapshot.engine +mv dump.snapshot.driver dump.snapshot.driver.mpi.1 + +# --- + +# Run with MPI: 3 procs + 4 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.3 -in in.snapshot.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.3 -in in.snapshot.engine +mv dump.snapshot.driver dump.snapshot.driver.mpi.3 + +# --- + +# Run in plugin mode: 1 proc + +lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin.1 -in in.snapshot.driver.plugin +mv log.snapshot.engine.plugin log.snapshot.engine.plugin.1 +mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.1 + +# --- + +# Run in plugin mode: 3 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin.3 -in in.snapshot.driver.plugin +mv log.snapshot.engine.plugin log.snapshot.engine.plugin.3 +mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.3 + +# ------------------------------------------------- +# ------------------------------------------------- + +# Example 3 + +# --- + +# Run without MDI + +lmp_mpi -log log.series.alone.1 < in.series.alone +mv dump.series.alone dump.series.alone.1 + +# --- + +# Run with TCP: 1 proc each + +lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.1 -in in.series.driver & + +lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.1 -in in.series.engine +mv dump.series.driver dump.series.driver.tcp.1 + +# --- + +# Run with TCP: 3 procs + 4 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.3 -in in.series.driver & + +mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.4 -in in.series.engine +mv dump.series.driver dump.series.driver.tcp.3 + +# --- + +# Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.1 -in in.series.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.1 -in in.series.engine +mv dump.series.driver dump.series.driver.mpi.1 + +# --- + +# Run with MPI: 3 procs + 4 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.3 -in in.series.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.4 -in in.series.engine +mv dump.series.driver dump.series.driver.mpi.3 + +# --- + +# Run in plugin mode: 1 proc + +lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin.1 -in in.series.driver.plugin +mv log.series.engine.plugin log.series.engine.plugin.1 +mv dump.series.driver.plugin dump.series.driver.plugin.1 + +# --- + +# Run in plugin mode: 3 procs + +mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin.3 -in in.series.driver.plugin +mv log.series.engine.plugin log.series.engine.plugin.3 +mv dump.series.driver.plugin dump.series.driver.plugin.3 + +# ------------------------------------------------- +# ------------------------------------------------- + +# Example 4 + +# --- + +# Run with TCP: 1 proc each + +python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" & + +lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence.engine.tcp.1 -in in.sequence.python + +# --- + +# Run with TCP: 2 proc + 4 procs + +mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" & + +mpirun -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence.engine.tcp.4 -in in.sequence.python + +# --- + +# Run with MPI: 1 proc each + +mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence.engine.mpi.1 -in in.sequence.python + +# --- + +# Run with MPI: 2 procs + 4 procs + +mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method MPI" -log log.sequence.engine.mpi.4 -in in.sequence.python + +# --- + +# Run in plugin mode: 1 proc + +python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence.engine.plugin.1 -in in.sequence".python + +# --- + +# Run in plugin mode: 3 procs + +mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence.engine.plugin.3 -in in.sequence".python + +# ------------------------------------------------- +# ------------------------------------------------- + +# Example 5 + +# --- + +# Run with TCP: 1 proc each + +python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021" & + +lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.1 -in in.aimd.mm & + +lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.1 -in in.aimd.qm + +# --- + +# Run with TCP: 2 procs + 2 procs + 3 procs + +mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021" & + +mpirun -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimd.mm.tcp.2 -in in.aimd.mm & + +mpirun -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimd.qm.tcp.3 -in in.aimd.qm + +# --- + +# Run with MPI: 1 proc each + +mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm.mpi.1 -in in.aimd.mm : -np 1 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm.qm.1 -in in.aimd.qm + +# --- + +# Run with MPI: 2 procs + 2 procs + 3 procs + +mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm.mpi.2 -in in.aimd.mm : -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm.mpi.3 -in in.aimd.qm diff --git a/examples/mdi/in.sequence.python b/examples/mdi/in.sequence.python index c094326ae7..6f28922a66 100644 --- a/examples/mdi/in.sequence.python +++ b/examples/mdi/in.sequence.python @@ -19,3 +19,4 @@ fix 1 all nve thermo 10 mdi engine + diff --git a/examples/mdi/in.series.alone b/examples/mdi/in.series.alone index d08b72d386..f359581c50 100644 --- a/examples/mdi/in.series.alone +++ b/examples/mdi/in.series.alone @@ -4,7 +4,6 @@ variable x index 5 variable y index 5 variable z index 5 -variable ifile loop 3 variable rho index 0.7 0.8 0.9 label LOOP @@ -32,12 +31,11 @@ label LOOP run 0 - write_dump all custom dump.series.alone.${ifile} & - id type x y z fx fy fz modify sort id + write_dump all custom dump.series.alone & + id type x y z fx fy fz modify sort id append yes clear -next ifile next rho jump SELF LOOP diff --git a/examples/mdi/in.series.driver b/examples/mdi/in.series.driver index d8b4df1f8c..4089dd66ec 100644 --- a/examples/mdi/in.series.driver +++ b/examples/mdi/in.series.driver @@ -4,10 +4,9 @@ variable x index 5 variable y index 5 variable z index 5 -variable ifile loop 3 variable rho index 0.7 0.8 0.9 -mdi start +mdi connect label LOOP @@ -25,24 +24,20 @@ label LOOP neighbor 0.3 bin neigh_modify delay 0 every 1 check yes - fix 1 all mdi/qm add no virial yes external yes + fix 1 all mdi/qm add no virial yes connect no variable epress equal (f_1[1]+f_1[2]+f_1[3])/3 thermo_style custom step temp f_1 v_epress f_1[1] f_1[2] f_1[3] run 0 - write_dump all custom dump.series.driver.${ifile} & - id type x y z f_1[1] f_1[2] f_1[3] modify sort id + write_dump all custom dump.series.driver & + id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes - # cannot do "clear" b/c will shutdown MDI engine - # have to - clear -next ifile next rho jump SELF LOOP -mdi stop +mdi exit diff --git a/examples/mdi/in.series.driver.plugin b/examples/mdi/in.series.driver.plugin index 4a4364c447..8096b56886 100644 --- a/examples/mdi/in.series.driver.plugin +++ b/examples/mdi/in.series.driver.plugin @@ -4,7 +4,6 @@ variable x index 5 variable y index 5 variable z index 5 -variable ifile loop 3 variable rho index 0.7 0.8 0.9 label LOOP @@ -33,12 +32,11 @@ label LOOP extra "-log log.series.engine.plugin" & command "run 0" - write_dump all custom dump.series.driver.${ifile} & - id type x y z f_1[1] f_1[2] f_1[3] modify sort id + write_dump all custom dump.series.driver.plugin & + id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes clear -next ifile next rho jump SELF LOOP diff --git a/examples/mdi/in.snapshot.driver.plugin b/examples/mdi/in.snapshot.driver.plugin index 7592c5fb59..2fdca3f6cd 100644 --- a/examples/mdi/in.snapshot.driver.plugin +++ b/examples/mdi/in.snapshot.driver.plugin @@ -32,7 +32,7 @@ thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] thermo 100 -dump 1 all custom 500 dump.snapshot.driver & +dump 1 all custom 500 dump.snapshot.driver.plugin & id type x y z f_2[1] f_2[2] f_2[3] dump_modify 1 sort id diff --git a/examples/mdi/log.7Apr22.mdi.aimd.alone.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.alone.g++.1 deleted file mode 100644 index 5fa3743530..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.alone.g++.1 +++ /dev/null @@ -1,90 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -thermo_style custom step temp pe etotal press vol -thermo 1 - -run 5 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 0.00427098 on 1 procs for 5 steps with 500 atoms - -Performance: 505739.085 tau/day, 1170.692 timesteps/s -73.9% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0038665 | 0.0038665 | 0.0038665 | 0.0 | 90.53 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0001297 | 0.0001297 | 0.0001297 | 0.0 | 3.04 -Output | 0.00014902 | 0.00014902 | 0.00014902 | 0.0 | 3.49 -Modify | 6.5249e-05 | 6.5249e-05 | 6.5249e-05 | 0.0 | 1.53 -Other | | 6.054e-05 | | | 1.42 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1956 ave 1956 max 1956 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19500 ave 19500 max 19500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19500 -Ave neighs/atom = 39 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.1 deleted file mode 100644 index d817aed5a3..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.1 +++ /dev/null @@ -1,79 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/aimd -fix_modify 2 energy yes virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -run 5 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 0.0029525 on 1 procs for 5 steps with 500 atoms - -Performance: 731582.413 tau/day, 1693.478 timesteps/s -99.3% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.2632e-05 | 1.2632e-05 | 1.2632e-05 | 0.0 | 0.43 -Output | 0.00010561 | 0.00010561 | 0.00010561 | 0.0 | 3.58 -Modify | 0.0028043 | 0.0028043 | 0.0028043 | 0.0 | 94.98 -Other | | 3e-05 | | | 1.02 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 166 ave 166 max 166 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = -1 -Ave neighs/atom = -0.002 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.3 b/examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.3 deleted file mode 100644 index eaf806cfc9..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.driver.mpi.g++.3 +++ /dev/null @@ -1,79 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 3 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/aimd -fix_modify 2 energy yes virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -run 5 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 0.00315597 on 3 procs for 5 steps with 500 atoms - -Performance: 684416.574 tau/day, 1584.298 timesteps/s -99.5% CPU use with 3 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.769e-05 | 3.7059e-05 | 4.7808e-05 | 0.0 | 1.17 -Output | 0.00011556 | 0.00015516 | 0.00021954 | 0.0 | 4.92 -Modify | 0.002819 | 0.0028366 | 0.0028599 | 0.0 | 89.88 -Other | | 0.0001272 | | | 4.03 - -Nlocal: 166.667 ave 200 max 150 min -Histogram: 2 0 0 0 0 0 0 0 0 1 -Nghost: 55.3333 ave 92 max 32 min -Histogram: 1 1 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = -3 -Ave neighs/atom = -0.006 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.1 deleted file mode 100644 index dea662c157..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.1 +++ /dev/null @@ -1,80 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/aimd plugin -fix_modify 2 energy yes virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" infile in.aimd.engine extra "-log log.aimd.engine.plugin" command "run 5" -run 5 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 0.00396559 on 1 procs for 5 steps with 500 atoms - -Performance: 544685.246 tau/day, 1260.845 timesteps/s -98.3% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.5936e-05 | 1.5936e-05 | 1.5936e-05 | 0.0 | 0.40 -Output | 0.00011527 | 0.00011527 | 0.00011527 | 0.0 | 2.91 -Modify | 0.0038025 | 0.0038025 | 0.0038025 | 0.0 | 95.89 -Other | | 3.184e-05 | | | 0.80 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 166 ave 166 max 166 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = -1 -Ave neighs/atom = -0.002 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.3 b/examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.3 deleted file mode 100644 index ff9e2dd8f5..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.driver.plugin.g++.3 +++ /dev/null @@ -1,80 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 3 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/aimd plugin -fix_modify 2 energy yes virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" infile in.aimd.engine extra "-log log.aimd.engine.plugin" command "run 5" -run 5 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 0.00287217 on 3 procs for 5 steps with 500 atoms - -Performance: 752045.581 tau/day, 1740.846 timesteps/s -99.1% CPU use with 3 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.6368e-05 | 3.9139e-05 | 5.1029e-05 | 0.0 | 1.36 -Output | 9.6932e-05 | 0.00012081 | 0.00016442 | 0.0 | 4.21 -Modify | 0.0026109 | 0.0026258 | 0.0026494 | 0.0 | 91.42 -Other | | 8.637e-05 | | | 3.01 - -Nlocal: 166.667 ave 200 max 150 min -Histogram: 2 0 0 0 0 0 0 0 0 1 -Nghost: 55.3333 ave 92 max 32 min -Histogram: 1 1 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = -3 -Ave neighs/atom = -0.006 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.1 deleted file mode 100644 index 1ff358e269..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.1 +++ /dev/null @@ -1,79 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/aimd -fix_modify 2 energy yes virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -run 5 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 1.20486 on 1 procs for 5 steps with 500 atoms - -Performance: 1792.736 tau/day, 4.150 timesteps/s -0.1% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.4487e-05 | 2.4487e-05 | 2.4487e-05 | 0.0 | 0.00 -Output | 0.00026499 | 0.00026499 | 0.00026499 | 0.0 | 0.02 -Modify | 1.2045 | 1.2045 | 1.2045 | 0.0 | 99.97 -Other | | 6.184e-05 | | | 0.01 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 166 ave 166 max 166 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = -1 -Ave neighs/atom = -0.002 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:08 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.3 b/examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.3 deleted file mode 100644 index 6abf6b3928..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.driver.tcp.g++.3 +++ /dev/null @@ -1,79 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI driver script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 3 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/aimd -fix_modify 2 energy yes virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -run 5 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp PotEng TotEng Press Volume - 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 - 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 - 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 - 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 - 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 - 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 -Loop time of 1.19983 on 3 procs for 5 steps with 500 atoms - -Performance: 1800.259 tau/day, 4.167 timesteps/s -66.7% CPU use with 3 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 4.604e-06 | 4.8462e-05 | 7.527e-05 | 0.0 | 0.00 -Output | 0.00015266 | 0.00020593 | 0.00031177 | 0.0 | 0.02 -Modify | 1.1993 | 1.1994 | 1.1994 | 0.0 | 99.96 -Other | | 0.0002123 | | | 0.02 - -Nlocal: 166.667 ave 200 max 150 min -Histogram: 2 0 0 0 0 0 0 0 0 1 -Nghost: 55.3333 ave 92 max 32 min -Histogram: 1 1 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = -3 -Ave neighs/atom = -0.006 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:08 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.1 deleted file mode 100644 index 615dae0578..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.1 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI engine script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.4 b/examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.4 deleted file mode 100644 index 88d5c66892..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.engine.mpi.g++.4 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI engine script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.1 deleted file mode 100644 index 615dae0578..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.1 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI engine script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.3 b/examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.3 deleted file mode 100644 index fb8034972f..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.engine.plugin.g++.3 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI engine script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 3 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.1 deleted file mode 100644 index 72becb2bba..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.1 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI engine script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:01 diff --git a/examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.4 b/examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.4 deleted file mode 100644 index 3154bd0b27..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimd.engine.tcp.g++.4 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - MDI engine script - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:01 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.1 deleted file mode 100644 index 741e8a1dfe..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.1 +++ /dev/null @@ -1,5 +0,0 @@ -Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 -Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 -Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 -Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 -Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.2 b/examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.2 deleted file mode 100644 index 741e8a1dfe..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.mpi.g++.2 +++ /dev/null @@ -1,5 +0,0 @@ -Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 -Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 -Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 -Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 -Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.1 deleted file mode 100644 index 2205a0f051..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.1 +++ /dev/null @@ -1,6 +0,0 @@ -Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769 -Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 -Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 -Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 -Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 -Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.2 b/examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.2 deleted file mode 100644 index 2205a0f051..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.driver.tcp.g++.2 +++ /dev/null @@ -1,6 +0,0 @@ -Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769 -Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 -Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 -Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 -Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 -Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.1 deleted file mode 100644 index 55825ab30a..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.1 +++ /dev/null @@ -1,44 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -mdi engine -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.44 0 0 2.15568 1.2132167 - 1 1.4377309 0 0 2.1522832 1.211305 - 2 1.430825 0 0 2.141945 1.2054866 - 3 1.4189655 0 0 2.1241913 1.1954949 - 4 1.4016029 0 0 2.0981995 1.1808667 - 5 1.3779738 0 0 2.0628267 1.1609589 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.2 b/examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.2 deleted file mode 100644 index 4c636b8486..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.mpi.g++.2 +++ /dev/null @@ -1,44 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -mdi engine -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.44 0 0 2.15568 1.2132167 - 1 1.4377309 0 0 2.1522832 1.211305 - 2 1.430825 0 0 2.141945 1.2054866 - 3 1.4189655 0 0 2.1241913 1.1954949 - 4 1.4016029 0 0 2.0981995 1.1808667 - 5 1.3779738 0 0 2.0628267 1.1609589 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.1 deleted file mode 100644 index 7eb94ac4c6..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.1 +++ /dev/null @@ -1,44 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -mdi engine -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.44 0 0 2.15568 1.2132167 - 1 1.4377309 0 0 2.1522832 1.211305 - 2 1.430825 0 0 2.141945 1.2054866 - 3 1.4189655 0 0 2.1241913 1.1954949 - 4 1.4016029 0 0 2.0981995 1.1808667 - 5 1.3779738 0 0 2.0628267 1.1609589 -Total wall time: 0:00:11 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.2 b/examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.2 deleted file mode 100644 index 6d253ee790..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.mm.tcp.g++.2 +++ /dev/null @@ -1,44 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -velocity all create 1.44 87287 loop geom - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -mdi engine -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141) -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209) -Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.44 0 0 2.15568 1.2132167 - 1 1.4377309 0 0 2.1522832 1.211305 - 2 1.430825 0 0 2.141945 1.2054866 - 3 1.4189655 0 0 2.1241913 1.1954949 - 4 1.4016029 0 0 2.0981995 1.1808667 - 5 1.3779738 0 0 2.0628267 1.1609589 -Total wall time: 0:00:11 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.1 deleted file mode 100644 index e75a12c948..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.1 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.3 b/examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.3 deleted file mode 100644 index 5d6702100c..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.mpi.g++.3 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 3 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.1 deleted file mode 100644 index 8750392def..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.1 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:01 diff --git a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.3 b/examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.3 deleted file mode 100644 index cd5d443e65..0000000000 --- a/examples/mdi/log.7Apr22.mdi.aimdpy.qm.tcp.g++.3 +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (17 Feb 2022) -# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py - -variable x index 5 -variable y index 5 -variable z index 5 - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 $x 0 $y 0 $z -region box block 0 5 0 $y 0 $z -region box block 0 5 0 5 0 $z -region box block 0 5 0 5 0 5 -create_box 1 box -Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - 1 by 1 by 3 MPI processor grid -create_atoms 1 box -Created 500 atoms - using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) - create_atoms CPU = 0.001 seconds -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -mdi engine -WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 6 6 6 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -6.7733681 0 -6.7733681 -6.2353173 - 1 0 -6.7699814 0 -6.7699814 -6.2120481 - 2 0 -6.7596844 0 -6.7596844 -6.1418368 - 3 0 -6.7420029 0 -6.7420029 -6.0231905 - 4 0 -6.7161132 0 -6.7161132 -5.8534999 - 5 0 -6.6808361 0 -6.6808361 -5.6291449 -Total wall time: 0:00:01 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.1 deleted file mode 100644 index 86d23d382b..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.1 +++ /dev/null @@ -1,3 +0,0 @@ -Calc 1: eng -4.5209 pressure 0.98188 aveForce 4.4409e-16 -1.1102e-16 6.6613e-16 -Calc 2: eng -4.5432 pressure -0.53137 aveForce 7.0083e-16 1.1796e-16 5.4384e-16 -Calc 3: eng -4.501 pressure 2.0049 aveForce 0 2.0817e-16 -4.3021e-16 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.2 b/examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.2 deleted file mode 100644 index 17e040d0d7..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.driver.mpi.g++.2 +++ /dev/null @@ -1,3 +0,0 @@ -Calc 1: eng -4.5209 pressure 0.98188 aveForce -2.2204e-16 0 2.2204e-16 -Calc 2: eng -4.5432 pressure -0.53137 aveForce -2.498e-16 -1.8735e-16 -3.4001e-16 -Calc 3: eng -4.501 pressure 2.0049 aveForce -7.9103e-16 3.4694e-16 4.0246e-16 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.1 b/examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.1 deleted file mode 100644 index 86d23d382b..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.1 +++ /dev/null @@ -1,3 +0,0 @@ -Calc 1: eng -4.5209 pressure 0.98188 aveForce 4.4409e-16 -1.1102e-16 6.6613e-16 -Calc 2: eng -4.5432 pressure -0.53137 aveForce 7.0083e-16 1.1796e-16 5.4384e-16 -Calc 3: eng -4.501 pressure 2.0049 aveForce 0 2.0817e-16 -4.3021e-16 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.3 b/examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.3 deleted file mode 100644 index e634b156b8..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.driver.plugin.g++.3 +++ /dev/null @@ -1,3 +0,0 @@ -Calc 1: eng -4.5209 pressure 0.98188 aveForce -1.1102e-16 8.3267e-16 1.9429e-16 -Calc 2: eng -4.5432 pressure -0.53137 aveForce 9.0206e-17 4.996e-16 1.5959e-16 -Calc 3: eng -4.501 pressure 2.0049 aveForce -1.4849e-15 -8.1879e-16 -1.7347e-16 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.1 deleted file mode 100644 index 86d23d382b..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.1 +++ /dev/null @@ -1,3 +0,0 @@ -Calc 1: eng -4.5209 pressure 0.98188 aveForce 4.4409e-16 -1.1102e-16 6.6613e-16 -Calc 2: eng -4.5432 pressure -0.53137 aveForce 7.0083e-16 1.1796e-16 5.4384e-16 -Calc 3: eng -4.501 pressure 2.0049 aveForce 0 2.0817e-16 -4.3021e-16 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.2 b/examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.2 deleted file mode 100644 index 17e040d0d7..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.driver.tcp.g++.2 +++ /dev/null @@ -1,3 +0,0 @@ -Calc 1: eng -4.5209 pressure 0.98188 aveForce -2.2204e-16 0 2.2204e-16 -Calc 2: eng -4.5432 pressure -0.53137 aveForce -2.498e-16 -1.8735e-16 -3.4001e-16 -Calc 3: eng -4.501 pressure 2.0049 aveForce -7.9103e-16 3.4694e-16 4.0246e-16 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.1 b/examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.1 deleted file mode 100644 index 929cdce5cf..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.1 +++ /dev/null @@ -1,89 +0,0 @@ -LAMMPS (17 Feb 2022) -# MDI engine script to process a series of evaulate, run, minimize commands - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 1 0 1 0 1 -create_box 1 box -Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) - 1 by 1 by 1 MPI processor grid -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -thermo 10 - -mdi engine -delete_atoms group all -Deleted 0 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.9713146 0 -2.4947521 3.1253597 - 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 - 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 - 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 - 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 - 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 - 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 - 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 - 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 - 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 - 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -4.1934138 0 -2.7168513 0.72358299 - 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 - 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 - 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 - 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 - 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 - 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 - 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 - 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 - 90 1.219283 -4.5483185 0 -2.747971 0.17898549 - 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.8524214 0 -2.3758589 4.6814052 - 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 - 20 1.1791601 -4.117932 0 -2.3768284 3.8565 - 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 - 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 - 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 - 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 - 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 - 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 - 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 - 100 1.43934 -4.5009545 0 -2.375679 3.0923444 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.4 b/examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.4 deleted file mode 100644 index ada69c6ca7..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.engine.mpi.g++.4 +++ /dev/null @@ -1,89 +0,0 @@ -LAMMPS (17 Feb 2022) -# MDI engine script to process a series of evaulate, run, minimize commands - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 1 0 1 0 1 -create_box 1 box -Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) - 1 by 2 by 2 MPI processor grid -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -thermo 10 - -mdi engine -delete_atoms group all -Deleted 0 atoms, new total = 0 - 1 by 2 by 2 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.9713146 0 -2.4947521 3.1253597 - 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 - 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 - 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 - 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 - 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 - 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 - 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 - 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 - 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 - 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 2 by 2 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -4.1934138 0 -2.7168513 0.72358299 - 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 - 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 - 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 - 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 - 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 - 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 - 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 - 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 - 90 1.219283 -4.5483185 0 -2.747971 0.17898549 - 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 2 by 2 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.8524214 0 -2.3758589 4.6814052 - 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 - 20 1.1791601 -4.117932 0 -2.3768284 3.8565 - 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 - 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 - 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 - 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 - 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 - 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 - 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 - 100 1.43934 -4.5009545 0 -2.375679 3.0923444 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.1 b/examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.1 deleted file mode 100644 index 929cdce5cf..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.1 +++ /dev/null @@ -1,89 +0,0 @@ -LAMMPS (17 Feb 2022) -# MDI engine script to process a series of evaulate, run, minimize commands - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 1 0 1 0 1 -create_box 1 box -Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) - 1 by 1 by 1 MPI processor grid -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -thermo 10 - -mdi engine -delete_atoms group all -Deleted 0 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.9713146 0 -2.4947521 3.1253597 - 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 - 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 - 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 - 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 - 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 - 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 - 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 - 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 - 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 - 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -4.1934138 0 -2.7168513 0.72358299 - 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 - 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 - 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 - 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 - 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 - 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 - 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 - 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 - 90 1.219283 -4.5483185 0 -2.747971 0.17898549 - 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.8524214 0 -2.3758589 4.6814052 - 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 - 20 1.1791601 -4.117932 0 -2.3768284 3.8565 - 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 - 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 - 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 - 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 - 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 - 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 - 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 - 100 1.43934 -4.5009545 0 -2.375679 3.0923444 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.3 b/examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.3 deleted file mode 100644 index df8d258715..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.engine.plugin.g++.3 +++ /dev/null @@ -1,89 +0,0 @@ -LAMMPS (17 Feb 2022) -# MDI engine script to process a series of evaulate, run, minimize commands - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 1 0 1 0 1 -create_box 1 box -Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) - 1 by 1 by 3 MPI processor grid -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -thermo 10 - -mdi engine -delete_atoms group all -Deleted 0 atoms, new total = 0 - 1 by 1 by 3 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.9713146 0 -2.4947521 3.1253597 - 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 - 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 - 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 - 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 - 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 - 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 - 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 - 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 - 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 - 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 3 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -4.1934138 0 -2.7168513 0.72358299 - 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 - 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 - 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 - 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 - 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 - 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 - 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 - 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 - 90 1.219283 -4.5483185 0 -2.747971 0.17898549 - 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 3 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.8524214 0 -2.3758589 4.6814052 - 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 - 20 1.1791601 -4.117932 0 -2.3768284 3.8565 - 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 - 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 - 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 - 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 - 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 - 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 - 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 - 100 1.43934 -4.5009545 0 -2.375679 3.0923444 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.1 b/examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.1 deleted file mode 100644 index 929cdce5cf..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.1 +++ /dev/null @@ -1,89 +0,0 @@ -LAMMPS (17 Feb 2022) -# MDI engine script to process a series of evaulate, run, minimize commands - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 1 0 1 0 1 -create_box 1 box -Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) - 1 by 1 by 1 MPI processor grid -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -thermo 10 - -mdi engine -delete_atoms group all -Deleted 0 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.9713146 0 -2.4947521 3.1253597 - 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 - 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 - 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 - 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 - 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 - 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 - 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 - 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 - 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 - 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -4.1934138 0 -2.7168513 0.72358299 - 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 - 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 - 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 - 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 - 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 - 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 - 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 - 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 - 90 1.219283 -4.5483185 0 -2.747971 0.17898549 - 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 1 by 1 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.8524214 0 -2.3758589 4.6814052 - 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 - 20 1.1791601 -4.117932 0 -2.3768284 3.8565 - 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 - 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 - 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 - 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 - 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 - 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 - 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 - 100 1.43934 -4.5009545 0 -2.375679 3.0923444 -Total wall time: 0:00:00 diff --git a/examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.4 b/examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.4 deleted file mode 100644 index ada69c6ca7..0000000000 --- a/examples/mdi/log.7Apr22.mdi.sequence.engine.tcp.g++.4 +++ /dev/null @@ -1,89 +0,0 @@ -LAMMPS (17 Feb 2022) -# MDI engine script to process a series of evaulate, run, minimize commands - -units lj -atom_style atomic - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 -region box block 0 1 0 1 0 1 -create_box 1 box -Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) - 1 by 2 by 2 MPI processor grid -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -thermo 10 - -mdi engine -delete_atoms group all -Deleted 0 atoms, new total = 0 - 1 by 2 by 2 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.9713146 0 -2.4947521 3.1253597 - 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 - 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 - 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 - 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 - 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 - 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 - 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 - 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 - 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 - 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 2 by 2 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -4.1934138 0 -2.7168513 0.72358299 - 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 - 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 - 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 - 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 - 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 - 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 - 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 - 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 - 90 1.219283 -4.5483185 0 -2.747971 0.17898549 - 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 -delete_atoms group all -Deleted 64 atoms, new total = 0 - 1 by 2 by 2 MPI processor grid - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -3.8524214 0 -2.3758589 4.6814052 - 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 - 20 1.1791601 -4.117932 0 -2.3768284 3.8565 - 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 - 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 - 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 - 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 - 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 - 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 - 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 - 100 1.43934 -4.5009545 0 -2.375679 3.0923444 -Total wall time: 0:00:00 diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 9a6e415a8c..99f23f7e59 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -48,7 +48,7 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) virialflag = 0; addflag = 1; every = 1; - extflag = 0; + connectflag = 1; int iarg = 3; while (iarg < narg) { @@ -69,10 +69,10 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (every <= 0) error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; - } else if (strcmp(arg[iarg],"external") == 0) { + } else if (strcmp(arg[iarg],"connect") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); - if (strcmp(arg[iarg+1],"yes") == 0) extflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) extflag = 0; + if (strcmp(arg[iarg+1],"yes") == 0) connectflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) connectflag = 0; else error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; } else error->all(FLERR,"Illegal fix mdi/qm command"); @@ -100,8 +100,8 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) thermo_energy = thermo_virial = 1; } - // mdicomm will be one-time initialized in init() - // cannot be done here for a plugin library, b/c mdi plugin command is later + // mdicomm will be initialized in init() + // cannot do here for a plugin library, b/c mdi plugin command comes later mdicomm = MDI_COMM_NULL; @@ -143,10 +143,11 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) FixMDIQM::~FixMDIQM() { - // send exit command to engine if it is a stand-alone code - // for plugin, this happens in MDIPlugin::plugin_wrapper() + // send exit command to stand-alone engine code + // for connnectflag = 0, this is done via "mdi exit" command + // for plugin, this is done in MDIPlugin::plugin_wrapper() - if (!plugin && !extflag) { + if (mdicomm != MDI_COMM_NULL && connectflag && !plugin) { int ierr = MDI_Send_command("EXIT", mdicomm); if (ierr) error->all(FLERR, "MDI: EXIT command"); } @@ -176,31 +177,47 @@ int FixMDIQM::setmask() void FixMDIQM::init() { - // one-time auto-detect whether engine is stand-alone code or plugin library - // also initializes mdicomm - // set plugin = 0/1 for engine = stand-alone code vs plugin library - - if (!extflag) { + // set local mdicomm one-time only + // also set plugin = 0/1 for engine = stand-alone code vs plugin library if (mdicomm == MDI_COMM_NULL) { - MDI_Get_communicator(&mdicomm, 0); - if (mdicomm == MDI_COMM_NULL) { - plugin = 0; - MDI_Accept_communicator(&mdicomm); - if (mdicomm == MDI_COMM_NULL) - error->all(FLERR, "MDI unable to connect to stand-alone engine"); - } else { - plugin = 1; - int method; - MDI_Get_method(&method, mdicomm); - if (method != MDI_PLUGIN) - error->all(FLERR, "MDI internal error for plugin engine"); - } - } - } else { - plugin = 0; - mdicomm = lmp->mdicomm; + // this fix makes one-time connection to engine + + if (connectflag) { + + // if MDI's mdicomm not set, need to Accept_comm() with stand-alone engine + // othewise are already connected to plugin engine + + MDI_Get_communicator(&mdicomm, 0); + + if (mdicomm == MDI_COMM_NULL) { + plugin = 0; + MDI_Accept_communicator(&mdicomm); + if (mdicomm == MDI_COMM_NULL) + error->all(FLERR, "MDI unable to connect to stand-alone engine"); + + } else { + plugin = 1; + int method; + MDI_Get_method(&method, mdicomm); + if (method != MDI_PLUGIN) + error->all(FLERR, "MDI internal error for plugin engine"); + } + + // connection should have been already made by "mdi connect" command + // only works for stand-alone engines + + } else { + plugin = 0; + + if (lmp->mdicomm == nullptr) + error->all(FLERR,"Fix mdi/qm is not connected to engine via mdi connect"); + + int nbytes = sizeof(MDI_Comm); + char *ptrcomm = (char *) lmp->mdicomm; + memcpy(&mdicomm,ptrcomm,nbytes); + } } // send natoms, atom types, and simulation box to engine diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index b805f7e3d2..2d6f4b0d23 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -40,7 +40,7 @@ class FixMDIQM : public Fix { private: int nprocs; - int virialflag,addflag,extflag,every; + int every,virialflag,addflag,connectflag; int plugin; int maxlocal; int sumflag; diff --git a/src/MDI/mdi_command.cpp b/src/MDI/mdi_command.cpp index 9fdc1f8a04..96ba839dfc 100644 --- a/src/MDI/mdi_command.cpp +++ b/src/MDI/mdi_command.cpp @@ -16,13 +16,19 @@ #include "error.h" #include "mdi_engine.h" #include "mdi_plugin.h" +#include "memory.h" #include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- - mdi command: engine or plugin + mdi command: engine or plugin or connect or exit + engine is used when LAMMPS is an MDI engine, to start listening for requests + plugin is used when LAMMPS is an MDI driver to load a plugin library + connect and exit are used when LAMMPS is an MDI driver to + (a) connect = setup comm with a stand-alone MDI engine + (b) exit = terminate comm with a stand-alone MDI engine ---------------------------------------------------------------------- */ void MDICommand::command(int narg, char **arg) @@ -35,22 +41,41 @@ void MDICommand::command(int narg, char **arg) } else if (strcmp(arg[0], "plugin") == 0) { MDIPlugin(lmp, narg - 1, &arg[1]); - } else if (strcmp(arg[0], "start") == 0) { + } else if (strcmp(arg[0], "connect") == 0) { + + if (lmp->mdicomm != nullptr) + error->all(FLERR,"MDI cannot connect to already connected engine"); + MDI_Comm mdicomm; MDI_Get_communicator(&mdicomm, 0); + if (mdicomm == MDI_COMM_NULL) { MDI_Accept_communicator(&mdicomm); if (mdicomm == MDI_COMM_NULL) error->all(FLERR, "MDI unable to connect to stand-alone engine"); - } else error->all(FLERR, "Cannot use mdi start in plugin mode"); - lmp->mdicomm = mdicomm; + } else error->all(FLERR, "Cannot use mdi connect with plugin engine"); - } else if (strcmp(arg[0], "stop") == 0) { + int nbytes = sizeof(MDI_Comm); + char *ptrcomm = (char *) memory->smalloc(nbytes,"mdi:mdicomm"); + memcpy(ptrcomm,&mdicomm,nbytes); + + lmp->mdicomm = (void *) ptrcomm; + + } else if (strcmp(arg[0], "exit") == 0) { + + if (lmp->mdicomm == nullptr) + error->all(FLERR,"MDI cannot send exit to unconnected engine"); + + MDI_Comm mdicomm; + int nbytes = sizeof(MDI_Comm); + char *ptrcomm = (char *) lmp->mdicomm; + memcpy(&mdicomm,ptrcomm,nbytes); - MDI_Comm mdicomm = lmp->mdicomm; int ierr = MDI_Send_command("EXIT", mdicomm); if (ierr) error->all(FLERR, "MDI: EXIT command"); - lmp->mdicomm = MDI_COMM_NULL; + + memory->sfree(ptrcomm); + lmp->mdicomm = nullptr; } else error->all(FLERR, "Illegal mdi command"); } diff --git a/src/lammps.cpp b/src/lammps.cpp index d4c7288451..3ddfafeb5d 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -130,7 +130,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : num_ver = utils::date2num(version); external_comm = 0; - mdicomm = 0; + mdicomm = nullptr; skiprunflag = 0; diff --git a/src/lammps.h b/src/lammps.h index 04ab9a9673..4cdb873db9 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -69,7 +69,7 @@ class LAMMPS { // when multiple programs launched by mpirun // set by -mpicolor command line arg - int mdicomm; // for use with MDI code coupling library + void *mdicomm; // for use with MDI code coupling library const char *match_style(const char *style, const char *name); static const char *installed_packages[]; From 9ca91bfe8010ce28167d7cc5e3f350bcb9e4fe8f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 15 Jun 2022 18:14:27 -0600 Subject: [PATCH 070/153] Created two simple examples of compute sna/grid and sna/grid/local --- examples/snap/README.grid | 10 ++ examples/snap/in.grid.snap | 94 ++++++++++ examples/snap/in.grid.tri | 143 +++++++--------- examples/snap/log.15Jun22.grid.snap.g++.1 | 167 ++++++++++++++++++ examples/snap/log.15Jun22.grid.snap.g++.4 | 168 ++++++++++++++++++ examples/snap/log.15Jun22.grid.tri.g++.1 | 200 ++++++++++++++++++++++ examples/snap/log.15Jun22.grid.tri.g++.4 | 200 ++++++++++++++++++++++ 7 files changed, 900 insertions(+), 82 deletions(-) create mode 100644 examples/snap/in.grid.snap create mode 100644 examples/snap/log.15Jun22.grid.snap.g++.1 create mode 100644 examples/snap/log.15Jun22.grid.snap.g++.4 create mode 100644 examples/snap/log.15Jun22.grid.tri.g++.1 create mode 100644 examples/snap/log.15Jun22.grid.tri.g++.4 diff --git a/examples/snap/README.grid b/examples/snap/README.grid index 9033c9d445..a552ce38ab 100644 --- a/examples/snap/README.grid +++ b/examples/snap/README.grid @@ -7,3 +7,13 @@ in.grid.test # stress test of grid and grid/local in.grid.tri # grid with triclinic cell grid.py # access data from Python library interface + +For the LAMMPS public repo, the only examples that will be provided are: + + in.grid.snap # simple test of grid and grid/local + in.grid.tri # same for a triclinic box + log.15Jun22.grid.snap.g++.1 + log.15Jun22.grid.snap.g++.4 + log.15Jun22.grid.tri.g++.1 + log.15Jun22.grid.tri.g++.4 + diff --git a/examples/snap/in.grid.snap b/examples/snap/in.grid.snap new file mode 100644 index 0000000000..08c95a004f --- /dev/null +++ b/examples/snap/in.grid.snap @@ -0,0 +1,94 @@ +# Demonstrate calculation of SNAP bispectrum descriptors on a grid + +# CORRECTNESS: The two atom positions coincide with two of +# the gridpoints, so c_b[2][1-5] should match c_mygrid[8][4-8]. +# The same is true for compute grid/local c_mygridlocal[8][4-11]. +# Local arrays can not be access directly in the script, +# but they are printed out to file dump.blocal + +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +units metal +atom_modify map hash + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice custom $a & + a1 1 0 0 & + a2 0 1 0 & + a3 0 0 1 & + basis 0 0 0 & + basis 0.5 0.5 0.5 & + +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# define atom compute and grid compute + +group snapgroup type 1 +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quadratic equal 0 +variable switch equal 1 + +variable snap_options string & + "${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} & + bzeroflag ${bzero} switchflag ${switch}" + +# build zero potential to satisfy compute sna/atom + +pair_style zero ${rcutfac} +pair_coeff * * + +# define atom and grid computes + +compute b all sna/atom ${snap_options} +compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & + ${snap_options} +compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} & + ${snap_options} + +# define output + +variable B5atom equal c_b[2][5] +variable B5grid equal c_mygrid[8][8] + +variable rmse_global equal "sqrt( & + (c_mygrid[8][1] - x[2])^2 + & + (c_mygrid[8][2] - y[2])^2 + & + (c_mygrid[8][3] - z[2])^2 + & + (c_mygrid[8][4] - c_b[2][1])^2 + & + (c_mygrid[8][5] - c_b[2][2])^2 + & + (c_mygrid[8][6] - c_b[2][3])^2 + & + (c_mygrid[8][7] - c_b[2][4])^2 + & + (c_mygrid[8][8] - c_b[2][5])^2 & + )" + +thermo_style custom step v_B5atom v_B5grid v_rmse_global + +# this is the only way to view the local grid + +dump 1 all local 1000 dump.blocal c_mygridlocal[*] +dump 2 all custom 1000 dump.batom id x y z c_b[*] + +# run + +run 0 + diff --git a/examples/snap/in.grid.tri b/examples/snap/in.grid.tri index f375c18c42..5283957eb8 100644 --- a/examples/snap/in.grid.tri +++ b/examples/snap/in.grid.tri @@ -1,4 +1,5 @@ -# Demonstrate bispectrum computes for triclinic cell +# Demonstrate calculation of SNAP bispectrum +# descriptors on a grid for triclinic cell # This triclinic cell has 6 times the volume of the single # unit cell used by in.grid @@ -6,35 +7,37 @@ # with each unit cell containing 2 atoms and the # reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1]. # The grid is listed in x-fastest order -# CORRECTNESS: thermo output for c_mygrid[*][7] should contain -# the same 2 values that appear in c_mygrid[*][7] for in.grid, -# 7.0663376 and 13.808803, corresponding to atom and insterstitial sites, -# respectively, and with occurrences 12 and 36, respectively. + +# CORRECTNESS: The atom positions coincide with certain +# gridpoints, so c_b[1][1-5] should match c_mygrid[1][4-8] +# and c_b[7][1-5] should match c_mygrid[13][4-8]. +# Local arrays can not be access directly in the script, +# but they are printed out to file dump.blocal.tri # Initialize simulation -variable nsteps index 0 -variable nrep index 1 -variable a index 3.316 -variable ngrid index 4 +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 -variable ngridx equal 3*${ngrid} -variable ngridy equal 2*${ngrid} -variable ngridz equal 1*${ngrid} +variable nrepx equal 3*${nrep} +variable nrepy equal 2*${nrep} +variable nrepz equal 1*${nrep} -variable nrepx equal 1*${nrep} -variable nrepy equal 1*${nrep} -variable nrepz equal 1*${nrep} +variable ngridx equal 3*${ngrid} +variable ngridy equal 2*${ngrid} +variable ngridz equal 1*${ngrid} -units metal +units metal +atom_modify map hash sort 0 0 # generate the box and atom positions using a BCC lattice -variable nx equal ${nrepx} -variable ny equal ${nrepy} -variable nz equal ${nrepz} +variable nx equal ${nrepx} +variable ny equal ${nrepy} +variable nz equal ${nrepz} -boundary p p p +boundary p p p lattice custom $a & a1 1 0 0 & @@ -42,20 +45,16 @@ lattice custom $a & a3 1 1 1 & basis 0 0 0 & basis 0.0 0.0 0.5 & -# origin 0.25 0.25 0.25 + spacing 1 1 1 box tilt large region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} create_box 1 box create_atoms 1 box -mass 1 180.88 +mass 1 180.88 -# choose potential - -include Ta06A.snap - -# define grid compute and atom compute +# define atom compute and grid compute group snapgroup type 1 variable twojmax equal 2 @@ -65,71 +64,51 @@ variable rmin0 equal 0 variable wj equal 1 variable radelem equal 0.5 variable bzero equal 0 -variable quad equal 0 +variable quadratic equal 0 variable switch equal 1 -compute b all sna/atom & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} +variable snap_options string & + "${rcutfac} ${rfac0} ${twojmax} ${radelem} & + ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} & + bzeroflag ${bzero} switchflag ${switch}" -compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} +# build zero potential to satisfy compute sna/atom + +pair_style zero ${rcutfac} +pair_coeff * * + +# define atom and grid computes + +compute b all sna/atom ${snap_options} +compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} & + ${snap_options} +compute mygridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} & + ${snap_options} # define output -# mygrid is ngrid by (3+nbis) = 384x8 +variable B5atom equal c_b[7][5] +variable B5grid equal c_mygrid[13][8] -thermo_style custom step temp ke pe vol & - c_mygrid[1][7] c_mygrid[2][7] c_mygrid[3][7] c_mygrid[4][7] c_mygrid[5][7] c_mygrid[6][7] c_mygrid[7][7] c_mygrid[8][7] c_mygrid[9][7] & - c_mygrid[10][7] c_mygrid[11][7] c_mygrid[12][7] c_mygrid[13][7] c_mygrid[14][7] c_mygrid[15][7] c_mygrid[16][7] c_mygrid[17][7] c_mygrid[18][7] c_mygrid[19][7] & - c_mygrid[20][7] c_mygrid[21][7] c_mygrid[22][7] c_mygrid[23][7] c_mygrid[24][7] c_mygrid[25][7] c_mygrid[26][7] c_mygrid[27][7] c_mygrid[28][7] c_mygrid[29][7] & - c_mygrid[30][7] c_mygrid[31][7] c_mygrid[32][7] c_mygrid[33][7] c_mygrid[34][7] c_mygrid[35][7] c_mygrid[36][7] c_mygrid[37][7] c_mygrid[38][7] c_mygrid[39][7] & - c_mygrid[40][7] c_mygrid[41][7] c_mygrid[42][7] c_mygrid[43][7] c_mygrid[44][7] c_mygrid[45][7] c_mygrid[46][7] c_mygrid[47][7] c_mygrid[48][7] c_mygrid[49][7] & - c_mygrid[50][7] c_mygrid[51][7] c_mygrid[52][7] c_mygrid[53][7] c_mygrid[54][7] c_mygrid[55][7] c_mygrid[56][7] c_mygrid[57][7] c_mygrid[58][7] c_mygrid[59][7] & - c_mygrid[60][7] c_mygrid[61][7] c_mygrid[62][7] c_mygrid[63][7] c_mygrid[64][7] c_mygrid[65][7] c_mygrid[66][7] c_mygrid[67][7] c_mygrid[68][7] c_mygrid[69][7] & - c_mygrid[70][7] c_mygrid[71][7] c_mygrid[72][7] c_mygrid[73][7] c_mygrid[74][7] c_mygrid[75][7] c_mygrid[76][7] c_mygrid[77][7] c_mygrid[78][7] c_mygrid[79][7] & - c_mygrid[80][7] c_mygrid[81][7] c_mygrid[82][7] c_mygrid[83][7] c_mygrid[84][7] c_mygrid[85][7] c_mygrid[86][7] c_mygrid[87][7] c_mygrid[88][7] c_mygrid[89][7] & - c_mygrid[90][7] c_mygrid[91][7] c_mygrid[92][7] c_mygrid[93][7] c_mygrid[94][7] c_mygrid[95][7] c_mygrid[96][7] c_mygrid[97][7] c_mygrid[98][7] c_mygrid[99][7] & - c_mygrid[100][7] c_mygrid[101][7] c_mygrid[102][7] c_mygrid[103][7] c_mygrid[104][7] c_mygrid[105][7] c_mygrid[106][7] c_mygrid[107][7] c_mygrid[108][7] c_mygrid[109][7] & - c_mygrid[110][7] c_mygrid[111][7] c_mygrid[112][7] c_mygrid[113][7] c_mygrid[114][7] c_mygrid[115][7] c_mygrid[116][7] c_mygrid[117][7] c_mygrid[118][7] c_mygrid[119][7] & - c_mygrid[120][7] c_mygrid[121][7] c_mygrid[122][7] c_mygrid[123][7] c_mygrid[124][7] c_mygrid[125][7] c_mygrid[126][7] c_mygrid[127][7] c_mygrid[128][7] c_mygrid[129][7] & - c_mygrid[130][7] c_mygrid[131][7] c_mygrid[132][7] c_mygrid[133][7] c_mygrid[134][7] c_mygrid[135][7] c_mygrid[136][7] c_mygrid[137][7] c_mygrid[138][7] c_mygrid[139][7] & - c_mygrid[140][7] c_mygrid[141][7] c_mygrid[142][7] c_mygrid[143][7] c_mygrid[144][7] c_mygrid[145][7] c_mygrid[146][7] c_mygrid[147][7] c_mygrid[148][7] c_mygrid[149][7] & - c_mygrid[150][7] c_mygrid[151][7] c_mygrid[152][7] c_mygrid[153][7] c_mygrid[154][7] c_mygrid[155][7] c_mygrid[156][7] c_mygrid[157][7] c_mygrid[158][7] c_mygrid[159][7] & - c_mygrid[160][7] c_mygrid[161][7] c_mygrid[162][7] c_mygrid[163][7] c_mygrid[164][7] c_mygrid[165][7] c_mygrid[166][7] c_mygrid[167][7] c_mygrid[168][7] c_mygrid[169][7] & - c_mygrid[170][7] c_mygrid[171][7] c_mygrid[172][7] c_mygrid[173][7] c_mygrid[174][7] c_mygrid[175][7] c_mygrid[176][7] c_mygrid[177][7] c_mygrid[178][7] c_mygrid[179][7] & - c_mygrid[180][7] c_mygrid[181][7] c_mygrid[182][7] c_mygrid[183][7] c_mygrid[184][7] c_mygrid[185][7] c_mygrid[186][7] c_mygrid[187][7] c_mygrid[188][7] c_mygrid[189][7] & - c_mygrid[190][7] c_mygrid[191][7] c_mygrid[192][7] c_mygrid[193][7] c_mygrid[194][7] c_mygrid[195][7] c_mygrid[196][7] c_mygrid[197][7] c_mygrid[198][7] c_mygrid[199][7] & - c_mygrid[200][7] c_mygrid[201][7] c_mygrid[202][7] c_mygrid[203][7] c_mygrid[204][7] c_mygrid[205][7] c_mygrid[206][7] c_mygrid[207][7] c_mygrid[208][7] c_mygrid[209][7] & - c_mygrid[210][7] c_mygrid[211][7] c_mygrid[212][7] c_mygrid[213][7] c_mygrid[214][7] c_mygrid[215][7] c_mygrid[216][7] c_mygrid[217][7] c_mygrid[218][7] c_mygrid[219][7] & - c_mygrid[220][7] c_mygrid[221][7] c_mygrid[222][7] c_mygrid[223][7] c_mygrid[224][7] c_mygrid[225][7] c_mygrid[226][7] c_mygrid[227][7] c_mygrid[228][7] c_mygrid[229][7] & - c_mygrid[230][7] c_mygrid[231][7] c_mygrid[232][7] c_mygrid[233][7] c_mygrid[234][7] c_mygrid[235][7] c_mygrid[236][7] c_mygrid[237][7] c_mygrid[238][7] c_mygrid[239][7] & - c_mygrid[240][7] c_mygrid[241][7] c_mygrid[242][7] c_mygrid[243][7] c_mygrid[244][7] c_mygrid[245][7] c_mygrid[246][7] c_mygrid[247][7] c_mygrid[248][7] c_mygrid[249][7] & - c_mygrid[250][7] c_mygrid[251][7] c_mygrid[252][7] c_mygrid[253][7] c_mygrid[254][7] c_mygrid[255][7] c_mygrid[256][7] c_mygrid[257][7] c_mygrid[258][7] c_mygrid[259][7] & - c_mygrid[260][7] c_mygrid[261][7] c_mygrid[262][7] c_mygrid[263][7] c_mygrid[264][7] c_mygrid[265][7] c_mygrid[266][7] c_mygrid[267][7] c_mygrid[268][7] c_mygrid[269][7] & - c_mygrid[270][7] c_mygrid[271][7] c_mygrid[272][7] c_mygrid[273][7] c_mygrid[274][7] c_mygrid[275][7] c_mygrid[276][7] c_mygrid[277][7] c_mygrid[278][7] c_mygrid[279][7] & - c_mygrid[280][7] c_mygrid[281][7] c_mygrid[282][7] c_mygrid[283][7] c_mygrid[284][7] c_mygrid[285][7] c_mygrid[286][7] c_mygrid[287][7] c_mygrid[288][7] c_mygrid[289][7] & - c_mygrid[290][7] c_mygrid[291][7] c_mygrid[292][7] c_mygrid[293][7] c_mygrid[294][7] c_mygrid[295][7] c_mygrid[296][7] c_mygrid[297][7] c_mygrid[298][7] c_mygrid[299][7] & - c_mygrid[300][7] c_mygrid[301][7] c_mygrid[302][7] c_mygrid[303][7] c_mygrid[304][7] c_mygrid[305][7] c_mygrid[306][7] c_mygrid[307][7] c_mygrid[308][7] c_mygrid[309][7] & - c_mygrid[310][7] c_mygrid[311][7] c_mygrid[312][7] c_mygrid[313][7] c_mygrid[314][7] c_mygrid[315][7] c_mygrid[316][7] c_mygrid[317][7] c_mygrid[318][7] c_mygrid[319][7] & - c_mygrid[320][7] c_mygrid[321][7] c_mygrid[322][7] c_mygrid[323][7] c_mygrid[324][7] c_mygrid[325][7] c_mygrid[326][7] c_mygrid[327][7] c_mygrid[328][7] c_mygrid[329][7] & - c_mygrid[330][7] c_mygrid[331][7] c_mygrid[332][7] c_mygrid[333][7] c_mygrid[334][7] c_mygrid[335][7] c_mygrid[336][7] c_mygrid[337][7] c_mygrid[338][7] c_mygrid[339][7] & - c_mygrid[340][7] c_mygrid[341][7] c_mygrid[342][7] c_mygrid[343][7] c_mygrid[344][7] c_mygrid[345][7] c_mygrid[346][7] c_mygrid[347][7] c_mygrid[348][7] c_mygrid[349][7] & - c_mygrid[350][7] c_mygrid[351][7] c_mygrid[352][7] c_mygrid[353][7] c_mygrid[354][7] c_mygrid[355][7] c_mygrid[356][7] c_mygrid[357][7] c_mygrid[358][7] c_mygrid[359][7] & - c_mygrid[360][7] c_mygrid[361][7] c_mygrid[362][7] c_mygrid[363][7] c_mygrid[364][7] c_mygrid[365][7] c_mygrid[366][7] c_mygrid[367][7] c_mygrid[368][7] c_mygrid[369][7] & - c_mygrid[370][7] c_mygrid[371][7] c_mygrid[372][7] c_mygrid[373][7] c_mygrid[374][7] c_mygrid[375][7] c_mygrid[376][7] c_mygrid[377][7] c_mygrid[378][7] c_mygrid[379][7] & - c_mygrid[380][7] c_mygrid[381][7] c_mygrid[382][7] c_mygrid[383][7] c_mygrid[384][7] +# do not compare x,y,z because assignment of ids +# to atoms is not unnique for different processor grids -thermo_modify norm yes +variable rmse_global equal "sqrt( & + (c_mygrid[13][4] - c_b[7][1])^2 + & + (c_mygrid[13][5] - c_b[7][2])^2 + & + (c_mygrid[13][6] - c_b[7][3])^2 + & + (c_mygrid[13][7] - c_b[7][4])^2 + & + (c_mygrid[13][8] - c_b[7][5])^2 & + )" -dump mydump_b all custom 1000 dump_b id c_b[*] +thermo_style custom step v_B5atom v_B5grid v_rmse_global + +# this is the only way to view the local grid + +dump 1 all local 1000 dump.blocal.tri c_mygridlocal[*] +dump 2 all custom 1000 dump.batom.tri id x y z c_b[*] # run -run 0 - - +run 0 diff --git a/examples/snap/log.15Jun22.grid.snap.g++.1 b/examples/snap/log.15Jun22.grid.snap.g++.1 new file mode 100644 index 0000000000..71b884d1b6 --- /dev/null +++ b/examples/snap/log.15Jun22.grid.snap.g++.1 @@ -0,0 +1,167 @@ +LAMMPS (28 Jul 2021) +# Demonstrate calculation of SNAP bispectrum descriptors on a grid + +# CORRECTNESS: The two atom positions coincide with two of +# the gridpoints, so c_b[2][1-5] should match c_mygrid[8][4-8]. +# The same is true for compute grid/local c_mygridlocal[8][4-11]. +# Local arrays can not be access directly in the script, +# but they are printed out to file dump.blocal + +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +units metal +atom_modify map hash + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 1 +variable ny equal ${nrep} +variable ny equal 1 +variable nz equal ${nrep} +variable nz equal 1 + +boundary p p p + +lattice custom $a a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 +lattice custom 3.316 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 +Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 1 0 ${ny} 0 ${nz} +region box block 0 1 0 1 0 ${nz} +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# define atom compute and grid compute + +group snapgroup type 1 +2 atoms in group snapgroup +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quadratic equal 0 +variable switch equal 1 + +variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}" +4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# build zero potential to satisfy compute sna/atom + +pair_style zero ${rcutfac} +pair_style zero 4.67637 +pair_coeff * * + +# define atom and grid computes + +compute b all sna/atom ${snap_options} +compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} ${snap_options} +compute mygrid all sna/grid grid 2 ${ngrid} ${ngrid} ${snap_options} +compute mygrid all sna/grid grid 2 2 ${ngrid} ${snap_options} +compute mygrid all sna/grid grid 2 2 2 ${snap_options} +compute mygrid all sna/grid grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} ${snap_options} +compute mygridlocal all sna/grid/local grid 2 ${ngrid} ${ngrid} ${snap_options} +compute mygridlocal all sna/grid/local grid 2 2 ${ngrid} ${snap_options} +compute mygridlocal all sna/grid/local grid 2 2 2 ${snap_options} +compute mygridlocal all sna/grid/local grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# define output + +variable B5atom equal c_b[2][5] +variable B5grid equal c_mygrid[8][8] + +variable rmse_global equal "sqrt( (c_mygrid[8][1] - x[2])^2 + (c_mygrid[8][2] - y[2])^2 + (c_mygrid[8][3] - z[2])^2 + (c_mygrid[8][4] - c_b[2][1])^2 + (c_mygrid[8][5] - c_b[2][2])^2 + (c_mygrid[8][6] - c_b[2][3])^2 + (c_mygrid[8][7] - c_b[2][4])^2 + (c_mygrid[8][8] - c_b[2][5])^2 )" + +thermo_style custom step v_B5atom v_B5grid v_rmse_global + +# this is the only way to view the local grid + +dump 1 all local 1000 dump.blocal c_mygridlocal[*] +dump 2 all custom 1000 dump.batom id x y z c_b[*] + +# run + +run 0 +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.67637 + ghost atom cutoff = 6.67637 + binsize = 3.338185, bins = 1 1 1 + 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) compute sna/atom, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (3) compute sna/grid, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (4) compute sna/grid/local, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.384 | 8.384 | 8.384 Mbytes +Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 0 +Loop time of 1e-06 on 1 procs for 0 steps with 2 atoms + +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1e-06 | | |100.00 + +Nlocal: 2.00000 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 339.000 ave 339 max 339 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 64.0000 ave 64 max 64 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 128.000 ave 128 max 128 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 128 +Ave neighs/atom = 64.000000 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/snap/log.15Jun22.grid.snap.g++.4 b/examples/snap/log.15Jun22.grid.snap.g++.4 new file mode 100644 index 0000000000..80761fc395 --- /dev/null +++ b/examples/snap/log.15Jun22.grid.snap.g++.4 @@ -0,0 +1,168 @@ +LAMMPS (28 Jul 2021) +# Demonstrate calculation of SNAP bispectrum descriptors on a grid + +# CORRECTNESS: The two atom positions coincide with two of +# the gridpoints, so c_b[2][1-5] should match c_mygrid[8][4-8]. +# The same is true for compute grid/local c_mygridlocal[8][4-11]. +# Local arrays can not be access directly in the script, +# but they are printed out to file dump.blocal + +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +units metal +atom_modify map hash + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 1 +variable ny equal ${nrep} +variable ny equal 1 +variable nz equal ${nrep} +variable nz equal 1 + +boundary p p p + +lattice custom $a a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 +lattice custom 3.316 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 +Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 1 0 ${ny} 0 ${nz} +region box block 0 1 0 1 0 ${nz} +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) + create_atoms CPU = 0.001 seconds + +mass 1 180.88 + +# define atom compute and grid compute + +group snapgroup type 1 +2 atoms in group snapgroup +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quadratic equal 0 +variable switch equal 1 + +variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}" +4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# build zero potential to satisfy compute sna/atom + +pair_style zero ${rcutfac} +pair_style zero 4.67637 +pair_coeff * * + +# define atom and grid computes + +compute b all sna/atom ${snap_options} +compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} ${snap_options} +compute mygrid all sna/grid grid 2 ${ngrid} ${ngrid} ${snap_options} +compute mygrid all sna/grid grid 2 2 ${ngrid} ${snap_options} +compute mygrid all sna/grid grid 2 2 2 ${snap_options} +compute mygrid all sna/grid grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} ${snap_options} +compute mygridlocal all sna/grid/local grid 2 ${ngrid} ${ngrid} ${snap_options} +compute mygridlocal all sna/grid/local grid 2 2 ${ngrid} ${snap_options} +compute mygridlocal all sna/grid/local grid 2 2 2 ${snap_options} +compute mygridlocal all sna/grid/local grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# define output + +variable B5atom equal c_b[2][5] +variable B5grid equal c_mygrid[8][8] + +variable rmse_global equal "sqrt( (c_mygrid[8][1] - x[2])^2 + (c_mygrid[8][2] - y[2])^2 + (c_mygrid[8][3] - z[2])^2 + (c_mygrid[8][4] - c_b[2][1])^2 + (c_mygrid[8][5] - c_b[2][2])^2 + (c_mygrid[8][6] - c_b[2][3])^2 + (c_mygrid[8][7] - c_b[2][4])^2 + (c_mygrid[8][8] - c_b[2][5])^2 )" + +thermo_style custom step v_B5atom v_B5grid v_rmse_global + +# this is the only way to view the local grid + +dump 1 all local 1000 dump.blocal c_mygridlocal[*] +dump 2 all custom 1000 dump.batom id x y z c_b[*] + +# run + +run 0 +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.67637 + ghost atom cutoff = 6.67637 + binsize = 3.338185, bins = 1 1 1 + 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) compute sna/atom, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (3) compute sna/grid, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (4) compute sna/grid/local, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:964) +Per MPI rank memory allocation (min/avg/max) = 7.381 | 7.889 | 8.397 Mbytes +Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 0 +Loop time of 1.5e-06 on 4 procs for 0 steps with 2 atoms + +83.3% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.5e-06 | | |100.00 + +Nlocal: 0.500000 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 274.500 ave 275 max 274 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 16.0000 ave 40 max 0 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +FullNghs: 32.0000 ave 64 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 128 +Ave neighs/atom = 64.000000 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/snap/log.15Jun22.grid.tri.g++.1 b/examples/snap/log.15Jun22.grid.tri.g++.1 new file mode 100644 index 0000000000..c261154367 --- /dev/null +++ b/examples/snap/log.15Jun22.grid.tri.g++.1 @@ -0,0 +1,200 @@ +LAMMPS (28 Jul 2021) +# Demonstrate calculation of SNAP bispectrum +# descriptors on a grid for triclinic cell + +# This triclinic cell has 6 times the volume of the single +# unit cell used by in.grid +# and contains 12 atoms. It is a 3x2x1 supercell +# with each unit cell containing 2 atoms and the +# reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1]. +# The grid is listed in x-fastest order + +# CORRECTNESS: The atom positions coincide with certain +# gridpoints, so c_b[1][1-5] should match c_mygrid[1][4-8] +# and c_b[7][1-5] should match c_mygrid[13][4-8]. +# Local arrays can not be access directly in the script, +# but they are printed out to file dump.blocal.tri + +# Initialize simulation + +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +variable nrepx equal 3*${nrep} +variable nrepx equal 3*1 +variable nrepy equal 2*${nrep} +variable nrepy equal 2*1 +variable nrepz equal 1*${nrep} +variable nrepz equal 1*1 + +variable ngridx equal 3*${ngrid} +variable ngridx equal 3*2 +variable ngridy equal 2*${ngrid} +variable ngridy equal 2*2 +variable ngridz equal 1*${ngrid} +variable ngridz equal 1*2 + +units metal +atom_modify map hash sort 0 0 + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrepx} +variable nx equal 3 +variable ny equal ${nrepy} +variable ny equal 2 +variable nz equal ${nrepz} +variable nz equal 1 + +boundary p p p + +lattice custom $a a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 +lattice custom 3.316 a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 +Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 + +box tilt large +region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} +region box prism 0 3 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} +region box prism 0 3 0 2 0 ${nz} ${ny} ${nz} ${nz} +region box prism 0 3 0 2 0 1 ${ny} ${nz} ${nz} +region box prism 0 3 0 2 0 1 2 ${nz} ${nz} +region box prism 0 3 0 2 0 1 2 1 ${nz} +region box prism 0 3 0 2 0 1 2 1 1 +create_box 1 box +Created triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) +WARNING: Triclinic box skew is large (src/domain.cpp:219) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 12 atoms + using lattice units in triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) + create_atoms CPU = 0.001 seconds + +mass 1 180.88 + +# define atom compute and grid compute + +group snapgroup type 1 +12 atoms in group snapgroup +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quadratic equal 0 +variable switch equal 1 + +variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}" +4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# build zero potential to satisfy compute sna/atom + +pair_style zero ${rcutfac} +pair_style zero 4.67637 +pair_coeff * * + +# define atom and grid computes + +compute b all sna/atom ${snap_options} +compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${snap_options} +compute mygrid all sna/grid grid 6 ${ngridy} ${ngridz} ${snap_options} +compute mygrid all sna/grid grid 6 4 ${ngridz} ${snap_options} +compute mygrid all sna/grid grid 6 4 2 ${snap_options} +compute mygrid all sna/grid grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${snap_options} +compute mygridlocal all sna/grid/local grid 6 ${ngridy} ${ngridz} ${snap_options} +compute mygridlocal all sna/grid/local grid 6 4 ${ngridz} ${snap_options} +compute mygridlocal all sna/grid/local grid 6 4 2 ${snap_options} +compute mygridlocal all sna/grid/local grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# define output + +variable B5atom equal c_b[7][5] +variable B5grid equal c_mygrid[13][8] + +# do not compare x,y,z because assignment of ids +# to atoms is not unnique for different processor grids + +variable rmse_global equal "sqrt( (c_mygrid[13][4] - c_b[7][1])^2 + (c_mygrid[13][5] - c_b[7][2])^2 + (c_mygrid[13][6] - c_b[7][3])^2 + (c_mygrid[13][7] - c_b[7][4])^2 + (c_mygrid[13][8] - c_b[7][5])^2 )" + +thermo_style custom step v_B5atom v_B5grid v_rmse_global + +# this is the only way to view the local grid + +dump 1 all local 1000 dump.blocal.tri c_mygridlocal[*] +dump 2 all custom 1000 dump.batom.tri id x y z c_b[*] + +# run + +run 0 +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.67637 + ghost atom cutoff = 6.67637 + binsize = 3.338185, bins = 6 3 1 + 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/tri + bin: standard + (2) compute sna/atom, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (3) compute sna/grid, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (4) compute sna/grid/local, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.435 | 8.435 | 8.435 Mbytes +Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 7.2262471e-14 +Loop time of 1e-06 on 1 procs for 0 steps with 12 atoms + +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1e-06 | | |100.00 + +Nlocal: 12.0000 ave 12 max 12 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 604.000 ave 604 max 604 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 384.000 ave 384 max 384 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 768.000 ave 768 max 768 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 768 +Ave neighs/atom = 64.000000 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/snap/log.15Jun22.grid.tri.g++.4 b/examples/snap/log.15Jun22.grid.tri.g++.4 new file mode 100644 index 0000000000..bac7ecaa5a --- /dev/null +++ b/examples/snap/log.15Jun22.grid.tri.g++.4 @@ -0,0 +1,200 @@ +LAMMPS (28 Jul 2021) +# Demonstrate calculation of SNAP bispectrum +# descriptors on a grid for triclinic cell + +# This triclinic cell has 6 times the volume of the single +# unit cell used by in.grid +# and contains 12 atoms. It is a 3x2x1 supercell +# with each unit cell containing 2 atoms and the +# reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1]. +# The grid is listed in x-fastest order + +# CORRECTNESS: The atom positions coincide with certain +# gridpoints, so c_b[1][1-5] should match c_mygrid[1][4-8] +# and c_b[7][1-5] should match c_mygrid[13][4-8]. +# Local arrays can not be access directly in the script, +# but they are printed out to file dump.blocal.tri + +# Initialize simulation + +variable nrep index 1 +variable a index 3.316 +variable ngrid index 2 + +variable nrepx equal 3*${nrep} +variable nrepx equal 3*1 +variable nrepy equal 2*${nrep} +variable nrepy equal 2*1 +variable nrepz equal 1*${nrep} +variable nrepz equal 1*1 + +variable ngridx equal 3*${ngrid} +variable ngridx equal 3*2 +variable ngridy equal 2*${ngrid} +variable ngridy equal 2*2 +variable ngridz equal 1*${ngrid} +variable ngridz equal 1*2 + +units metal +atom_modify map hash sort 0 0 + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrepx} +variable nx equal 3 +variable ny equal ${nrepy} +variable ny equal 2 +variable nz equal ${nrepz} +variable nz equal 1 + +boundary p p p + +lattice custom $a a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 +lattice custom 3.316 a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 +Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 + +box tilt large +region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} +region box prism 0 3 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} +region box prism 0 3 0 2 0 ${nz} ${ny} ${nz} ${nz} +region box prism 0 3 0 2 0 1 ${ny} ${nz} ${nz} +region box prism 0 3 0 2 0 1 2 ${nz} ${nz} +region box prism 0 3 0 2 0 1 2 1 ${nz} +region box prism 0 3 0 2 0 1 2 1 1 +create_box 1 box +Created triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) +WARNING: Triclinic box skew is large (src/domain.cpp:219) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 12 atoms + using lattice units in triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) + create_atoms CPU = 0.001 seconds + +mass 1 180.88 + +# define atom compute and grid compute + +group snapgroup type 1 +12 atoms in group snapgroup +variable twojmax equal 2 +variable rcutfac equal 4.67637 +variable rfac0 equal 0.99363 +variable rmin0 equal 0 +variable wj equal 1 +variable radelem equal 0.5 +variable bzero equal 0 +variable quadratic equal 0 +variable switch equal 1 + +variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}" +4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch} +4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# build zero potential to satisfy compute sna/atom + +pair_style zero ${rcutfac} +pair_style zero 4.67637 +pair_coeff * * + +# define atom and grid computes + +compute b all sna/atom ${snap_options} +compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${snap_options} +compute mygrid all sna/grid grid 6 ${ngridy} ${ngridz} ${snap_options} +compute mygrid all sna/grid grid 6 4 ${ngridz} ${snap_options} +compute mygrid all sna/grid grid 6 4 2 ${snap_options} +compute mygrid all sna/grid grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 +compute mygridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${snap_options} +compute mygridlocal all sna/grid/local grid 6 ${ngridy} ${ngridz} ${snap_options} +compute mygridlocal all sna/grid/local grid 6 4 ${ngridz} ${snap_options} +compute mygridlocal all sna/grid/local grid 6 4 2 ${snap_options} +compute mygridlocal all sna/grid/local grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1 + +# define output + +variable B5atom equal c_b[7][5] +variable B5grid equal c_mygrid[13][8] + +# do not compare x,y,z because assignment of ids +# to atoms is not unnique for different processor grids + +variable rmse_global equal "sqrt( (c_mygrid[13][4] - c_b[7][1])^2 + (c_mygrid[13][5] - c_b[7][2])^2 + (c_mygrid[13][6] - c_b[7][3])^2 + (c_mygrid[13][7] - c_b[7][4])^2 + (c_mygrid[13][8] - c_b[7][5])^2 )" + +thermo_style custom step v_B5atom v_B5grid v_rmse_global + +# this is the only way to view the local grid + +dump 1 all local 1000 dump.blocal.tri c_mygridlocal[*] +dump 2 all custom 1000 dump.batom.tri id x y z c_b[*] + +# run + +run 0 +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.67637 + ghost atom cutoff = 6.67637 + binsize = 3.338185, bins = 6 3 1 + 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/tri + bin: standard + (2) compute sna/atom, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (3) compute sna/grid, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (4) compute sna/grid/local, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.405 | 8.405 | 8.405 Mbytes +Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 2.1052124e-14 +Loop time of 1.25e-06 on 4 procs for 0 steps with 12 atoms + +140.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.25e-06 | | |100.00 + +Nlocal: 3.00000 ave 4 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 459.000 ave 460 max 458 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 96.0000 ave 128 max 64 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +FullNghs: 192.000 ave 256 max 128 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 768 +Ave neighs/atom = 64.000000 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 From 8004f8bf0ff3a9a4920017e9f6eabe55be48c09f Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 15 Jun 2022 18:59:48 -0600 Subject: [PATCH 071/153] Removed unneeded member functions and data --- src/compute_grid.cpp | 92 ++++---------------------------------------- src/compute_grid.h | 6 +-- 2 files changed, 9 insertions(+), 89 deletions(-) diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 52bd7d6307..91d320bf63 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -28,7 +28,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), grid(nullptr), gridall(nullptr), local_flags(nullptr), gridlocal(nullptr) + Compute(lmp, narg, arg), grid(nullptr), gridall(nullptr), gridlocal(nullptr) { if (narg < 6) error->all(FLERR,"Illegal compute grid command"); @@ -77,8 +77,6 @@ void ComputeGrid::setup() set_grid_global(); set_grid_local(); allocate(); - assign_coords(); - assign_local_flags(); } /* ---------------------------------------------------------------------- @@ -101,91 +99,18 @@ void ComputeGrid::grid2x(int igrid, double *x) } -/* ---------------------------------------------------------------------- - convert global array index to box coords -------------------------------------------------------------------------- */ - -void ComputeGrid::grid2ix(int igrid, int& ix, int& iy, int& iz) -{ - iz = igrid / (nx*ny); - igrid -= iz * (nx*ny); - iy = igrid / nx; - igrid -= iy * nx; - ix = igrid; -} - -// /* ---------------------------------------------------------------------- -// check if grid point is local -// ------------------------------------------------------------------------- */ - -// int ComputeGrid::check_local(int igrid) -// { -// double x[3]; - -// int iz = igrid / (nx*ny); -// igrid -= iz * (nx*ny); -// int iy = igrid / nx; -// igrid -= iy * nx; -// int ix = igrid; - -// x[0] = ix*delx; -// x[1] = iy*dely; -// x[2] = iz*delz; - -// int islocal = -// x[0] >= sublo[0] && x[0] < subhi[0] && -// x[1] >= sublo[1] && x[1] < subhi[1] && -// x[2] >= sublo[2] && x[2] < subhi[2]; - -// return islocal; -// } - -/* ---------------------------------------------------------------------- - check if grid point is local -------------------------------------------------------------------------- */ - -int ComputeGrid::check_local(int igrid) -{ - int ix, iy, iz; - - grid2ix(igrid, ix, iy, iz); - - int islocal = - ix >= nxlo && ix <= nxhi && - iy >= nylo && iy <= nyhi && - iz >= nzlo && iz <= nzhi; - - return islocal; -} - /* ---------------------------------------------------------------------- copy coords to global array ------------------------------------------------------------------------- */ -void ComputeGrid::assign_coords() +void ComputeGrid::assign_coords_all() { double x[3]; for (int igrid = 0; igrid < ngrid; igrid++) { grid2x(igrid,x); - grid[igrid][0] = x[0]; - grid[igrid][1] = x[1]; - grid[igrid][2] = x[2]; - } -} - -/* ---------------------------------------------------------------------- - copy coords to global array -------------------------------------------------------------------------- */ - -void ComputeGrid::assign_local_flags() -{ - for (int igrid = 0; igrid < ngrid; igrid++) { - if (check_local(igrid)) - local_flags[igrid] = 1; - else { - local_flags[igrid] = 0; - memset(grid[igrid],0,size_array_cols * sizeof(double)); - } + gridall[igrid][0] = x[0]; + gridall[igrid][1] = x[1]; + gridall[igrid][2] = x[2]; } } @@ -199,7 +124,6 @@ void ComputeGrid::allocate() memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); - memory->create(local_flags,size_array_rows,"grid:local_flags"); if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, @@ -217,7 +141,6 @@ void ComputeGrid::deallocate() { memory->destroy(grid); memory->destroy(gridall); - memory->destroy(local_flags); if (gridlocal_allocated) { gridlocal_allocated = 0; memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); @@ -322,8 +245,9 @@ void ComputeGrid::set_grid_local() double ComputeGrid::memory_usage() { double nbytes = size_array_rows*size_array_cols * - sizeof(double); // grid - nbytes += size_array_rows*sizeof(int); // local_flags + sizeof(double); // grid + nbytes += size_array_rows*size_array_cols * + sizeof(double); // gridall nbytes += size_array_cols*ngridlocal*sizeof(double); // gridlocal return nbytes; } diff --git a/src/compute_grid.h b/src/compute_grid.h index 421656febf..ab8e5bbf9e 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -46,16 +46,12 @@ class ComputeGrid : public Compute { int nargbase; // number of base class args double cutmax; // largest cutoff distance int size_array_cols_base; // number of columns used for coords, etc. - int *local_flags; // local flag for each grid point int gridlocal_allocated; // shows if gridlocal allocated void allocate(); // create arrays void deallocate(); // free arrays void grid2x(int, double*); // convert grid point to coord - void grid2ix(int, int&, int&, int&); // convert grid point to ix, iy, iz - void assign_coords(); // assign coords for grid - void assign_local_flags(); // set local flag for each grid point - int check_local(int); // check if grid point is local + void assign_coords_all(); // assign coords for global grid void set_grid_global(); // set global grid void set_grid_local(); // set bounds for local grid private: From 9d5f4bf1e9ad7b301c152db0069383d6147f0790 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 15 Jun 2022 19:02:14 -0600 Subject: [PATCH 072/153] Updated to include switchinnerflag support, anticipating merging in the latest LAMMPS --- src/ML-SNAP/compute_sna_grid.cpp | 36 ++++++++++++++++++++++++-- src/ML-SNAP/compute_sna_grid.h | 3 +++ src/ML-SNAP/compute_sna_grid_local.cpp | 32 ++++++++++++++++++++++- src/ML-SNAP/compute_sna_grid_local.h | 3 +++ 4 files changed, 71 insertions(+), 3 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 2def0cf6a4..d6ebcda3ef 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -61,6 +61,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : chemflag = 0; bnormflag = 0; wselfallflag = 0; + switchinnerflag = 0; nelements = 1; // process required arguments @@ -92,6 +93,11 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } } + // set local input checks + + int sinnerflag = 0; + int dinnerflag = 0; + // process optional args int iarg = nargmin; @@ -140,13 +146,37 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute sna/grid command"); wselfallflag = atoi(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute snap command"); + switchinnerflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"sinner") == 0) { + iarg++; + if (iarg+ntypes > narg) + error->all(FLERR,"Illegal compute snap command"); + memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); + for (int i = 0; i < ntypes; i++) + sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerflag = 1; + iarg += ntypes; + } else if (strcmp(arg[iarg],"dinner") == 0) { + iarg++; + if (iarg+ntypes > narg) + error->all(FLERR,"Illegal compute snap command"); + memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); + for (int i = 0; i < ntypes; i++) + dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerflag = 1; + iarg += ntypes; } else error->all(FLERR,"Illegal compute sna/grid command"); } snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, nelements); + chemflag, bnormflag, wselfallflag, + nelements, switchinnerflag); ncoeff = snaptr->ncoeff; nvalues = ncoeff; @@ -287,6 +317,8 @@ void ComputeSNAGrid::compute_array() } } + memset(grid[0],0,ngrid*size_array_cols*sizeof(double)); + for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { @@ -295,7 +327,7 @@ void ComputeSNAGrid::compute_array() grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; } MPI_Allreduce(&grid[0][0],&gridall[0][0],ngrid*size_array_cols,MPI_DOUBLE,MPI_SUM,world); - + assign_coords_all(); } diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index d40c87df9b..777b874505 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -42,6 +42,9 @@ class ComputeSNAGrid : public ComputeGrid { double *wjelem; int *map; // map types to [0,nelements) int nelements, chemflag; + int switchinnerflag; + double *sinnerelem; + double *dinnerelem; class SNA *snaptr; double cutmax; int quadraticflag; diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index c1574bfa26..7b26a88975 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -61,8 +61,14 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : chemflag = 0; bnormflag = 0; wselfallflag = 0; + switchinnerflag = 0; nelements = 1; + // set local input checks + + int sinnerflag = 0; + int dinnerflag = 0; + // process required arguments memory->create(radelem,ntypes+1,"sna/grid/local:radelem"); // offset by 1 to match up with types @@ -140,13 +146,37 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute sna/grid/local command"); wselfallflag = atoi(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute snap command"); + switchinnerflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"sinner") == 0) { + iarg++; + if (iarg+ntypes > narg) + error->all(FLERR,"Illegal compute snap command"); + memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); + for (int i = 0; i < ntypes; i++) + sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerflag = 1; + iarg += ntypes; + } else if (strcmp(arg[iarg],"dinner") == 0) { + iarg++; + if (iarg+ntypes > narg) + error->all(FLERR,"Illegal compute snap command"); + memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); + for (int i = 0; i < ntypes; i++) + dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerflag = 1; + iarg += ntypes; } else error->all(FLERR,"Illegal compute sna/grid/local command"); } snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, nelements); + chemflag, bnormflag, wselfallflag, + nelements, switchinnerflag); ncoeff = snaptr->ncoeff; nvalues = ncoeff; diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h index 21e321d123..853d629d87 100644 --- a/src/ML-SNAP/compute_sna_grid_local.h +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -42,6 +42,9 @@ class ComputeSNAGridLocal : public ComputeGridLocal { double *wjelem; int *map; // map types to [0,nelements) int nelements, chemflag; + int switchinnerflag; + double *sinnerelem; + double *dinnerelem; class SNA *snaptr; double cutmax; int quadraticflag; From 70f836e2753df19a5bcb106717d93bf66dd4cf4e Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 15 Jun 2022 19:53:37 -0600 Subject: [PATCH 073/153] Updated to latest LAMMPS --- src/ML-SNAP/compute_sna_grid.cpp | 37 +++++++++-------- src/ML-SNAP/compute_sna_grid_local.cpp | 36 +++++++++------- src/ML-SNAP/pair_sna_grid.cpp | 57 +++++++++++++++++++------- src/ML-SNAP/pair_sna_grid.h | 3 ++ 4 files changed, 88 insertions(+), 45 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index d6ebcda3ef..302e81ede2 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -148,13 +148,13 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); + error->all(FLERR,"Illegal compute sna/grid command"); switchinnerflag = atoi(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"sinner") == 0) { iarg++; if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); + error->all(FLERR,"Illegal compute sna/grid command"); memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); @@ -163,7 +163,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"dinner") == 0) { iarg++; if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); + error->all(FLERR,"Illegal compute sna/grid command"); memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); @@ -201,20 +201,20 @@ ComputeSNAGrid::~ComputeSNAGrid() void ComputeSNAGrid::init() { - if (force->pair == nullptr) - error->all(FLERR,"Compute sna/grid requires a pair style be defined"); + // if (force->pair == nullptr) + // error->all(FLERR,"Compute sna/grid requires a pair style be defined"); - if (cutmax > force->pair->cutforce) - error->all(FLERR,"Compute sna/grid cutoff is longer than pairwise cutoff"); + // if (cutmax > force->pair->cutforce) + // error->all(FLERR,"Compute sna/grid cutoff is longer than pairwise cutoff"); - // need an occasional full neighbor list + // // need an occasional full neighbor list - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->compute = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; + // int irequest = neighbor->request(this,instance_me); + // neighbor->requests[irequest]->pair = 0; + // neighbor->requests[irequest]->compute = 1; + // neighbor->requests[irequest]->half = 0; + // neighbor->requests[irequest]->full = 1; + // neighbor->requests[irequest]->occasional = 1; int count = 0; for (int i = 0; i < modify->ncompute; i++) @@ -282,7 +282,8 @@ void ComputeSNAGrid::compute_array() int jtype = type[j]; int jelem = 0; if (chemflag) - jelem = map[jtype]; + jelem = map[jtype]; + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; @@ -290,7 +291,11 @@ void ComputeSNAGrid::compute_array() snaptr->inside[ninside] = j; snaptr->wj[ninside] = wjelem[jtype]; snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - snaptr->element[ninside] = jelem; // element index for multi-element snap + if (switchinnerflag) { + snaptr->sinnerij[ninside] = sinnerelem[jelem]; + snaptr->dinnerij[ninside] = dinnerelem[jelem]; + } + if (chemflag) snaptr->element[ninside] = jelem; ninside++; } } diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 7b26a88975..67ac316834 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -148,13 +148,13 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); + error->all(FLERR,"Illegal compute sna/grid/local command"); switchinnerflag = atoi(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"sinner") == 0) { iarg++; if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); + error->all(FLERR,"Illegal compute sna/grid/local command"); memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); @@ -163,7 +163,7 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"dinner") == 0) { iarg++; if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); + error->all(FLERR,"Illegal compute sna/grid/local command"); memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); @@ -200,20 +200,20 @@ ComputeSNAGridLocal::~ComputeSNAGridLocal() void ComputeSNAGridLocal::init() { - if (force->pair == nullptr) - error->all(FLERR,"Compute sna/grid/local requires a pair style be defined"); + // if (force->pair == nullptr) + // error->all(FLERR,"Compute sna/grid/local requires a pair style be defined"); - if (cutmax > force->pair->cutforce) - error->all(FLERR,"Compute sna/grid/local cutoff is longer than pairwise cutoff"); + // if (cutmax > force->pair->cutforce) + // error->all(FLERR,"Compute sna/grid/local cutoff is longer than pairwise cutoff"); - // need an occasional full neighbor list + // // need an occasional full neighbor list - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->compute = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; + // int irequest = neighbor->request(this,instance_me); + // neighbor->requests[irequest]->pair = 0; + // neighbor->requests[irequest]->compute = 1; + // neighbor->requests[irequest]->half = 0; + // neighbor->requests[irequest]->full = 1; + // neighbor->requests[irequest]->occasional = 1; int count = 0; for (int i = 0; i < modify->ncompute; i++) @@ -234,6 +234,7 @@ void ComputeSNAGridLocal::init_list(int /*id*/, NeighList *ptr) void ComputeSNAGridLocal::compute_local() { + printf("Entering compute_local()\n"); invoked_array = update->ntimestep; // compute sna for each gridpoint @@ -290,7 +291,11 @@ void ComputeSNAGridLocal::compute_local() snaptr->inside[ninside] = j; snaptr->wj[ninside] = wjelem[jtype]; snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - snaptr->element[ninside] = jelem; // element index for multi-element snap + if (switchinnerflag) { + snaptr->sinnerij[ninside] = sinnerelem[jelem]; + snaptr->dinnerij[ninside] = dinnerelem[jelem]; + } + if (chemflag) snaptr->element[ninside] = jelem; // element index for multi-element snap ninside++; } } @@ -323,6 +328,7 @@ void ComputeSNAGridLocal::compute_local() // copy 4d array to 2d array copy_gridlocal_to_local_array(); + printf("Exiting compute_local()\n"); } diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index 43a07b48e4..effed79ebf 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -59,15 +59,16 @@ void PairSNAGrid::init_style() if (force->newton_pair == 0) error->all(FLERR,"Pair style sna/grid requires newton pair on"); - // need a full neighbor list + // // need a full neighbor list - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; + // int irequest = neighbor->request(this,instance_me); + // neighbor->requests[irequest]->half = 0; + // neighbor->requests[irequest]->full = 1; snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, nelements); + chemflag, bnormflag, wselfallflag, + nelements, switchinnerflag); ncoeff = snaptr->ncoeff; ndesc = ndesc_base + ncoeff; snaptr->init(); @@ -213,8 +214,8 @@ void PairSNAGrid::compute(int eflag, int vflag) const double rsq = delx*delx + dely*dely + delz*delz; int jtype = type[j]; int jelem = 0; - if (chemflag) - jelem = map[jtype]; + jelem = map[jtype]; + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; @@ -222,7 +223,11 @@ void PairSNAGrid::compute(int eflag, int vflag) snaptr->inside[ninside] = j; snaptr->wj[ninside] = wjelem[jtype]; snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - snaptr->element[ninside] = jelem; // element index for multi-element snap + if (switchinnerflag) { + snaptr->sinnerij[ninside] = 0.5*(sinnerelem[ielem]+sinnerelem[jelem]); + snaptr->dinnerij[ninside] = 0.5*(dinnerelem[ielem]+dinnerelem[jelem]); + } + if (chemflag) snaptr->element[ninside] = jelem; ninside++; } } @@ -243,12 +248,7 @@ void PairSNAGrid::compute(int eflag, int vflag) for (int jj = 0; jj < ninside; jj++) { int j = snaptr->inside[jj]; - if (chemflag) - snaptr->compute_duidrj(snaptr->rij[jj], snaptr->wj[jj], - snaptr->rcutij[jj],jj, snaptr->element[jj]); - else - snaptr->compute_duidrj(snaptr->rij[jj], snaptr->wj[jj], - snaptr->rcutij[jj],jj, 0); + snaptr->compute_duidrj(jj); snaptr->compute_deidrj(fij); @@ -326,6 +326,7 @@ void PairSNAGrid::settings(int narg, char ** arg) chemflag = 0; bnormflag = 0; wselfallflag = 0; + switchinnerflag = 0; nelements = 1; // process required arguments @@ -357,6 +358,11 @@ void PairSNAGrid::settings(int narg, char ** arg) } } + // set local input checks + + int sinnerflag = 0; + int dinnerflag = 0; + // process optional args int iarg = nargmin; @@ -405,6 +411,29 @@ void PairSNAGrid::settings(int narg, char ** arg) error->all(FLERR,"Illegal pair sna/grid command"); wselfallflag = atoi(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + switchinnerflag = atoi(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"sinner") == 0) { + iarg++; + if (iarg+ntypes > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); + for (int i = 0; i < ntypes; i++) + sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerflag = 1; + iarg += ntypes; + } else if (strcmp(arg[iarg],"dinner") == 0) { + iarg++; + if (iarg+ntypes > narg) + error->all(FLERR,"Illegal pair sna/grid command"); + memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); + for (int i = 0; i < ntypes; i++) + dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerflag = 1; + iarg += ntypes; } else error->all(FLERR,"Illegal pair sna/grid command"); } diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h index 9ae0eece79..653bb9d1c1 100644 --- a/src/ML-SNAP/pair_sna_grid.h +++ b/src/ML-SNAP/pair_sna_grid.h @@ -45,6 +45,9 @@ class PairSNAGrid : public PairGrid { int quadraticflag; int twojmax, switchflag, bzeroflag, bnormflag; int chemflag, wselfallflag; + int switchinnerflag; + double *sinnerelem; + double *dinnerelem; double rfac0, rmin0; }; From 483e3cf04996125511bcd2b5d7aa0d295fdb072e Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 15 Jun 2022 20:28:22 -0600 Subject: [PATCH 074/153] Eliminated global storage for grid/local --- src/ML-SNAP/compute_sna_grid_local.cpp | 33 +++----------- src/ML-SNAP/pair_sna_grid.cpp | 6 --- src/compute_grid_local.cpp | 63 +++++--------------------- src/compute_grid_local.h | 1 - 4 files changed, 18 insertions(+), 85 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 67ac316834..e45a334d67 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -200,21 +200,6 @@ ComputeSNAGridLocal::~ComputeSNAGridLocal() void ComputeSNAGridLocal::init() { - // if (force->pair == nullptr) - // error->all(FLERR,"Compute sna/grid/local requires a pair style be defined"); - - // if (cutmax > force->pair->cutforce) - // error->all(FLERR,"Compute sna/grid/local cutoff is longer than pairwise cutoff"); - - // // need an occasional full neighbor list - - // int irequest = neighbor->request(this,instance_me); - // neighbor->requests[irequest]->pair = 0; - // neighbor->requests[irequest]->compute = 1; - // neighbor->requests[irequest]->half = 0; - // neighbor->requests[irequest]->full = 1; - // neighbor->requests[irequest]->occasional = 1; - int count = 0; for (int i = 0; i < modify->ncompute; i++) if (strcmp(modify->compute[i]->style,"sna/grid/local") == 0) count++; @@ -234,7 +219,6 @@ void ComputeSNAGridLocal::init_list(int /*id*/, NeighList *ptr) void ComputeSNAGridLocal::compute_local() { - printf("Entering compute_local()\n"); invoked_array = update->ntimestep; // compute sna for each gridpoint @@ -248,6 +232,7 @@ void ComputeSNAGridLocal::compute_local() snaptr->grow_rij(ntotal); + int igrid = 0; for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { @@ -307,8 +292,7 @@ void ComputeSNAGridLocal::compute_local() // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - gridlocal[size_local_cols_base+icoeff][iz][iy][ix] = - snaptr->blist[icoeff]; + alocal[igrid][size_local_cols_base+icoeff] = snaptr->blist[icoeff]; // quadratic contributions @@ -316,19 +300,14 @@ void ComputeSNAGridLocal::compute_local() int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = snaptr->blist[icoeff]; - gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = - 0.5*bveci*bveci; + alocal[igrid][size_local_cols_base+ncount++] = 0.5*bveci*bveci; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[size_local_cols_base+ncount++][iz][iy][ix] = + alocal[igrid][size_local_cols_base+ncount++] = bveci*snaptr->blist[jcoeff]; } } + igrid++; } - - // copy 4d array to 2d array - - copy_gridlocal_to_local_array(); - printf("Exiting compute_local()\n"); } @@ -340,7 +319,7 @@ double ComputeSNAGridLocal::memory_usage() { double nbytes = snaptr->memory_usage(); // SNA object int n = atom->ntypes+1; - nbytes += (double)n*sizeof(int); // map + nbytes += (double)n*sizeof(int); // map return nbytes; } diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp index effed79ebf..ffb4dfa033 100644 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ b/src/ML-SNAP/pair_sna_grid.cpp @@ -59,12 +59,6 @@ void PairSNAGrid::init_style() if (force->newton_pair == 0) error->all(FLERR,"Pair style sna/grid requires newton pair on"); - // // need a full neighbor list - - // int irequest = neighbor->request(this,instance_me); - // neighbor->requests[irequest]->half = 0; - // neighbor->requests[irequest]->full = 1; - snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 504555a718..4169d23e54 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -117,8 +117,6 @@ void ComputeGridLocal::allocate() { if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; - memory->create4d_offset(gridlocal,size_local_cols,nzlo,nzhi,nylo,nyhi, - nxlo,nxhi,"grid:gridlocal"); memory->create(alocal, size_local_rows, size_local_cols, "compute/grid/local:alocal"); array_local = alocal; } @@ -132,7 +130,6 @@ void ComputeGridLocal::deallocate() { if (gridlocal_allocated) { gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); memory->destroy(alocal); } array_local = nullptr; @@ -208,19 +205,6 @@ void ComputeGridLocal::set_grid_local() zfrachi = comm->mysplit[2][1]; } - // // not fully clear why this works - // // without, sometimes get uneven assignments - // // in case where ngridz is multiple of nprocz - - // double MYEPS = 1.0e-10; - - // xfraclo += MYEPS; - // xfrachi += MYEPS; - // yfraclo += MYEPS; - // yfrachi += MYEPS; - // zfraclo += MYEPS; - // zfrachi += MYEPS; - nxlo = static_cast (xfraclo * nx); if (1.0*nxlo != xfraclo*nx) nxlo++; nxhi = static_cast (xfrachi * nx); @@ -255,27 +239,20 @@ void ComputeGridLocal::assign_coords() alocal[igrid][2] = iz; double xgrid[3]; - // For triclinic: create gridpoint in lamda coordinates and transform after check. - // For orthorombic: create gridpoint in box coordinates. + // for triclinic: create gridpoint in lamda coordinates and transform after check. + // for orthorombic: create gridpoint in box coordinates. - if (triclinic) - { - grid2lamda(ix, iy, iz, xgrid); - } - else - { - grid2x(ix, iy, iz, xgrid); - } + if (triclinic) + grid2lamda(ix, iy, iz, xgrid); + else + grid2x(ix, iy, iz, xgrid); - // Ensure gridpoint is not strictly outside subdomain. - // There have been some problem with a gridpoint being something like 2e-17 outside of the subdomain, - // thus the EPISLON check. - if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || - (sublo[1]-xgrid[1]) > EPSILON || (xgrid[1]-subhi[1]) > EPSILON || - (sublo[2]-xgrid[2]) > EPSILON || (xgrid[2]-subhi[2]) > EPSILON) - { - error->one(FLERR,"Invalid gridpoint position in compute grid/local"); - } + // ensure gridpoint is not strictly outside subdomain + + if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || + (sublo[1]-xgrid[1]) > EPSILON || (xgrid[1]-subhi[1]) > EPSILON || + (sublo[2]-xgrid[2]) > EPSILON || (xgrid[2]-subhi[2]) > EPSILON) + error->one(FLERR,"Invalid gridpoint position in compute grid/local"); // convert lamda to x, y, z, after sudomain check @@ -288,22 +265,6 @@ void ComputeGridLocal::assign_coords() } } -/* ---------------------------------------------------------------------- - copy the 4d gridlocal array values to the 2d local array -------------------------------------------------------------------------- */ - -void ComputeGridLocal::copy_gridlocal_to_local_array() -{ - int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) - for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { - for (int icol = size_local_cols_base; icol < size_local_cols; icol++) - alocal[igrid][icol] = gridlocal[icol][iz][iy][ix]; - igrid++; - } -} - /* ---------------------------------------------------------------------- memory usage of local data ------------------------------------------------------------------------- */ diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index 79a5ea765d..0e6e37cd35 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -53,7 +53,6 @@ class ComputeGridLocal : public Compute { void set_grid_global(); // set global grid void set_grid_local(); // set bounds for local grid void assign_coords(); // assign coords for grid - void copy_gridlocal_to_local_array();// copy 4d gridlocal array to 2d local array private: }; From e30f86c2ff31775d8dd282e157f7c056c5693505 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 16 Jun 2022 08:22:51 -0600 Subject: [PATCH 075/153] Removed a few more unnecessary member data --- src/compute_grid_local.cpp | 7 +++---- src/compute_grid_local.h | 2 -- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 4169d23e54..bcc56c3abd 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -32,7 +32,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGridLocal::ComputeGridLocal(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), gridlocal(nullptr), alocal(nullptr) + Compute(lmp, narg, arg), alocal(nullptr) { if (narg < 6) error->all(FLERR,"Illegal compute grid/local command"); @@ -220,8 +220,7 @@ void ComputeGridLocal::set_grid_local() nzhi = static_cast (zfrachi * nz); if (1.0*nzhi == zfrachi*nz) nzhi--; - ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); - size_local_rows = ngridlocal; + size_local_rows = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); } /* ---------------------------------------------------------------------- @@ -271,6 +270,6 @@ void ComputeGridLocal::assign_coords() double ComputeGridLocal::memory_usage() { - int nbytes = size_local_cols*ngridlocal*sizeof(double); // gridlocal + int nbytes = size_local_rows * size_local_cols * sizeof(double); // gridlocal return nbytes; } diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index 0e6e37cd35..15ea8ca47f 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -32,9 +32,7 @@ class ComputeGridLocal : public Compute { protected: int nx, ny, nz; // global grid dimensions int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive - int ngridlocal; // number of local grid points int nvalues; // number of values per grid point - double ****gridlocal; // local grid, redundant w.r.t. alocal double **alocal; // pointer to Compute::array_local int triclinic; // triclinic flag double *boxlo, *prd; // box info (units real/ortho or reduced/tri) From 535a5211fc60dcd9571596ac1403c8f1f91fa6d9 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 16 Jun 2022 10:33:54 -0600 Subject: [PATCH 076/153] More cleanup --- src/ML-SNAP/compute_sna_grid.cpp | 23 ++++++++--------------- src/ML-SNAP/compute_sna_grid_local.cpp | 6 ++++++ 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 302e81ede2..e96b54e7ed 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -173,6 +173,12 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } + if (switchinnerflag && !(sinnerflag && dinnerflag)) + error->all(FLERR,"Illegal compute sna/grid command: switchinnerflag = 1, missing sinner/dinner keyword"); + + if (!switchinnerflag && (sinnerflag || dinnerflag)) + error->all(FLERR,"Illegal compute sna/grid command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, @@ -201,21 +207,6 @@ ComputeSNAGrid::~ComputeSNAGrid() void ComputeSNAGrid::init() { - // if (force->pair == nullptr) - // error->all(FLERR,"Compute sna/grid requires a pair style be defined"); - - // if (cutmax > force->pair->cutforce) - // error->all(FLERR,"Compute sna/grid cutoff is longer than pairwise cutoff"); - - // // need an occasional full neighbor list - - // int irequest = neighbor->request(this,instance_me); - // neighbor->requests[irequest]->pair = 0; - // neighbor->requests[irequest]->compute = 1; - // neighbor->requests[irequest]->half = 0; - // neighbor->requests[irequest]->full = 1; - // neighbor->requests[irequest]->occasional = 1; - int count = 0; for (int i = 0; i < modify->ncompute; i++) if (strcmp(modify->compute[i]->style,"sna/grid") == 0) count++; @@ -284,6 +275,8 @@ void ComputeSNAGrid::compute_array() if (chemflag) jelem = map[jtype]; + // printf("jtype = %d cutsq[jtype][jtype] = %g\n", + // jtype, cutsq[jtype][jtype]); if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index e45a334d67..1dacc28617 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -173,6 +173,12 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : } + if (switchinnerflag && !(sinnerflag && dinnerflag)) + error->all(FLERR,"Illegal compute sna/grid/local command: switchinnerflag = 1, missing sinner/dinner keyword"); + + if (!switchinnerflag && (sinnerflag || dinnerflag)) + error->all(FLERR,"Illegal compute sna/grid/local command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, From 4dbecbba51c4c2e1e9465e97a7ab79aa5c536ad0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 16 Jun 2022 16:07:40 -0600 Subject: [PATCH 077/153] more work on examples --- examples/mdi/README | 6 +- examples/mdi/Run.sh | 16 +- examples/mdi/aimd_driver.py | 6 +- examples/mdi/data.series.0.7 | 1018 +++++++++++++++++++++ examples/mdi/data.series.0.8 | 1018 +++++++++++++++++++++ examples/mdi/data.series.0.9 | 1018 +++++++++++++++++++++ examples/mdi/data.snapshot | 1018 +++++++++++++++++++++ examples/mdi/in.aimd.alone | 2 +- examples/mdi/in.aimd.driver | 2 +- examples/mdi/in.aimd.driver.plugin | 2 +- examples/mdi/in.aimd.engine | 3 + examples/mdi/{in.aimd.mm => in.aimdpy.mm} | 0 examples/mdi/{in.aimd.qm => in.aimdpy.qm} | 0 examples/mdi/in.series.alone | 6 +- examples/mdi/in.series.driver | 10 +- examples/mdi/in.series.driver.plugin | 10 +- examples/mdi/in.snapshot.alone | 14 +- examples/mdi/in.snapshot.driver | 20 +- examples/mdi/in.snapshot.driver.plugin | 16 +- src/MDI/fix_mdi_qm.cpp | 12 +- 20 files changed, 4124 insertions(+), 73 deletions(-) create mode 100644 examples/mdi/data.series.0.7 create mode 100644 examples/mdi/data.series.0.8 create mode 100644 examples/mdi/data.series.0.9 create mode 100644 examples/mdi/data.snapshot rename examples/mdi/{in.aimd.mm => in.aimdpy.mm} (100%) rename examples/mdi/{in.aimd.qm => in.aimdpy.qm} (100%) diff --git a/examples/mdi/README b/examples/mdi/README index 9380e2e79a..9ab3a3baf6 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -36,7 +36,7 @@ using same the same version of MPI. 5 use-case examples are explained below. See the Run.sh file for commands to run each of the examples -in all the different modes. +in all the different modes. Type "sh Run.sh" to run them all. In the first 3 examples, results running with MDI should be identical to running without MDI (alone log files). Example #4 has no non-MDI @@ -130,5 +130,5 @@ used to link to the 2 engines as a plugin libraries. The example run commands below use the default values of the optional switch. The switch is also explained the top of the file; the info is copied here: -# -nsteps 5 -# number of timesteps in dynamics runs, default = 5 +# -nsteps 10 +# number of timesteps in dynamics runs, default = 10 diff --git a/examples/mdi/Run.sh b/examples/mdi/Run.sh index 55c5638841..934b25d4e1 100644 --- a/examples/mdi/Run.sh +++ b/examples/mdi/Run.sh @@ -227,30 +227,30 @@ mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name # Run with TCP: 1 proc each -python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021" & +python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method TCP -port 8021" > log.aimdpy.driver.tcp.1 & -lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.1 -in in.aimd.mm & +lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.1 -in in.aimdpy.mm & -lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.1 -in in.aimd.qm +lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.1 -in in.aimdpy.qm # --- # Run with TCP: 2 procs + 2 procs + 3 procs -mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021" & +mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method TCP -port 8021" > log.aimdpy.driver.tcp.2 & -mpirun -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimd.mm.tcp.2 -in in.aimd.mm & +mpirun -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.2 -in in.aimdpy.mm & -mpirun -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimd.qm.tcp.3 -in in.aimd.qm +mpirun -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.3 -in in.aimdpy.qm # --- # Run with MPI: 1 proc each -mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm.mpi.1 -in in.aimd.mm : -np 1 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm.qm.1 -in in.aimd.qm +mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimdpy.mm.mpi.1 -in in.aimdpy.mm : -np 1 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimdpy.qm.mpi.1 -in in.aimdpy.qm > log.aimdpy.driver.mpi.1 # --- # Run with MPI: 2 procs + 2 procs + 3 procs -mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm.mpi.2 -in in.aimd.mm : -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm.mpi.3 -in in.aimd.qm +mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method MPI" : -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimdpy.mm.mpi.2 -in in.aimdpy.mm : -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimdpy.qm.mpi.3 -in in.aimdpy.qm > log.aimdpy.driver.mpi.2 diff --git a/examples/mdi/aimd_driver.py b/examples/mdi/aimd_driver.py index 2d8fe10c1a..cb01a85e42 100644 --- a/examples/mdi/aimd_driver.py +++ b/examples/mdi/aimd_driver.py @@ -23,8 +23,8 @@ # -plugin_args arglist # args to add when launching plugin library, only when using plugin mode # enclose arglist in quotes if multiple words -# -nsteps 5 -# number of timesteps, default = 5 +# -nsteps 10 +# number of timesteps, default = 10 import sys,math,random import mdi @@ -183,7 +183,7 @@ mdiarg = "" plugin = "" plugin_args = "" -nsteps = 5 +nsteps = 10 # parse command-line args diff --git a/examples/mdi/data.series.0.7 b/examples/mdi/data.series.0.7 new file mode 100644 index 0000000000..641d8b07c9 --- /dev/null +++ b/examples/mdi/data.series.0.7 @@ -0,0 +1,1018 @@ +LAMMPS data file via write_data, version 2 Jun 2022, timestep = 0 + +500 atoms +1 atom types + +0 8.939035350965677 xlo xhi +0 8.939035350965677 ylo yhi +0 8.939035350965677 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.8939035350965676 0.8939035350965676 0 0 0 0 +3 1 0.8939035350965676 0 0.8939035350965676 0 0 0 +4 1 0 0.8939035350965676 0.8939035350965676 0 0 0 +5 1 1.7878070701931352 0 0 0 0 0 +6 1 2.6817106052897026 0.8939035350965676 0 0 0 0 +7 1 2.6817106052897026 0 0.8939035350965676 0 0 0 +8 1 1.7878070701931352 0.8939035350965676 0.8939035350965676 0 0 0 +9 1 3.5756141403862705 0 0 0 0 0 +10 1 4.469517675482838 0.8939035350965676 0 0 0 0 +11 1 4.469517675482838 0 0.8939035350965676 0 0 0 +12 1 3.5756141403862705 0.8939035350965676 0.8939035350965676 0 0 0 +13 1 5.363421210579405 0 0 0 0 0 +14 1 6.257324745675973 0.8939035350965676 0 0 0 0 +15 1 6.257324745675973 0 0.8939035350965676 0 0 0 +16 1 5.363421210579405 0.8939035350965676 0.8939035350965676 0 0 0 +17 1 7.151228280772541 0 0 0 0 0 +18 1 8.045131815869109 0.8939035350965676 0 0 0 0 +19 1 8.045131815869109 0 0.8939035350965676 0 0 0 +20 1 7.151228280772541 0.8939035350965676 0.8939035350965676 0 0 0 +21 1 0 1.7878070701931352 0 0 0 0 +22 1 0.8939035350965676 2.6817106052897026 0 0 0 0 +23 1 0.8939035350965676 1.7878070701931352 0.8939035350965676 0 0 0 +24 1 0 2.6817106052897026 0.8939035350965676 0 0 0 +25 1 1.7878070701931352 1.7878070701931352 0 0 0 0 +26 1 2.6817106052897026 2.6817106052897026 0 0 0 0 +27 1 2.6817106052897026 1.7878070701931352 0.8939035350965676 0 0 0 +28 1 1.7878070701931352 2.6817106052897026 0.8939035350965676 0 0 0 +29 1 3.5756141403862705 1.7878070701931352 0 0 0 0 +30 1 4.469517675482838 2.6817106052897026 0 0 0 0 +31 1 4.469517675482838 1.7878070701931352 0.8939035350965676 0 0 0 +32 1 3.5756141403862705 2.6817106052897026 0.8939035350965676 0 0 0 +33 1 5.363421210579405 1.7878070701931352 0 0 0 0 +34 1 6.257324745675973 2.6817106052897026 0 0 0 0 +35 1 6.257324745675973 1.7878070701931352 0.8939035350965676 0 0 0 +36 1 5.363421210579405 2.6817106052897026 0.8939035350965676 0 0 0 +37 1 7.151228280772541 1.7878070701931352 0 0 0 0 +38 1 8.045131815869109 2.6817106052897026 0 0 0 0 +39 1 8.045131815869109 1.7878070701931352 0.8939035350965676 0 0 0 +40 1 7.151228280772541 2.6817106052897026 0.8939035350965676 0 0 0 +41 1 0 3.5756141403862705 0 0 0 0 +42 1 0.8939035350965676 4.469517675482838 0 0 0 0 +43 1 0.8939035350965676 3.5756141403862705 0.8939035350965676 0 0 0 +44 1 0 4.469517675482838 0.8939035350965676 0 0 0 +45 1 1.7878070701931352 3.5756141403862705 0 0 0 0 +46 1 2.6817106052897026 4.469517675482838 0 0 0 0 +47 1 2.6817106052897026 3.5756141403862705 0.8939035350965676 0 0 0 +48 1 1.7878070701931352 4.469517675482838 0.8939035350965676 0 0 0 +49 1 3.5756141403862705 3.5756141403862705 0 0 0 0 +50 1 4.469517675482838 4.469517675482838 0 0 0 0 +51 1 4.469517675482838 3.5756141403862705 0.8939035350965676 0 0 0 +52 1 3.5756141403862705 4.469517675482838 0.8939035350965676 0 0 0 +53 1 5.363421210579405 3.5756141403862705 0 0 0 0 +54 1 6.257324745675973 4.469517675482838 0 0 0 0 +55 1 6.257324745675973 3.5756141403862705 0.8939035350965676 0 0 0 +56 1 5.363421210579405 4.469517675482838 0.8939035350965676 0 0 0 +57 1 7.151228280772541 3.5756141403862705 0 0 0 0 +58 1 8.045131815869109 4.469517675482838 0 0 0 0 +59 1 8.045131815869109 3.5756141403862705 0.8939035350965676 0 0 0 +60 1 7.151228280772541 4.469517675482838 0.8939035350965676 0 0 0 +61 1 0 5.363421210579405 0 0 0 0 +62 1 0.8939035350965676 6.257324745675973 0 0 0 0 +63 1 0.8939035350965676 5.363421210579405 0.8939035350965676 0 0 0 +64 1 0 6.257324745675973 0.8939035350965676 0 0 0 +65 1 1.7878070701931352 5.363421210579405 0 0 0 0 +66 1 2.6817106052897026 6.257324745675973 0 0 0 0 +67 1 2.6817106052897026 5.363421210579405 0.8939035350965676 0 0 0 +68 1 1.7878070701931352 6.257324745675973 0.8939035350965676 0 0 0 +69 1 3.5756141403862705 5.363421210579405 0 0 0 0 +70 1 4.469517675482838 6.257324745675973 0 0 0 0 +71 1 4.469517675482838 5.363421210579405 0.8939035350965676 0 0 0 +72 1 3.5756141403862705 6.257324745675973 0.8939035350965676 0 0 0 +73 1 5.363421210579405 5.363421210579405 0 0 0 0 +74 1 6.257324745675973 6.257324745675973 0 0 0 0 +75 1 6.257324745675973 5.363421210579405 0.8939035350965676 0 0 0 +76 1 5.363421210579405 6.257324745675973 0.8939035350965676 0 0 0 +77 1 7.151228280772541 5.363421210579405 0 0 0 0 +78 1 8.045131815869109 6.257324745675973 0 0 0 0 +79 1 8.045131815869109 5.363421210579405 0.8939035350965676 0 0 0 +80 1 7.151228280772541 6.257324745675973 0.8939035350965676 0 0 0 +81 1 0 7.151228280772541 0 0 0 0 +82 1 0.8939035350965676 8.045131815869109 0 0 0 0 +83 1 0.8939035350965676 7.151228280772541 0.8939035350965676 0 0 0 +84 1 0 8.045131815869109 0.8939035350965676 0 0 0 +85 1 1.7878070701931352 7.151228280772541 0 0 0 0 +86 1 2.6817106052897026 8.045131815869109 0 0 0 0 +87 1 2.6817106052897026 7.151228280772541 0.8939035350965676 0 0 0 +88 1 1.7878070701931352 8.045131815869109 0.8939035350965676 0 0 0 +89 1 3.5756141403862705 7.151228280772541 0 0 0 0 +90 1 4.469517675482838 8.045131815869109 0 0 0 0 +91 1 4.469517675482838 7.151228280772541 0.8939035350965676 0 0 0 +92 1 3.5756141403862705 8.045131815869109 0.8939035350965676 0 0 0 +93 1 5.363421210579405 7.151228280772541 0 0 0 0 +94 1 6.257324745675973 8.045131815869109 0 0 0 0 +95 1 6.257324745675973 7.151228280772541 0.8939035350965676 0 0 0 +96 1 5.363421210579405 8.045131815869109 0.8939035350965676 0 0 0 +97 1 7.151228280772541 7.151228280772541 0 0 0 0 +98 1 8.045131815869109 8.045131815869109 0 0 0 0 +99 1 8.045131815869109 7.151228280772541 0.8939035350965676 0 0 0 +100 1 7.151228280772541 8.045131815869109 0.8939035350965676 0 0 0 +101 1 0 0 1.7878070701931352 0 0 0 +102 1 0.8939035350965676 0.8939035350965676 1.7878070701931352 0 0 0 +103 1 0.8939035350965676 0 2.6817106052897026 0 0 0 +104 1 0 0.8939035350965676 2.6817106052897026 0 0 0 +105 1 1.7878070701931352 0 1.7878070701931352 0 0 0 +106 1 2.6817106052897026 0.8939035350965676 1.7878070701931352 0 0 0 +107 1 2.6817106052897026 0 2.6817106052897026 0 0 0 +108 1 1.7878070701931352 0.8939035350965676 2.6817106052897026 0 0 0 +109 1 3.5756141403862705 0 1.7878070701931352 0 0 0 +110 1 4.469517675482838 0.8939035350965676 1.7878070701931352 0 0 0 +111 1 4.469517675482838 0 2.6817106052897026 0 0 0 +112 1 3.5756141403862705 0.8939035350965676 2.6817106052897026 0 0 0 +113 1 5.363421210579405 0 1.7878070701931352 0 0 0 +114 1 6.257324745675973 0.8939035350965676 1.7878070701931352 0 0 0 +115 1 6.257324745675973 0 2.6817106052897026 0 0 0 +116 1 5.363421210579405 0.8939035350965676 2.6817106052897026 0 0 0 +117 1 7.151228280772541 0 1.7878070701931352 0 0 0 +118 1 8.045131815869109 0.8939035350965676 1.7878070701931352 0 0 0 +119 1 8.045131815869109 0 2.6817106052897026 0 0 0 +120 1 7.151228280772541 0.8939035350965676 2.6817106052897026 0 0 0 +121 1 0 1.7878070701931352 1.7878070701931352 0 0 0 +122 1 0.8939035350965676 2.6817106052897026 1.7878070701931352 0 0 0 +123 1 0.8939035350965676 1.7878070701931352 2.6817106052897026 0 0 0 +124 1 0 2.6817106052897026 2.6817106052897026 0 0 0 +125 1 1.7878070701931352 1.7878070701931352 1.7878070701931352 0 0 0 +126 1 2.6817106052897026 2.6817106052897026 1.7878070701931352 0 0 0 +127 1 2.6817106052897026 1.7878070701931352 2.6817106052897026 0 0 0 +128 1 1.7878070701931352 2.6817106052897026 2.6817106052897026 0 0 0 +129 1 3.5756141403862705 1.7878070701931352 1.7878070701931352 0 0 0 +130 1 4.469517675482838 2.6817106052897026 1.7878070701931352 0 0 0 +131 1 4.469517675482838 1.7878070701931352 2.6817106052897026 0 0 0 +132 1 3.5756141403862705 2.6817106052897026 2.6817106052897026 0 0 0 +133 1 5.363421210579405 1.7878070701931352 1.7878070701931352 0 0 0 +134 1 6.257324745675973 2.6817106052897026 1.7878070701931352 0 0 0 +135 1 6.257324745675973 1.7878070701931352 2.6817106052897026 0 0 0 +136 1 5.363421210579405 2.6817106052897026 2.6817106052897026 0 0 0 +137 1 7.151228280772541 1.7878070701931352 1.7878070701931352 0 0 0 +138 1 8.045131815869109 2.6817106052897026 1.7878070701931352 0 0 0 +139 1 8.045131815869109 1.7878070701931352 2.6817106052897026 0 0 0 +140 1 7.151228280772541 2.6817106052897026 2.6817106052897026 0 0 0 +141 1 0 3.5756141403862705 1.7878070701931352 0 0 0 +142 1 0.8939035350965676 4.469517675482838 1.7878070701931352 0 0 0 +143 1 0.8939035350965676 3.5756141403862705 2.6817106052897026 0 0 0 +144 1 0 4.469517675482838 2.6817106052897026 0 0 0 +145 1 1.7878070701931352 3.5756141403862705 1.7878070701931352 0 0 0 +146 1 2.6817106052897026 4.469517675482838 1.7878070701931352 0 0 0 +147 1 2.6817106052897026 3.5756141403862705 2.6817106052897026 0 0 0 +148 1 1.7878070701931352 4.469517675482838 2.6817106052897026 0 0 0 +149 1 3.5756141403862705 3.5756141403862705 1.7878070701931352 0 0 0 +150 1 4.469517675482838 4.469517675482838 1.7878070701931352 0 0 0 +151 1 4.469517675482838 3.5756141403862705 2.6817106052897026 0 0 0 +152 1 3.5756141403862705 4.469517675482838 2.6817106052897026 0 0 0 +153 1 5.363421210579405 3.5756141403862705 1.7878070701931352 0 0 0 +154 1 6.257324745675973 4.469517675482838 1.7878070701931352 0 0 0 +155 1 6.257324745675973 3.5756141403862705 2.6817106052897026 0 0 0 +156 1 5.363421210579405 4.469517675482838 2.6817106052897026 0 0 0 +157 1 7.151228280772541 3.5756141403862705 1.7878070701931352 0 0 0 +158 1 8.045131815869109 4.469517675482838 1.7878070701931352 0 0 0 +159 1 8.045131815869109 3.5756141403862705 2.6817106052897026 0 0 0 +160 1 7.151228280772541 4.469517675482838 2.6817106052897026 0 0 0 +161 1 0 5.363421210579405 1.7878070701931352 0 0 0 +162 1 0.8939035350965676 6.257324745675973 1.7878070701931352 0 0 0 +163 1 0.8939035350965676 5.363421210579405 2.6817106052897026 0 0 0 +164 1 0 6.257324745675973 2.6817106052897026 0 0 0 +165 1 1.7878070701931352 5.363421210579405 1.7878070701931352 0 0 0 +166 1 2.6817106052897026 6.257324745675973 1.7878070701931352 0 0 0 +167 1 2.6817106052897026 5.363421210579405 2.6817106052897026 0 0 0 +168 1 1.7878070701931352 6.257324745675973 2.6817106052897026 0 0 0 +169 1 3.5756141403862705 5.363421210579405 1.7878070701931352 0 0 0 +170 1 4.469517675482838 6.257324745675973 1.7878070701931352 0 0 0 +171 1 4.469517675482838 5.363421210579405 2.6817106052897026 0 0 0 +172 1 3.5756141403862705 6.257324745675973 2.6817106052897026 0 0 0 +173 1 5.363421210579405 5.363421210579405 1.7878070701931352 0 0 0 +174 1 6.257324745675973 6.257324745675973 1.7878070701931352 0 0 0 +175 1 6.257324745675973 5.363421210579405 2.6817106052897026 0 0 0 +176 1 5.363421210579405 6.257324745675973 2.6817106052897026 0 0 0 +177 1 7.151228280772541 5.363421210579405 1.7878070701931352 0 0 0 +178 1 8.045131815869109 6.257324745675973 1.7878070701931352 0 0 0 +179 1 8.045131815869109 5.363421210579405 2.6817106052897026 0 0 0 +180 1 7.151228280772541 6.257324745675973 2.6817106052897026 0 0 0 +181 1 0 7.151228280772541 1.7878070701931352 0 0 0 +182 1 0.8939035350965676 8.045131815869109 1.7878070701931352 0 0 0 +183 1 0.8939035350965676 7.151228280772541 2.6817106052897026 0 0 0 +184 1 0 8.045131815869109 2.6817106052897026 0 0 0 +185 1 1.7878070701931352 7.151228280772541 1.7878070701931352 0 0 0 +186 1 2.6817106052897026 8.045131815869109 1.7878070701931352 0 0 0 +187 1 2.6817106052897026 7.151228280772541 2.6817106052897026 0 0 0 +188 1 1.7878070701931352 8.045131815869109 2.6817106052897026 0 0 0 +189 1 3.5756141403862705 7.151228280772541 1.7878070701931352 0 0 0 +190 1 4.469517675482838 8.045131815869109 1.7878070701931352 0 0 0 +191 1 4.469517675482838 7.151228280772541 2.6817106052897026 0 0 0 +192 1 3.5756141403862705 8.045131815869109 2.6817106052897026 0 0 0 +193 1 5.363421210579405 7.151228280772541 1.7878070701931352 0 0 0 +194 1 6.257324745675973 8.045131815869109 1.7878070701931352 0 0 0 +195 1 6.257324745675973 7.151228280772541 2.6817106052897026 0 0 0 +196 1 5.363421210579405 8.045131815869109 2.6817106052897026 0 0 0 +197 1 7.151228280772541 7.151228280772541 1.7878070701931352 0 0 0 +198 1 8.045131815869109 8.045131815869109 1.7878070701931352 0 0 0 +199 1 8.045131815869109 7.151228280772541 2.6817106052897026 0 0 0 +200 1 7.151228280772541 8.045131815869109 2.6817106052897026 0 0 0 +201 1 0 0 3.5756141403862705 0 0 0 +202 1 0.8939035350965676 0.8939035350965676 3.5756141403862705 0 0 0 +203 1 0.8939035350965676 0 4.469517675482838 0 0 0 +204 1 0 0.8939035350965676 4.469517675482838 0 0 0 +205 1 1.7878070701931352 0 3.5756141403862705 0 0 0 +206 1 2.6817106052897026 0.8939035350965676 3.5756141403862705 0 0 0 +207 1 2.6817106052897026 0 4.469517675482838 0 0 0 +208 1 1.7878070701931352 0.8939035350965676 4.469517675482838 0 0 0 +209 1 3.5756141403862705 0 3.5756141403862705 0 0 0 +210 1 4.469517675482838 0.8939035350965676 3.5756141403862705 0 0 0 +211 1 4.469517675482838 0 4.469517675482838 0 0 0 +212 1 3.5756141403862705 0.8939035350965676 4.469517675482838 0 0 0 +213 1 5.363421210579405 0 3.5756141403862705 0 0 0 +214 1 6.257324745675973 0.8939035350965676 3.5756141403862705 0 0 0 +215 1 6.257324745675973 0 4.469517675482838 0 0 0 +216 1 5.363421210579405 0.8939035350965676 4.469517675482838 0 0 0 +217 1 7.151228280772541 0 3.5756141403862705 0 0 0 +218 1 8.045131815869109 0.8939035350965676 3.5756141403862705 0 0 0 +219 1 8.045131815869109 0 4.469517675482838 0 0 0 +220 1 7.151228280772541 0.8939035350965676 4.469517675482838 0 0 0 +221 1 0 1.7878070701931352 3.5756141403862705 0 0 0 +222 1 0.8939035350965676 2.6817106052897026 3.5756141403862705 0 0 0 +223 1 0.8939035350965676 1.7878070701931352 4.469517675482838 0 0 0 +224 1 0 2.6817106052897026 4.469517675482838 0 0 0 +225 1 1.7878070701931352 1.7878070701931352 3.5756141403862705 0 0 0 +226 1 2.6817106052897026 2.6817106052897026 3.5756141403862705 0 0 0 +227 1 2.6817106052897026 1.7878070701931352 4.469517675482838 0 0 0 +228 1 1.7878070701931352 2.6817106052897026 4.469517675482838 0 0 0 +229 1 3.5756141403862705 1.7878070701931352 3.5756141403862705 0 0 0 +230 1 4.469517675482838 2.6817106052897026 3.5756141403862705 0 0 0 +231 1 4.469517675482838 1.7878070701931352 4.469517675482838 0 0 0 +232 1 3.5756141403862705 2.6817106052897026 4.469517675482838 0 0 0 +233 1 5.363421210579405 1.7878070701931352 3.5756141403862705 0 0 0 +234 1 6.257324745675973 2.6817106052897026 3.5756141403862705 0 0 0 +235 1 6.257324745675973 1.7878070701931352 4.469517675482838 0 0 0 +236 1 5.363421210579405 2.6817106052897026 4.469517675482838 0 0 0 +237 1 7.151228280772541 1.7878070701931352 3.5756141403862705 0 0 0 +238 1 8.045131815869109 2.6817106052897026 3.5756141403862705 0 0 0 +239 1 8.045131815869109 1.7878070701931352 4.469517675482838 0 0 0 +240 1 7.151228280772541 2.6817106052897026 4.469517675482838 0 0 0 +241 1 0 3.5756141403862705 3.5756141403862705 0 0 0 +242 1 0.8939035350965676 4.469517675482838 3.5756141403862705 0 0 0 +243 1 0.8939035350965676 3.5756141403862705 4.469517675482838 0 0 0 +244 1 0 4.469517675482838 4.469517675482838 0 0 0 +245 1 1.7878070701931352 3.5756141403862705 3.5756141403862705 0 0 0 +246 1 2.6817106052897026 4.469517675482838 3.5756141403862705 0 0 0 +247 1 2.6817106052897026 3.5756141403862705 4.469517675482838 0 0 0 +248 1 1.7878070701931352 4.469517675482838 4.469517675482838 0 0 0 +249 1 3.5756141403862705 3.5756141403862705 3.5756141403862705 0 0 0 +250 1 4.469517675482838 4.469517675482838 3.5756141403862705 0 0 0 +251 1 4.469517675482838 3.5756141403862705 4.469517675482838 0 0 0 +252 1 3.5756141403862705 4.469517675482838 4.469517675482838 0 0 0 +253 1 5.363421210579405 3.5756141403862705 3.5756141403862705 0 0 0 +254 1 6.257324745675973 4.469517675482838 3.5756141403862705 0 0 0 +255 1 6.257324745675973 3.5756141403862705 4.469517675482838 0 0 0 +256 1 5.363421210579405 4.469517675482838 4.469517675482838 0 0 0 +257 1 7.151228280772541 3.5756141403862705 3.5756141403862705 0 0 0 +258 1 8.045131815869109 4.469517675482838 3.5756141403862705 0 0 0 +259 1 8.045131815869109 3.5756141403862705 4.469517675482838 0 0 0 +260 1 7.151228280772541 4.469517675482838 4.469517675482838 0 0 0 +261 1 0 5.363421210579405 3.5756141403862705 0 0 0 +262 1 0.8939035350965676 6.257324745675973 3.5756141403862705 0 0 0 +263 1 0.8939035350965676 5.363421210579405 4.469517675482838 0 0 0 +264 1 0 6.257324745675973 4.469517675482838 0 0 0 +265 1 1.7878070701931352 5.363421210579405 3.5756141403862705 0 0 0 +266 1 2.6817106052897026 6.257324745675973 3.5756141403862705 0 0 0 +267 1 2.6817106052897026 5.363421210579405 4.469517675482838 0 0 0 +268 1 1.7878070701931352 6.257324745675973 4.469517675482838 0 0 0 +269 1 3.5756141403862705 5.363421210579405 3.5756141403862705 0 0 0 +270 1 4.469517675482838 6.257324745675973 3.5756141403862705 0 0 0 +271 1 4.469517675482838 5.363421210579405 4.469517675482838 0 0 0 +272 1 3.5756141403862705 6.257324745675973 4.469517675482838 0 0 0 +273 1 5.363421210579405 5.363421210579405 3.5756141403862705 0 0 0 +274 1 6.257324745675973 6.257324745675973 3.5756141403862705 0 0 0 +275 1 6.257324745675973 5.363421210579405 4.469517675482838 0 0 0 +276 1 5.363421210579405 6.257324745675973 4.469517675482838 0 0 0 +277 1 7.151228280772541 5.363421210579405 3.5756141403862705 0 0 0 +278 1 8.045131815869109 6.257324745675973 3.5756141403862705 0 0 0 +279 1 8.045131815869109 5.363421210579405 4.469517675482838 0 0 0 +280 1 7.151228280772541 6.257324745675973 4.469517675482838 0 0 0 +281 1 0 7.151228280772541 3.5756141403862705 0 0 0 +282 1 0.8939035350965676 8.045131815869109 3.5756141403862705 0 0 0 +283 1 0.8939035350965676 7.151228280772541 4.469517675482838 0 0 0 +284 1 0 8.045131815869109 4.469517675482838 0 0 0 +285 1 1.7878070701931352 7.151228280772541 3.5756141403862705 0 0 0 +286 1 2.6817106052897026 8.045131815869109 3.5756141403862705 0 0 0 +287 1 2.6817106052897026 7.151228280772541 4.469517675482838 0 0 0 +288 1 1.7878070701931352 8.045131815869109 4.469517675482838 0 0 0 +289 1 3.5756141403862705 7.151228280772541 3.5756141403862705 0 0 0 +290 1 4.469517675482838 8.045131815869109 3.5756141403862705 0 0 0 +291 1 4.469517675482838 7.151228280772541 4.469517675482838 0 0 0 +292 1 3.5756141403862705 8.045131815869109 4.469517675482838 0 0 0 +293 1 5.363421210579405 7.151228280772541 3.5756141403862705 0 0 0 +294 1 6.257324745675973 8.045131815869109 3.5756141403862705 0 0 0 +295 1 6.257324745675973 7.151228280772541 4.469517675482838 0 0 0 +296 1 5.363421210579405 8.045131815869109 4.469517675482838 0 0 0 +297 1 7.151228280772541 7.151228280772541 3.5756141403862705 0 0 0 +298 1 8.045131815869109 8.045131815869109 3.5756141403862705 0 0 0 +299 1 8.045131815869109 7.151228280772541 4.469517675482838 0 0 0 +300 1 7.151228280772541 8.045131815869109 4.469517675482838 0 0 0 +301 1 0 0 5.363421210579405 0 0 0 +302 1 0.8939035350965676 0.8939035350965676 5.363421210579405 0 0 0 +303 1 0.8939035350965676 0 6.257324745675973 0 0 0 +304 1 0 0.8939035350965676 6.257324745675973 0 0 0 +305 1 1.7878070701931352 0 5.363421210579405 0 0 0 +306 1 2.6817106052897026 0.8939035350965676 5.363421210579405 0 0 0 +307 1 2.6817106052897026 0 6.257324745675973 0 0 0 +308 1 1.7878070701931352 0.8939035350965676 6.257324745675973 0 0 0 +309 1 3.5756141403862705 0 5.363421210579405 0 0 0 +310 1 4.469517675482838 0.8939035350965676 5.363421210579405 0 0 0 +311 1 4.469517675482838 0 6.257324745675973 0 0 0 +312 1 3.5756141403862705 0.8939035350965676 6.257324745675973 0 0 0 +313 1 5.363421210579405 0 5.363421210579405 0 0 0 +314 1 6.257324745675973 0.8939035350965676 5.363421210579405 0 0 0 +315 1 6.257324745675973 0 6.257324745675973 0 0 0 +316 1 5.363421210579405 0.8939035350965676 6.257324745675973 0 0 0 +317 1 7.151228280772541 0 5.363421210579405 0 0 0 +318 1 8.045131815869109 0.8939035350965676 5.363421210579405 0 0 0 +319 1 8.045131815869109 0 6.257324745675973 0 0 0 +320 1 7.151228280772541 0.8939035350965676 6.257324745675973 0 0 0 +321 1 0 1.7878070701931352 5.363421210579405 0 0 0 +322 1 0.8939035350965676 2.6817106052897026 5.363421210579405 0 0 0 +323 1 0.8939035350965676 1.7878070701931352 6.257324745675973 0 0 0 +324 1 0 2.6817106052897026 6.257324745675973 0 0 0 +325 1 1.7878070701931352 1.7878070701931352 5.363421210579405 0 0 0 +326 1 2.6817106052897026 2.6817106052897026 5.363421210579405 0 0 0 +327 1 2.6817106052897026 1.7878070701931352 6.257324745675973 0 0 0 +328 1 1.7878070701931352 2.6817106052897026 6.257324745675973 0 0 0 +329 1 3.5756141403862705 1.7878070701931352 5.363421210579405 0 0 0 +330 1 4.469517675482838 2.6817106052897026 5.363421210579405 0 0 0 +331 1 4.469517675482838 1.7878070701931352 6.257324745675973 0 0 0 +332 1 3.5756141403862705 2.6817106052897026 6.257324745675973 0 0 0 +333 1 5.363421210579405 1.7878070701931352 5.363421210579405 0 0 0 +334 1 6.257324745675973 2.6817106052897026 5.363421210579405 0 0 0 +335 1 6.257324745675973 1.7878070701931352 6.257324745675973 0 0 0 +336 1 5.363421210579405 2.6817106052897026 6.257324745675973 0 0 0 +337 1 7.151228280772541 1.7878070701931352 5.363421210579405 0 0 0 +338 1 8.045131815869109 2.6817106052897026 5.363421210579405 0 0 0 +339 1 8.045131815869109 1.7878070701931352 6.257324745675973 0 0 0 +340 1 7.151228280772541 2.6817106052897026 6.257324745675973 0 0 0 +341 1 0 3.5756141403862705 5.363421210579405 0 0 0 +342 1 0.8939035350965676 4.469517675482838 5.363421210579405 0 0 0 +343 1 0.8939035350965676 3.5756141403862705 6.257324745675973 0 0 0 +344 1 0 4.469517675482838 6.257324745675973 0 0 0 +345 1 1.7878070701931352 3.5756141403862705 5.363421210579405 0 0 0 +346 1 2.6817106052897026 4.469517675482838 5.363421210579405 0 0 0 +347 1 2.6817106052897026 3.5756141403862705 6.257324745675973 0 0 0 +348 1 1.7878070701931352 4.469517675482838 6.257324745675973 0 0 0 +349 1 3.5756141403862705 3.5756141403862705 5.363421210579405 0 0 0 +350 1 4.469517675482838 4.469517675482838 5.363421210579405 0 0 0 +351 1 4.469517675482838 3.5756141403862705 6.257324745675973 0 0 0 +352 1 3.5756141403862705 4.469517675482838 6.257324745675973 0 0 0 +353 1 5.363421210579405 3.5756141403862705 5.363421210579405 0 0 0 +354 1 6.257324745675973 4.469517675482838 5.363421210579405 0 0 0 +355 1 6.257324745675973 3.5756141403862705 6.257324745675973 0 0 0 +356 1 5.363421210579405 4.469517675482838 6.257324745675973 0 0 0 +357 1 7.151228280772541 3.5756141403862705 5.363421210579405 0 0 0 +358 1 8.045131815869109 4.469517675482838 5.363421210579405 0 0 0 +359 1 8.045131815869109 3.5756141403862705 6.257324745675973 0 0 0 +360 1 7.151228280772541 4.469517675482838 6.257324745675973 0 0 0 +361 1 0 5.363421210579405 5.363421210579405 0 0 0 +362 1 0.8939035350965676 6.257324745675973 5.363421210579405 0 0 0 +363 1 0.8939035350965676 5.363421210579405 6.257324745675973 0 0 0 +364 1 0 6.257324745675973 6.257324745675973 0 0 0 +365 1 1.7878070701931352 5.363421210579405 5.363421210579405 0 0 0 +366 1 2.6817106052897026 6.257324745675973 5.363421210579405 0 0 0 +367 1 2.6817106052897026 5.363421210579405 6.257324745675973 0 0 0 +368 1 1.7878070701931352 6.257324745675973 6.257324745675973 0 0 0 +369 1 3.5756141403862705 5.363421210579405 5.363421210579405 0 0 0 +370 1 4.469517675482838 6.257324745675973 5.363421210579405 0 0 0 +371 1 4.469517675482838 5.363421210579405 6.257324745675973 0 0 0 +372 1 3.5756141403862705 6.257324745675973 6.257324745675973 0 0 0 +373 1 5.363421210579405 5.363421210579405 5.363421210579405 0 0 0 +374 1 6.257324745675973 6.257324745675973 5.363421210579405 0 0 0 +375 1 6.257324745675973 5.363421210579405 6.257324745675973 0 0 0 +376 1 5.363421210579405 6.257324745675973 6.257324745675973 0 0 0 +377 1 7.151228280772541 5.363421210579405 5.363421210579405 0 0 0 +378 1 8.045131815869109 6.257324745675973 5.363421210579405 0 0 0 +379 1 8.045131815869109 5.363421210579405 6.257324745675973 0 0 0 +380 1 7.151228280772541 6.257324745675973 6.257324745675973 0 0 0 +381 1 0 7.151228280772541 5.363421210579405 0 0 0 +382 1 0.8939035350965676 8.045131815869109 5.363421210579405 0 0 0 +383 1 0.8939035350965676 7.151228280772541 6.257324745675973 0 0 0 +384 1 0 8.045131815869109 6.257324745675973 0 0 0 +385 1 1.7878070701931352 7.151228280772541 5.363421210579405 0 0 0 +386 1 2.6817106052897026 8.045131815869109 5.363421210579405 0 0 0 +387 1 2.6817106052897026 7.151228280772541 6.257324745675973 0 0 0 +388 1 1.7878070701931352 8.045131815869109 6.257324745675973 0 0 0 +389 1 3.5756141403862705 7.151228280772541 5.363421210579405 0 0 0 +390 1 4.469517675482838 8.045131815869109 5.363421210579405 0 0 0 +391 1 4.469517675482838 7.151228280772541 6.257324745675973 0 0 0 +392 1 3.5756141403862705 8.045131815869109 6.257324745675973 0 0 0 +393 1 5.363421210579405 7.151228280772541 5.363421210579405 0 0 0 +394 1 6.257324745675973 8.045131815869109 5.363421210579405 0 0 0 +395 1 6.257324745675973 7.151228280772541 6.257324745675973 0 0 0 +396 1 5.363421210579405 8.045131815869109 6.257324745675973 0 0 0 +397 1 7.151228280772541 7.151228280772541 5.363421210579405 0 0 0 +398 1 8.045131815869109 8.045131815869109 5.363421210579405 0 0 0 +399 1 8.045131815869109 7.151228280772541 6.257324745675973 0 0 0 +400 1 7.151228280772541 8.045131815869109 6.257324745675973 0 0 0 +401 1 0 0 7.151228280772541 0 0 0 +402 1 0.8939035350965676 0.8939035350965676 7.151228280772541 0 0 0 +403 1 0.8939035350965676 0 8.045131815869109 0 0 0 +404 1 0 0.8939035350965676 8.045131815869109 0 0 0 +405 1 1.7878070701931352 0 7.151228280772541 0 0 0 +406 1 2.6817106052897026 0.8939035350965676 7.151228280772541 0 0 0 +407 1 2.6817106052897026 0 8.045131815869109 0 0 0 +408 1 1.7878070701931352 0.8939035350965676 8.045131815869109 0 0 0 +409 1 3.5756141403862705 0 7.151228280772541 0 0 0 +410 1 4.469517675482838 0.8939035350965676 7.151228280772541 0 0 0 +411 1 4.469517675482838 0 8.045131815869109 0 0 0 +412 1 3.5756141403862705 0.8939035350965676 8.045131815869109 0 0 0 +413 1 5.363421210579405 0 7.151228280772541 0 0 0 +414 1 6.257324745675973 0.8939035350965676 7.151228280772541 0 0 0 +415 1 6.257324745675973 0 8.045131815869109 0 0 0 +416 1 5.363421210579405 0.8939035350965676 8.045131815869109 0 0 0 +417 1 7.151228280772541 0 7.151228280772541 0 0 0 +418 1 8.045131815869109 0.8939035350965676 7.151228280772541 0 0 0 +419 1 8.045131815869109 0 8.045131815869109 0 0 0 +420 1 7.151228280772541 0.8939035350965676 8.045131815869109 0 0 0 +421 1 0 1.7878070701931352 7.151228280772541 0 0 0 +422 1 0.8939035350965676 2.6817106052897026 7.151228280772541 0 0 0 +423 1 0.8939035350965676 1.7878070701931352 8.045131815869109 0 0 0 +424 1 0 2.6817106052897026 8.045131815869109 0 0 0 +425 1 1.7878070701931352 1.7878070701931352 7.151228280772541 0 0 0 +426 1 2.6817106052897026 2.6817106052897026 7.151228280772541 0 0 0 +427 1 2.6817106052897026 1.7878070701931352 8.045131815869109 0 0 0 +428 1 1.7878070701931352 2.6817106052897026 8.045131815869109 0 0 0 +429 1 3.5756141403862705 1.7878070701931352 7.151228280772541 0 0 0 +430 1 4.469517675482838 2.6817106052897026 7.151228280772541 0 0 0 +431 1 4.469517675482838 1.7878070701931352 8.045131815869109 0 0 0 +432 1 3.5756141403862705 2.6817106052897026 8.045131815869109 0 0 0 +433 1 5.363421210579405 1.7878070701931352 7.151228280772541 0 0 0 +434 1 6.257324745675973 2.6817106052897026 7.151228280772541 0 0 0 +435 1 6.257324745675973 1.7878070701931352 8.045131815869109 0 0 0 +436 1 5.363421210579405 2.6817106052897026 8.045131815869109 0 0 0 +437 1 7.151228280772541 1.7878070701931352 7.151228280772541 0 0 0 +438 1 8.045131815869109 2.6817106052897026 7.151228280772541 0 0 0 +439 1 8.045131815869109 1.7878070701931352 8.045131815869109 0 0 0 +440 1 7.151228280772541 2.6817106052897026 8.045131815869109 0 0 0 +441 1 0 3.5756141403862705 7.151228280772541 0 0 0 +442 1 0.8939035350965676 4.469517675482838 7.151228280772541 0 0 0 +443 1 0.8939035350965676 3.5756141403862705 8.045131815869109 0 0 0 +444 1 0 4.469517675482838 8.045131815869109 0 0 0 +445 1 1.7878070701931352 3.5756141403862705 7.151228280772541 0 0 0 +446 1 2.6817106052897026 4.469517675482838 7.151228280772541 0 0 0 +447 1 2.6817106052897026 3.5756141403862705 8.045131815869109 0 0 0 +448 1 1.7878070701931352 4.469517675482838 8.045131815869109 0 0 0 +449 1 3.5756141403862705 3.5756141403862705 7.151228280772541 0 0 0 +450 1 4.469517675482838 4.469517675482838 7.151228280772541 0 0 0 +451 1 4.469517675482838 3.5756141403862705 8.045131815869109 0 0 0 +452 1 3.5756141403862705 4.469517675482838 8.045131815869109 0 0 0 +453 1 5.363421210579405 3.5756141403862705 7.151228280772541 0 0 0 +454 1 6.257324745675973 4.469517675482838 7.151228280772541 0 0 0 +455 1 6.257324745675973 3.5756141403862705 8.045131815869109 0 0 0 +456 1 5.363421210579405 4.469517675482838 8.045131815869109 0 0 0 +457 1 7.151228280772541 3.5756141403862705 7.151228280772541 0 0 0 +458 1 8.045131815869109 4.469517675482838 7.151228280772541 0 0 0 +459 1 8.045131815869109 3.5756141403862705 8.045131815869109 0 0 0 +460 1 7.151228280772541 4.469517675482838 8.045131815869109 0 0 0 +461 1 0 5.363421210579405 7.151228280772541 0 0 0 +462 1 0.8939035350965676 6.257324745675973 7.151228280772541 0 0 0 +463 1 0.8939035350965676 5.363421210579405 8.045131815869109 0 0 0 +464 1 0 6.257324745675973 8.045131815869109 0 0 0 +465 1 1.7878070701931352 5.363421210579405 7.151228280772541 0 0 0 +466 1 2.6817106052897026 6.257324745675973 7.151228280772541 0 0 0 +467 1 2.6817106052897026 5.363421210579405 8.045131815869109 0 0 0 +468 1 1.7878070701931352 6.257324745675973 8.045131815869109 0 0 0 +469 1 3.5756141403862705 5.363421210579405 7.151228280772541 0 0 0 +470 1 4.469517675482838 6.257324745675973 7.151228280772541 0 0 0 +471 1 4.469517675482838 5.363421210579405 8.045131815869109 0 0 0 +472 1 3.5756141403862705 6.257324745675973 8.045131815869109 0 0 0 +473 1 5.363421210579405 5.363421210579405 7.151228280772541 0 0 0 +474 1 6.257324745675973 6.257324745675973 7.151228280772541 0 0 0 +475 1 6.257324745675973 5.363421210579405 8.045131815869109 0 0 0 +476 1 5.363421210579405 6.257324745675973 8.045131815869109 0 0 0 +477 1 7.151228280772541 5.363421210579405 7.151228280772541 0 0 0 +478 1 8.045131815869109 6.257324745675973 7.151228280772541 0 0 0 +479 1 8.045131815869109 5.363421210579405 8.045131815869109 0 0 0 +480 1 7.151228280772541 6.257324745675973 8.045131815869109 0 0 0 +481 1 0 7.151228280772541 7.151228280772541 0 0 0 +482 1 0.8939035350965676 8.045131815869109 7.151228280772541 0 0 0 +483 1 0.8939035350965676 7.151228280772541 8.045131815869109 0 0 0 +484 1 0 8.045131815869109 8.045131815869109 0 0 0 +485 1 1.7878070701931352 7.151228280772541 7.151228280772541 0 0 0 +486 1 2.6817106052897026 8.045131815869109 7.151228280772541 0 0 0 +487 1 2.6817106052897026 7.151228280772541 8.045131815869109 0 0 0 +488 1 1.7878070701931352 8.045131815869109 8.045131815869109 0 0 0 +489 1 3.5756141403862705 7.151228280772541 7.151228280772541 0 0 0 +490 1 4.469517675482838 8.045131815869109 7.151228280772541 0 0 0 +491 1 4.469517675482838 7.151228280772541 8.045131815869109 0 0 0 +492 1 3.5756141403862705 8.045131815869109 8.045131815869109 0 0 0 +493 1 5.363421210579405 7.151228280772541 7.151228280772541 0 0 0 +494 1 6.257324745675973 8.045131815869109 7.151228280772541 0 0 0 +495 1 6.257324745675973 7.151228280772541 8.045131815869109 0 0 0 +496 1 5.363421210579405 8.045131815869109 8.045131815869109 0 0 0 +497 1 7.151228280772541 7.151228280772541 7.151228280772541 0 0 0 +498 1 8.045131815869109 8.045131815869109 7.151228280772541 0 0 0 +499 1 8.045131815869109 7.151228280772541 8.045131815869109 0 0 0 +500 1 7.151228280772541 8.045131815869109 8.045131815869109 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 +5 0 0 0 +6 0 0 0 +7 0 0 0 +8 0 0 0 +9 0 0 0 +10 0 0 0 +11 0 0 0 +12 0 0 0 +13 0 0 0 +14 0 0 0 +15 0 0 0 +16 0 0 0 +17 0 0 0 +18 0 0 0 +19 0 0 0 +20 0 0 0 +21 0 0 0 +22 0 0 0 +23 0 0 0 +24 0 0 0 +25 0 0 0 +26 0 0 0 +27 0 0 0 +28 0 0 0 +29 0 0 0 +30 0 0 0 +31 0 0 0 +32 0 0 0 +33 0 0 0 +34 0 0 0 +35 0 0 0 +36 0 0 0 +37 0 0 0 +38 0 0 0 +39 0 0 0 +40 0 0 0 +41 0 0 0 +42 0 0 0 +43 0 0 0 +44 0 0 0 +45 0 0 0 +46 0 0 0 +47 0 0 0 +48 0 0 0 +49 0 0 0 +50 0 0 0 +51 0 0 0 +52 0 0 0 +53 0 0 0 +54 0 0 0 +55 0 0 0 +56 0 0 0 +57 0 0 0 +58 0 0 0 +59 0 0 0 +60 0 0 0 +61 0 0 0 +62 0 0 0 +63 0 0 0 +64 0 0 0 +65 0 0 0 +66 0 0 0 +67 0 0 0 +68 0 0 0 +69 0 0 0 +70 0 0 0 +71 0 0 0 +72 0 0 0 +73 0 0 0 +74 0 0 0 +75 0 0 0 +76 0 0 0 +77 0 0 0 +78 0 0 0 +79 0 0 0 +80 0 0 0 +81 0 0 0 +82 0 0 0 +83 0 0 0 +84 0 0 0 +85 0 0 0 +86 0 0 0 +87 0 0 0 +88 0 0 0 +89 0 0 0 +90 0 0 0 +91 0 0 0 +92 0 0 0 +93 0 0 0 +94 0 0 0 +95 0 0 0 +96 0 0 0 +97 0 0 0 +98 0 0 0 +99 0 0 0 +100 0 0 0 +101 0 0 0 +102 0 0 0 +103 0 0 0 +104 0 0 0 +105 0 0 0 +106 0 0 0 +107 0 0 0 +108 0 0 0 +109 0 0 0 +110 0 0 0 +111 0 0 0 +112 0 0 0 +113 0 0 0 +114 0 0 0 +115 0 0 0 +116 0 0 0 +117 0 0 0 +118 0 0 0 +119 0 0 0 +120 0 0 0 +121 0 0 0 +122 0 0 0 +123 0 0 0 +124 0 0 0 +125 0 0 0 +126 0 0 0 +127 0 0 0 +128 0 0 0 +129 0 0 0 +130 0 0 0 +131 0 0 0 +132 0 0 0 +133 0 0 0 +134 0 0 0 +135 0 0 0 +136 0 0 0 +137 0 0 0 +138 0 0 0 +139 0 0 0 +140 0 0 0 +141 0 0 0 +142 0 0 0 +143 0 0 0 +144 0 0 0 +145 0 0 0 +146 0 0 0 +147 0 0 0 +148 0 0 0 +149 0 0 0 +150 0 0 0 +151 0 0 0 +152 0 0 0 +153 0 0 0 +154 0 0 0 +155 0 0 0 +156 0 0 0 +157 0 0 0 +158 0 0 0 +159 0 0 0 +160 0 0 0 +161 0 0 0 +162 0 0 0 +163 0 0 0 +164 0 0 0 +165 0 0 0 +166 0 0 0 +167 0 0 0 +168 0 0 0 +169 0 0 0 +170 0 0 0 +171 0 0 0 +172 0 0 0 +173 0 0 0 +174 0 0 0 +175 0 0 0 +176 0 0 0 +177 0 0 0 +178 0 0 0 +179 0 0 0 +180 0 0 0 +181 0 0 0 +182 0 0 0 +183 0 0 0 +184 0 0 0 +185 0 0 0 +186 0 0 0 +187 0 0 0 +188 0 0 0 +189 0 0 0 +190 0 0 0 +191 0 0 0 +192 0 0 0 +193 0 0 0 +194 0 0 0 +195 0 0 0 +196 0 0 0 +197 0 0 0 +198 0 0 0 +199 0 0 0 +200 0 0 0 +201 0 0 0 +202 0 0 0 +203 0 0 0 +204 0 0 0 +205 0 0 0 +206 0 0 0 +207 0 0 0 +208 0 0 0 +209 0 0 0 +210 0 0 0 +211 0 0 0 +212 0 0 0 +213 0 0 0 +214 0 0 0 +215 0 0 0 +216 0 0 0 +217 0 0 0 +218 0 0 0 +219 0 0 0 +220 0 0 0 +221 0 0 0 +222 0 0 0 +223 0 0 0 +224 0 0 0 +225 0 0 0 +226 0 0 0 +227 0 0 0 +228 0 0 0 +229 0 0 0 +230 0 0 0 +231 0 0 0 +232 0 0 0 +233 0 0 0 +234 0 0 0 +235 0 0 0 +236 0 0 0 +237 0 0 0 +238 0 0 0 +239 0 0 0 +240 0 0 0 +241 0 0 0 +242 0 0 0 +243 0 0 0 +244 0 0 0 +245 0 0 0 +246 0 0 0 +247 0 0 0 +248 0 0 0 +249 0 0 0 +250 0 0 0 +251 0 0 0 +252 0 0 0 +253 0 0 0 +254 0 0 0 +255 0 0 0 +256 0 0 0 +257 0 0 0 +258 0 0 0 +259 0 0 0 +260 0 0 0 +261 0 0 0 +262 0 0 0 +263 0 0 0 +264 0 0 0 +265 0 0 0 +266 0 0 0 +267 0 0 0 +268 0 0 0 +269 0 0 0 +270 0 0 0 +271 0 0 0 +272 0 0 0 +273 0 0 0 +274 0 0 0 +275 0 0 0 +276 0 0 0 +277 0 0 0 +278 0 0 0 +279 0 0 0 +280 0 0 0 +281 0 0 0 +282 0 0 0 +283 0 0 0 +284 0 0 0 +285 0 0 0 +286 0 0 0 +287 0 0 0 +288 0 0 0 +289 0 0 0 +290 0 0 0 +291 0 0 0 +292 0 0 0 +293 0 0 0 +294 0 0 0 +295 0 0 0 +296 0 0 0 +297 0 0 0 +298 0 0 0 +299 0 0 0 +300 0 0 0 +301 0 0 0 +302 0 0 0 +303 0 0 0 +304 0 0 0 +305 0 0 0 +306 0 0 0 +307 0 0 0 +308 0 0 0 +309 0 0 0 +310 0 0 0 +311 0 0 0 +312 0 0 0 +313 0 0 0 +314 0 0 0 +315 0 0 0 +316 0 0 0 +317 0 0 0 +318 0 0 0 +319 0 0 0 +320 0 0 0 +321 0 0 0 +322 0 0 0 +323 0 0 0 +324 0 0 0 +325 0 0 0 +326 0 0 0 +327 0 0 0 +328 0 0 0 +329 0 0 0 +330 0 0 0 +331 0 0 0 +332 0 0 0 +333 0 0 0 +334 0 0 0 +335 0 0 0 +336 0 0 0 +337 0 0 0 +338 0 0 0 +339 0 0 0 +340 0 0 0 +341 0 0 0 +342 0 0 0 +343 0 0 0 +344 0 0 0 +345 0 0 0 +346 0 0 0 +347 0 0 0 +348 0 0 0 +349 0 0 0 +350 0 0 0 +351 0 0 0 +352 0 0 0 +353 0 0 0 +354 0 0 0 +355 0 0 0 +356 0 0 0 +357 0 0 0 +358 0 0 0 +359 0 0 0 +360 0 0 0 +361 0 0 0 +362 0 0 0 +363 0 0 0 +364 0 0 0 +365 0 0 0 +366 0 0 0 +367 0 0 0 +368 0 0 0 +369 0 0 0 +370 0 0 0 +371 0 0 0 +372 0 0 0 +373 0 0 0 +374 0 0 0 +375 0 0 0 +376 0 0 0 +377 0 0 0 +378 0 0 0 +379 0 0 0 +380 0 0 0 +381 0 0 0 +382 0 0 0 +383 0 0 0 +384 0 0 0 +385 0 0 0 +386 0 0 0 +387 0 0 0 +388 0 0 0 +389 0 0 0 +390 0 0 0 +391 0 0 0 +392 0 0 0 +393 0 0 0 +394 0 0 0 +395 0 0 0 +396 0 0 0 +397 0 0 0 +398 0 0 0 +399 0 0 0 +400 0 0 0 +401 0 0 0 +402 0 0 0 +403 0 0 0 +404 0 0 0 +405 0 0 0 +406 0 0 0 +407 0 0 0 +408 0 0 0 +409 0 0 0 +410 0 0 0 +411 0 0 0 +412 0 0 0 +413 0 0 0 +414 0 0 0 +415 0 0 0 +416 0 0 0 +417 0 0 0 +418 0 0 0 +419 0 0 0 +420 0 0 0 +421 0 0 0 +422 0 0 0 +423 0 0 0 +424 0 0 0 +425 0 0 0 +426 0 0 0 +427 0 0 0 +428 0 0 0 +429 0 0 0 +430 0 0 0 +431 0 0 0 +432 0 0 0 +433 0 0 0 +434 0 0 0 +435 0 0 0 +436 0 0 0 +437 0 0 0 +438 0 0 0 +439 0 0 0 +440 0 0 0 +441 0 0 0 +442 0 0 0 +443 0 0 0 +444 0 0 0 +445 0 0 0 +446 0 0 0 +447 0 0 0 +448 0 0 0 +449 0 0 0 +450 0 0 0 +451 0 0 0 +452 0 0 0 +453 0 0 0 +454 0 0 0 +455 0 0 0 +456 0 0 0 +457 0 0 0 +458 0 0 0 +459 0 0 0 +460 0 0 0 +461 0 0 0 +462 0 0 0 +463 0 0 0 +464 0 0 0 +465 0 0 0 +466 0 0 0 +467 0 0 0 +468 0 0 0 +469 0 0 0 +470 0 0 0 +471 0 0 0 +472 0 0 0 +473 0 0 0 +474 0 0 0 +475 0 0 0 +476 0 0 0 +477 0 0 0 +478 0 0 0 +479 0 0 0 +480 0 0 0 +481 0 0 0 +482 0 0 0 +483 0 0 0 +484 0 0 0 +485 0 0 0 +486 0 0 0 +487 0 0 0 +488 0 0 0 +489 0 0 0 +490 0 0 0 +491 0 0 0 +492 0 0 0 +493 0 0 0 +494 0 0 0 +495 0 0 0 +496 0 0 0 +497 0 0 0 +498 0 0 0 +499 0 0 0 +500 0 0 0 diff --git a/examples/mdi/data.series.0.8 b/examples/mdi/data.series.0.8 new file mode 100644 index 0000000000..38fb5dd47e --- /dev/null +++ b/examples/mdi/data.series.0.8 @@ -0,0 +1,1018 @@ +LAMMPS data file via write_data, version 2 Jun 2022, timestep = 0 + +500 atoms +1 atom types + +0 8.549879733383484 xlo xhi +0 8.549879733383484 ylo yhi +0 8.549879733383484 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.8549879733383484 0.8549879733383484 0 0 0 0 +3 1 0.8549879733383484 0 0.8549879733383484 0 0 0 +4 1 0 0.8549879733383484 0.8549879733383484 0 0 0 +5 1 1.7099759466766968 0 0 0 0 0 +6 1 2.564963920015045 0.8549879733383484 0 0 0 0 +7 1 2.564963920015045 0 0.8549879733383484 0 0 0 +8 1 1.7099759466766968 0.8549879733383484 0.8549879733383484 0 0 0 +9 1 3.4199518933533937 0 0 0 0 0 +10 1 4.274939866691742 0.8549879733383484 0 0 0 0 +11 1 4.274939866691742 0 0.8549879733383484 0 0 0 +12 1 3.4199518933533937 0.8549879733383484 0.8549879733383484 0 0 0 +13 1 5.12992784003009 0 0 0 0 0 +14 1 5.984915813368439 0.8549879733383484 0 0 0 0 +15 1 5.984915813368439 0 0.8549879733383484 0 0 0 +16 1 5.12992784003009 0.8549879733383484 0.8549879733383484 0 0 0 +17 1 6.839903786706787 0 0 0 0 0 +18 1 7.694891760045135 0.8549879733383484 0 0 0 0 +19 1 7.694891760045135 0 0.8549879733383484 0 0 0 +20 1 6.839903786706787 0.8549879733383484 0.8549879733383484 0 0 0 +21 1 0 1.7099759466766968 0 0 0 0 +22 1 0.8549879733383484 2.564963920015045 0 0 0 0 +23 1 0.8549879733383484 1.7099759466766968 0.8549879733383484 0 0 0 +24 1 0 2.564963920015045 0.8549879733383484 0 0 0 +25 1 1.7099759466766968 1.7099759466766968 0 0 0 0 +26 1 2.564963920015045 2.564963920015045 0 0 0 0 +27 1 2.564963920015045 1.7099759466766968 0.8549879733383484 0 0 0 +28 1 1.7099759466766968 2.564963920015045 0.8549879733383484 0 0 0 +29 1 3.4199518933533937 1.7099759466766968 0 0 0 0 +30 1 4.274939866691742 2.564963920015045 0 0 0 0 +31 1 4.274939866691742 1.7099759466766968 0.8549879733383484 0 0 0 +32 1 3.4199518933533937 2.564963920015045 0.8549879733383484 0 0 0 +33 1 5.12992784003009 1.7099759466766968 0 0 0 0 +34 1 5.984915813368439 2.564963920015045 0 0 0 0 +35 1 5.984915813368439 1.7099759466766968 0.8549879733383484 0 0 0 +36 1 5.12992784003009 2.564963920015045 0.8549879733383484 0 0 0 +37 1 6.839903786706787 1.7099759466766968 0 0 0 0 +38 1 7.694891760045135 2.564963920015045 0 0 0 0 +39 1 7.694891760045135 1.7099759466766968 0.8549879733383484 0 0 0 +40 1 6.839903786706787 2.564963920015045 0.8549879733383484 0 0 0 +41 1 0 3.4199518933533937 0 0 0 0 +42 1 0.8549879733383484 4.274939866691742 0 0 0 0 +43 1 0.8549879733383484 3.4199518933533937 0.8549879733383484 0 0 0 +44 1 0 4.274939866691742 0.8549879733383484 0 0 0 +45 1 1.7099759466766968 3.4199518933533937 0 0 0 0 +46 1 2.564963920015045 4.274939866691742 0 0 0 0 +47 1 2.564963920015045 3.4199518933533937 0.8549879733383484 0 0 0 +48 1 1.7099759466766968 4.274939866691742 0.8549879733383484 0 0 0 +49 1 3.4199518933533937 3.4199518933533937 0 0 0 0 +50 1 4.274939866691742 4.274939866691742 0 0 0 0 +51 1 4.274939866691742 3.4199518933533937 0.8549879733383484 0 0 0 +52 1 3.4199518933533937 4.274939866691742 0.8549879733383484 0 0 0 +53 1 5.12992784003009 3.4199518933533937 0 0 0 0 +54 1 5.984915813368439 4.274939866691742 0 0 0 0 +55 1 5.984915813368439 3.4199518933533937 0.8549879733383484 0 0 0 +56 1 5.12992784003009 4.274939866691742 0.8549879733383484 0 0 0 +57 1 6.839903786706787 3.4199518933533937 0 0 0 0 +58 1 7.694891760045135 4.274939866691742 0 0 0 0 +59 1 7.694891760045135 3.4199518933533937 0.8549879733383484 0 0 0 +60 1 6.839903786706787 4.274939866691742 0.8549879733383484 0 0 0 +61 1 0 5.12992784003009 0 0 0 0 +62 1 0.8549879733383484 5.984915813368439 0 0 0 0 +63 1 0.8549879733383484 5.12992784003009 0.8549879733383484 0 0 0 +64 1 0 5.984915813368439 0.8549879733383484 0 0 0 +65 1 1.7099759466766968 5.12992784003009 0 0 0 0 +66 1 2.564963920015045 5.984915813368439 0 0 0 0 +67 1 2.564963920015045 5.12992784003009 0.8549879733383484 0 0 0 +68 1 1.7099759466766968 5.984915813368439 0.8549879733383484 0 0 0 +69 1 3.4199518933533937 5.12992784003009 0 0 0 0 +70 1 4.274939866691742 5.984915813368439 0 0 0 0 +71 1 4.274939866691742 5.12992784003009 0.8549879733383484 0 0 0 +72 1 3.4199518933533937 5.984915813368439 0.8549879733383484 0 0 0 +73 1 5.12992784003009 5.12992784003009 0 0 0 0 +74 1 5.984915813368439 5.984915813368439 0 0 0 0 +75 1 5.984915813368439 5.12992784003009 0.8549879733383484 0 0 0 +76 1 5.12992784003009 5.984915813368439 0.8549879733383484 0 0 0 +77 1 6.839903786706787 5.12992784003009 0 0 0 0 +78 1 7.694891760045135 5.984915813368439 0 0 0 0 +79 1 7.694891760045135 5.12992784003009 0.8549879733383484 0 0 0 +80 1 6.839903786706787 5.984915813368439 0.8549879733383484 0 0 0 +81 1 0 6.839903786706787 0 0 0 0 +82 1 0.8549879733383484 7.694891760045135 0 0 0 0 +83 1 0.8549879733383484 6.839903786706787 0.8549879733383484 0 0 0 +84 1 0 7.694891760045135 0.8549879733383484 0 0 0 +85 1 1.7099759466766968 6.839903786706787 0 0 0 0 +86 1 2.564963920015045 7.694891760045135 0 0 0 0 +87 1 2.564963920015045 6.839903786706787 0.8549879733383484 0 0 0 +88 1 1.7099759466766968 7.694891760045135 0.8549879733383484 0 0 0 +89 1 3.4199518933533937 6.839903786706787 0 0 0 0 +90 1 4.274939866691742 7.694891760045135 0 0 0 0 +91 1 4.274939866691742 6.839903786706787 0.8549879733383484 0 0 0 +92 1 3.4199518933533937 7.694891760045135 0.8549879733383484 0 0 0 +93 1 5.12992784003009 6.839903786706787 0 0 0 0 +94 1 5.984915813368439 7.694891760045135 0 0 0 0 +95 1 5.984915813368439 6.839903786706787 0.8549879733383484 0 0 0 +96 1 5.12992784003009 7.694891760045135 0.8549879733383484 0 0 0 +97 1 6.839903786706787 6.839903786706787 0 0 0 0 +98 1 7.694891760045135 7.694891760045135 0 0 0 0 +99 1 7.694891760045135 6.839903786706787 0.8549879733383484 0 0 0 +100 1 6.839903786706787 7.694891760045135 0.8549879733383484 0 0 0 +101 1 0 0 1.7099759466766968 0 0 0 +102 1 0.8549879733383484 0.8549879733383484 1.7099759466766968 0 0 0 +103 1 0.8549879733383484 0 2.564963920015045 0 0 0 +104 1 0 0.8549879733383484 2.564963920015045 0 0 0 +105 1 1.7099759466766968 0 1.7099759466766968 0 0 0 +106 1 2.564963920015045 0.8549879733383484 1.7099759466766968 0 0 0 +107 1 2.564963920015045 0 2.564963920015045 0 0 0 +108 1 1.7099759466766968 0.8549879733383484 2.564963920015045 0 0 0 +109 1 3.4199518933533937 0 1.7099759466766968 0 0 0 +110 1 4.274939866691742 0.8549879733383484 1.7099759466766968 0 0 0 +111 1 4.274939866691742 0 2.564963920015045 0 0 0 +112 1 3.4199518933533937 0.8549879733383484 2.564963920015045 0 0 0 +113 1 5.12992784003009 0 1.7099759466766968 0 0 0 +114 1 5.984915813368439 0.8549879733383484 1.7099759466766968 0 0 0 +115 1 5.984915813368439 0 2.564963920015045 0 0 0 +116 1 5.12992784003009 0.8549879733383484 2.564963920015045 0 0 0 +117 1 6.839903786706787 0 1.7099759466766968 0 0 0 +118 1 7.694891760045135 0.8549879733383484 1.7099759466766968 0 0 0 +119 1 7.694891760045135 0 2.564963920015045 0 0 0 +120 1 6.839903786706787 0.8549879733383484 2.564963920015045 0 0 0 +121 1 0 1.7099759466766968 1.7099759466766968 0 0 0 +122 1 0.8549879733383484 2.564963920015045 1.7099759466766968 0 0 0 +123 1 0.8549879733383484 1.7099759466766968 2.564963920015045 0 0 0 +124 1 0 2.564963920015045 2.564963920015045 0 0 0 +125 1 1.7099759466766968 1.7099759466766968 1.7099759466766968 0 0 0 +126 1 2.564963920015045 2.564963920015045 1.7099759466766968 0 0 0 +127 1 2.564963920015045 1.7099759466766968 2.564963920015045 0 0 0 +128 1 1.7099759466766968 2.564963920015045 2.564963920015045 0 0 0 +129 1 3.4199518933533937 1.7099759466766968 1.7099759466766968 0 0 0 +130 1 4.274939866691742 2.564963920015045 1.7099759466766968 0 0 0 +131 1 4.274939866691742 1.7099759466766968 2.564963920015045 0 0 0 +132 1 3.4199518933533937 2.564963920015045 2.564963920015045 0 0 0 +133 1 5.12992784003009 1.7099759466766968 1.7099759466766968 0 0 0 +134 1 5.984915813368439 2.564963920015045 1.7099759466766968 0 0 0 +135 1 5.984915813368439 1.7099759466766968 2.564963920015045 0 0 0 +136 1 5.12992784003009 2.564963920015045 2.564963920015045 0 0 0 +137 1 6.839903786706787 1.7099759466766968 1.7099759466766968 0 0 0 +138 1 7.694891760045135 2.564963920015045 1.7099759466766968 0 0 0 +139 1 7.694891760045135 1.7099759466766968 2.564963920015045 0 0 0 +140 1 6.839903786706787 2.564963920015045 2.564963920015045 0 0 0 +141 1 0 3.4199518933533937 1.7099759466766968 0 0 0 +142 1 0.8549879733383484 4.274939866691742 1.7099759466766968 0 0 0 +143 1 0.8549879733383484 3.4199518933533937 2.564963920015045 0 0 0 +144 1 0 4.274939866691742 2.564963920015045 0 0 0 +145 1 1.7099759466766968 3.4199518933533937 1.7099759466766968 0 0 0 +146 1 2.564963920015045 4.274939866691742 1.7099759466766968 0 0 0 +147 1 2.564963920015045 3.4199518933533937 2.564963920015045 0 0 0 +148 1 1.7099759466766968 4.274939866691742 2.564963920015045 0 0 0 +149 1 3.4199518933533937 3.4199518933533937 1.7099759466766968 0 0 0 +150 1 4.274939866691742 4.274939866691742 1.7099759466766968 0 0 0 +151 1 4.274939866691742 3.4199518933533937 2.564963920015045 0 0 0 +152 1 3.4199518933533937 4.274939866691742 2.564963920015045 0 0 0 +153 1 5.12992784003009 3.4199518933533937 1.7099759466766968 0 0 0 +154 1 5.984915813368439 4.274939866691742 1.7099759466766968 0 0 0 +155 1 5.984915813368439 3.4199518933533937 2.564963920015045 0 0 0 +156 1 5.12992784003009 4.274939866691742 2.564963920015045 0 0 0 +157 1 6.839903786706787 3.4199518933533937 1.7099759466766968 0 0 0 +158 1 7.694891760045135 4.274939866691742 1.7099759466766968 0 0 0 +159 1 7.694891760045135 3.4199518933533937 2.564963920015045 0 0 0 +160 1 6.839903786706787 4.274939866691742 2.564963920015045 0 0 0 +161 1 0 5.12992784003009 1.7099759466766968 0 0 0 +162 1 0.8549879733383484 5.984915813368439 1.7099759466766968 0 0 0 +163 1 0.8549879733383484 5.12992784003009 2.564963920015045 0 0 0 +164 1 0 5.984915813368439 2.564963920015045 0 0 0 +165 1 1.7099759466766968 5.12992784003009 1.7099759466766968 0 0 0 +166 1 2.564963920015045 5.984915813368439 1.7099759466766968 0 0 0 +167 1 2.564963920015045 5.12992784003009 2.564963920015045 0 0 0 +168 1 1.7099759466766968 5.984915813368439 2.564963920015045 0 0 0 +169 1 3.4199518933533937 5.12992784003009 1.7099759466766968 0 0 0 +170 1 4.274939866691742 5.984915813368439 1.7099759466766968 0 0 0 +171 1 4.274939866691742 5.12992784003009 2.564963920015045 0 0 0 +172 1 3.4199518933533937 5.984915813368439 2.564963920015045 0 0 0 +173 1 5.12992784003009 5.12992784003009 1.7099759466766968 0 0 0 +174 1 5.984915813368439 5.984915813368439 1.7099759466766968 0 0 0 +175 1 5.984915813368439 5.12992784003009 2.564963920015045 0 0 0 +176 1 5.12992784003009 5.984915813368439 2.564963920015045 0 0 0 +177 1 6.839903786706787 5.12992784003009 1.7099759466766968 0 0 0 +178 1 7.694891760045135 5.984915813368439 1.7099759466766968 0 0 0 +179 1 7.694891760045135 5.12992784003009 2.564963920015045 0 0 0 +180 1 6.839903786706787 5.984915813368439 2.564963920015045 0 0 0 +181 1 0 6.839903786706787 1.7099759466766968 0 0 0 +182 1 0.8549879733383484 7.694891760045135 1.7099759466766968 0 0 0 +183 1 0.8549879733383484 6.839903786706787 2.564963920015045 0 0 0 +184 1 0 7.694891760045135 2.564963920015045 0 0 0 +185 1 1.7099759466766968 6.839903786706787 1.7099759466766968 0 0 0 +186 1 2.564963920015045 7.694891760045135 1.7099759466766968 0 0 0 +187 1 2.564963920015045 6.839903786706787 2.564963920015045 0 0 0 +188 1 1.7099759466766968 7.694891760045135 2.564963920015045 0 0 0 +189 1 3.4199518933533937 6.839903786706787 1.7099759466766968 0 0 0 +190 1 4.274939866691742 7.694891760045135 1.7099759466766968 0 0 0 +191 1 4.274939866691742 6.839903786706787 2.564963920015045 0 0 0 +192 1 3.4199518933533937 7.694891760045135 2.564963920015045 0 0 0 +193 1 5.12992784003009 6.839903786706787 1.7099759466766968 0 0 0 +194 1 5.984915813368439 7.694891760045135 1.7099759466766968 0 0 0 +195 1 5.984915813368439 6.839903786706787 2.564963920015045 0 0 0 +196 1 5.12992784003009 7.694891760045135 2.564963920015045 0 0 0 +197 1 6.839903786706787 6.839903786706787 1.7099759466766968 0 0 0 +198 1 7.694891760045135 7.694891760045135 1.7099759466766968 0 0 0 +199 1 7.694891760045135 6.839903786706787 2.564963920015045 0 0 0 +200 1 6.839903786706787 7.694891760045135 2.564963920015045 0 0 0 +201 1 0 0 3.4199518933533937 0 0 0 +202 1 0.8549879733383484 0.8549879733383484 3.4199518933533937 0 0 0 +203 1 0.8549879733383484 0 4.274939866691742 0 0 0 +204 1 0 0.8549879733383484 4.274939866691742 0 0 0 +205 1 1.7099759466766968 0 3.4199518933533937 0 0 0 +206 1 2.564963920015045 0.8549879733383484 3.4199518933533937 0 0 0 +207 1 2.564963920015045 0 4.274939866691742 0 0 0 +208 1 1.7099759466766968 0.8549879733383484 4.274939866691742 0 0 0 +209 1 3.4199518933533937 0 3.4199518933533937 0 0 0 +210 1 4.274939866691742 0.8549879733383484 3.4199518933533937 0 0 0 +211 1 4.274939866691742 0 4.274939866691742 0 0 0 +212 1 3.4199518933533937 0.8549879733383484 4.274939866691742 0 0 0 +213 1 5.12992784003009 0 3.4199518933533937 0 0 0 +214 1 5.984915813368439 0.8549879733383484 3.4199518933533937 0 0 0 +215 1 5.984915813368439 0 4.274939866691742 0 0 0 +216 1 5.12992784003009 0.8549879733383484 4.274939866691742 0 0 0 +217 1 6.839903786706787 0 3.4199518933533937 0 0 0 +218 1 7.694891760045135 0.8549879733383484 3.4199518933533937 0 0 0 +219 1 7.694891760045135 0 4.274939866691742 0 0 0 +220 1 6.839903786706787 0.8549879733383484 4.274939866691742 0 0 0 +221 1 0 1.7099759466766968 3.4199518933533937 0 0 0 +222 1 0.8549879733383484 2.564963920015045 3.4199518933533937 0 0 0 +223 1 0.8549879733383484 1.7099759466766968 4.274939866691742 0 0 0 +224 1 0 2.564963920015045 4.274939866691742 0 0 0 +225 1 1.7099759466766968 1.7099759466766968 3.4199518933533937 0 0 0 +226 1 2.564963920015045 2.564963920015045 3.4199518933533937 0 0 0 +227 1 2.564963920015045 1.7099759466766968 4.274939866691742 0 0 0 +228 1 1.7099759466766968 2.564963920015045 4.274939866691742 0 0 0 +229 1 3.4199518933533937 1.7099759466766968 3.4199518933533937 0 0 0 +230 1 4.274939866691742 2.564963920015045 3.4199518933533937 0 0 0 +231 1 4.274939866691742 1.7099759466766968 4.274939866691742 0 0 0 +232 1 3.4199518933533937 2.564963920015045 4.274939866691742 0 0 0 +233 1 5.12992784003009 1.7099759466766968 3.4199518933533937 0 0 0 +234 1 5.984915813368439 2.564963920015045 3.4199518933533937 0 0 0 +235 1 5.984915813368439 1.7099759466766968 4.274939866691742 0 0 0 +236 1 5.12992784003009 2.564963920015045 4.274939866691742 0 0 0 +237 1 6.839903786706787 1.7099759466766968 3.4199518933533937 0 0 0 +238 1 7.694891760045135 2.564963920015045 3.4199518933533937 0 0 0 +239 1 7.694891760045135 1.7099759466766968 4.274939866691742 0 0 0 +240 1 6.839903786706787 2.564963920015045 4.274939866691742 0 0 0 +241 1 0 3.4199518933533937 3.4199518933533937 0 0 0 +242 1 0.8549879733383484 4.274939866691742 3.4199518933533937 0 0 0 +243 1 0.8549879733383484 3.4199518933533937 4.274939866691742 0 0 0 +244 1 0 4.274939866691742 4.274939866691742 0 0 0 +245 1 1.7099759466766968 3.4199518933533937 3.4199518933533937 0 0 0 +246 1 2.564963920015045 4.274939866691742 3.4199518933533937 0 0 0 +247 1 2.564963920015045 3.4199518933533937 4.274939866691742 0 0 0 +248 1 1.7099759466766968 4.274939866691742 4.274939866691742 0 0 0 +249 1 3.4199518933533937 3.4199518933533937 3.4199518933533937 0 0 0 +250 1 4.274939866691742 4.274939866691742 3.4199518933533937 0 0 0 +251 1 4.274939866691742 3.4199518933533937 4.274939866691742 0 0 0 +252 1 3.4199518933533937 4.274939866691742 4.274939866691742 0 0 0 +253 1 5.12992784003009 3.4199518933533937 3.4199518933533937 0 0 0 +254 1 5.984915813368439 4.274939866691742 3.4199518933533937 0 0 0 +255 1 5.984915813368439 3.4199518933533937 4.274939866691742 0 0 0 +256 1 5.12992784003009 4.274939866691742 4.274939866691742 0 0 0 +257 1 6.839903786706787 3.4199518933533937 3.4199518933533937 0 0 0 +258 1 7.694891760045135 4.274939866691742 3.4199518933533937 0 0 0 +259 1 7.694891760045135 3.4199518933533937 4.274939866691742 0 0 0 +260 1 6.839903786706787 4.274939866691742 4.274939866691742 0 0 0 +261 1 0 5.12992784003009 3.4199518933533937 0 0 0 +262 1 0.8549879733383484 5.984915813368439 3.4199518933533937 0 0 0 +263 1 0.8549879733383484 5.12992784003009 4.274939866691742 0 0 0 +264 1 0 5.984915813368439 4.274939866691742 0 0 0 +265 1 1.7099759466766968 5.12992784003009 3.4199518933533937 0 0 0 +266 1 2.564963920015045 5.984915813368439 3.4199518933533937 0 0 0 +267 1 2.564963920015045 5.12992784003009 4.274939866691742 0 0 0 +268 1 1.7099759466766968 5.984915813368439 4.274939866691742 0 0 0 +269 1 3.4199518933533937 5.12992784003009 3.4199518933533937 0 0 0 +270 1 4.274939866691742 5.984915813368439 3.4199518933533937 0 0 0 +271 1 4.274939866691742 5.12992784003009 4.274939866691742 0 0 0 +272 1 3.4199518933533937 5.984915813368439 4.274939866691742 0 0 0 +273 1 5.12992784003009 5.12992784003009 3.4199518933533937 0 0 0 +274 1 5.984915813368439 5.984915813368439 3.4199518933533937 0 0 0 +275 1 5.984915813368439 5.12992784003009 4.274939866691742 0 0 0 +276 1 5.12992784003009 5.984915813368439 4.274939866691742 0 0 0 +277 1 6.839903786706787 5.12992784003009 3.4199518933533937 0 0 0 +278 1 7.694891760045135 5.984915813368439 3.4199518933533937 0 0 0 +279 1 7.694891760045135 5.12992784003009 4.274939866691742 0 0 0 +280 1 6.839903786706787 5.984915813368439 4.274939866691742 0 0 0 +281 1 0 6.839903786706787 3.4199518933533937 0 0 0 +282 1 0.8549879733383484 7.694891760045135 3.4199518933533937 0 0 0 +283 1 0.8549879733383484 6.839903786706787 4.274939866691742 0 0 0 +284 1 0 7.694891760045135 4.274939866691742 0 0 0 +285 1 1.7099759466766968 6.839903786706787 3.4199518933533937 0 0 0 +286 1 2.564963920015045 7.694891760045135 3.4199518933533937 0 0 0 +287 1 2.564963920015045 6.839903786706787 4.274939866691742 0 0 0 +288 1 1.7099759466766968 7.694891760045135 4.274939866691742 0 0 0 +289 1 3.4199518933533937 6.839903786706787 3.4199518933533937 0 0 0 +290 1 4.274939866691742 7.694891760045135 3.4199518933533937 0 0 0 +291 1 4.274939866691742 6.839903786706787 4.274939866691742 0 0 0 +292 1 3.4199518933533937 7.694891760045135 4.274939866691742 0 0 0 +293 1 5.12992784003009 6.839903786706787 3.4199518933533937 0 0 0 +294 1 5.984915813368439 7.694891760045135 3.4199518933533937 0 0 0 +295 1 5.984915813368439 6.839903786706787 4.274939866691742 0 0 0 +296 1 5.12992784003009 7.694891760045135 4.274939866691742 0 0 0 +297 1 6.839903786706787 6.839903786706787 3.4199518933533937 0 0 0 +298 1 7.694891760045135 7.694891760045135 3.4199518933533937 0 0 0 +299 1 7.694891760045135 6.839903786706787 4.274939866691742 0 0 0 +300 1 6.839903786706787 7.694891760045135 4.274939866691742 0 0 0 +301 1 0 0 5.12992784003009 0 0 0 +302 1 0.8549879733383484 0.8549879733383484 5.12992784003009 0 0 0 +303 1 0.8549879733383484 0 5.984915813368439 0 0 0 +304 1 0 0.8549879733383484 5.984915813368439 0 0 0 +305 1 1.7099759466766968 0 5.12992784003009 0 0 0 +306 1 2.564963920015045 0.8549879733383484 5.12992784003009 0 0 0 +307 1 2.564963920015045 0 5.984915813368439 0 0 0 +308 1 1.7099759466766968 0.8549879733383484 5.984915813368439 0 0 0 +309 1 3.4199518933533937 0 5.12992784003009 0 0 0 +310 1 4.274939866691742 0.8549879733383484 5.12992784003009 0 0 0 +311 1 4.274939866691742 0 5.984915813368439 0 0 0 +312 1 3.4199518933533937 0.8549879733383484 5.984915813368439 0 0 0 +313 1 5.12992784003009 0 5.12992784003009 0 0 0 +314 1 5.984915813368439 0.8549879733383484 5.12992784003009 0 0 0 +315 1 5.984915813368439 0 5.984915813368439 0 0 0 +316 1 5.12992784003009 0.8549879733383484 5.984915813368439 0 0 0 +317 1 6.839903786706787 0 5.12992784003009 0 0 0 +318 1 7.694891760045135 0.8549879733383484 5.12992784003009 0 0 0 +319 1 7.694891760045135 0 5.984915813368439 0 0 0 +320 1 6.839903786706787 0.8549879733383484 5.984915813368439 0 0 0 +321 1 0 1.7099759466766968 5.12992784003009 0 0 0 +322 1 0.8549879733383484 2.564963920015045 5.12992784003009 0 0 0 +323 1 0.8549879733383484 1.7099759466766968 5.984915813368439 0 0 0 +324 1 0 2.564963920015045 5.984915813368439 0 0 0 +325 1 1.7099759466766968 1.7099759466766968 5.12992784003009 0 0 0 +326 1 2.564963920015045 2.564963920015045 5.12992784003009 0 0 0 +327 1 2.564963920015045 1.7099759466766968 5.984915813368439 0 0 0 +328 1 1.7099759466766968 2.564963920015045 5.984915813368439 0 0 0 +329 1 3.4199518933533937 1.7099759466766968 5.12992784003009 0 0 0 +330 1 4.274939866691742 2.564963920015045 5.12992784003009 0 0 0 +331 1 4.274939866691742 1.7099759466766968 5.984915813368439 0 0 0 +332 1 3.4199518933533937 2.564963920015045 5.984915813368439 0 0 0 +333 1 5.12992784003009 1.7099759466766968 5.12992784003009 0 0 0 +334 1 5.984915813368439 2.564963920015045 5.12992784003009 0 0 0 +335 1 5.984915813368439 1.7099759466766968 5.984915813368439 0 0 0 +336 1 5.12992784003009 2.564963920015045 5.984915813368439 0 0 0 +337 1 6.839903786706787 1.7099759466766968 5.12992784003009 0 0 0 +338 1 7.694891760045135 2.564963920015045 5.12992784003009 0 0 0 +339 1 7.694891760045135 1.7099759466766968 5.984915813368439 0 0 0 +340 1 6.839903786706787 2.564963920015045 5.984915813368439 0 0 0 +341 1 0 3.4199518933533937 5.12992784003009 0 0 0 +342 1 0.8549879733383484 4.274939866691742 5.12992784003009 0 0 0 +343 1 0.8549879733383484 3.4199518933533937 5.984915813368439 0 0 0 +344 1 0 4.274939866691742 5.984915813368439 0 0 0 +345 1 1.7099759466766968 3.4199518933533937 5.12992784003009 0 0 0 +346 1 2.564963920015045 4.274939866691742 5.12992784003009 0 0 0 +347 1 2.564963920015045 3.4199518933533937 5.984915813368439 0 0 0 +348 1 1.7099759466766968 4.274939866691742 5.984915813368439 0 0 0 +349 1 3.4199518933533937 3.4199518933533937 5.12992784003009 0 0 0 +350 1 4.274939866691742 4.274939866691742 5.12992784003009 0 0 0 +351 1 4.274939866691742 3.4199518933533937 5.984915813368439 0 0 0 +352 1 3.4199518933533937 4.274939866691742 5.984915813368439 0 0 0 +353 1 5.12992784003009 3.4199518933533937 5.12992784003009 0 0 0 +354 1 5.984915813368439 4.274939866691742 5.12992784003009 0 0 0 +355 1 5.984915813368439 3.4199518933533937 5.984915813368439 0 0 0 +356 1 5.12992784003009 4.274939866691742 5.984915813368439 0 0 0 +357 1 6.839903786706787 3.4199518933533937 5.12992784003009 0 0 0 +358 1 7.694891760045135 4.274939866691742 5.12992784003009 0 0 0 +359 1 7.694891760045135 3.4199518933533937 5.984915813368439 0 0 0 +360 1 6.839903786706787 4.274939866691742 5.984915813368439 0 0 0 +361 1 0 5.12992784003009 5.12992784003009 0 0 0 +362 1 0.8549879733383484 5.984915813368439 5.12992784003009 0 0 0 +363 1 0.8549879733383484 5.12992784003009 5.984915813368439 0 0 0 +364 1 0 5.984915813368439 5.984915813368439 0 0 0 +365 1 1.7099759466766968 5.12992784003009 5.12992784003009 0 0 0 +366 1 2.564963920015045 5.984915813368439 5.12992784003009 0 0 0 +367 1 2.564963920015045 5.12992784003009 5.984915813368439 0 0 0 +368 1 1.7099759466766968 5.984915813368439 5.984915813368439 0 0 0 +369 1 3.4199518933533937 5.12992784003009 5.12992784003009 0 0 0 +370 1 4.274939866691742 5.984915813368439 5.12992784003009 0 0 0 +371 1 4.274939866691742 5.12992784003009 5.984915813368439 0 0 0 +372 1 3.4199518933533937 5.984915813368439 5.984915813368439 0 0 0 +373 1 5.12992784003009 5.12992784003009 5.12992784003009 0 0 0 +374 1 5.984915813368439 5.984915813368439 5.12992784003009 0 0 0 +375 1 5.984915813368439 5.12992784003009 5.984915813368439 0 0 0 +376 1 5.12992784003009 5.984915813368439 5.984915813368439 0 0 0 +377 1 6.839903786706787 5.12992784003009 5.12992784003009 0 0 0 +378 1 7.694891760045135 5.984915813368439 5.12992784003009 0 0 0 +379 1 7.694891760045135 5.12992784003009 5.984915813368439 0 0 0 +380 1 6.839903786706787 5.984915813368439 5.984915813368439 0 0 0 +381 1 0 6.839903786706787 5.12992784003009 0 0 0 +382 1 0.8549879733383484 7.694891760045135 5.12992784003009 0 0 0 +383 1 0.8549879733383484 6.839903786706787 5.984915813368439 0 0 0 +384 1 0 7.694891760045135 5.984915813368439 0 0 0 +385 1 1.7099759466766968 6.839903786706787 5.12992784003009 0 0 0 +386 1 2.564963920015045 7.694891760045135 5.12992784003009 0 0 0 +387 1 2.564963920015045 6.839903786706787 5.984915813368439 0 0 0 +388 1 1.7099759466766968 7.694891760045135 5.984915813368439 0 0 0 +389 1 3.4199518933533937 6.839903786706787 5.12992784003009 0 0 0 +390 1 4.274939866691742 7.694891760045135 5.12992784003009 0 0 0 +391 1 4.274939866691742 6.839903786706787 5.984915813368439 0 0 0 +392 1 3.4199518933533937 7.694891760045135 5.984915813368439 0 0 0 +393 1 5.12992784003009 6.839903786706787 5.12992784003009 0 0 0 +394 1 5.984915813368439 7.694891760045135 5.12992784003009 0 0 0 +395 1 5.984915813368439 6.839903786706787 5.984915813368439 0 0 0 +396 1 5.12992784003009 7.694891760045135 5.984915813368439 0 0 0 +397 1 6.839903786706787 6.839903786706787 5.12992784003009 0 0 0 +398 1 7.694891760045135 7.694891760045135 5.12992784003009 0 0 0 +399 1 7.694891760045135 6.839903786706787 5.984915813368439 0 0 0 +400 1 6.839903786706787 7.694891760045135 5.984915813368439 0 0 0 +401 1 0 0 6.839903786706787 0 0 0 +402 1 0.8549879733383484 0.8549879733383484 6.839903786706787 0 0 0 +403 1 0.8549879733383484 0 7.694891760045135 0 0 0 +404 1 0 0.8549879733383484 7.694891760045135 0 0 0 +405 1 1.7099759466766968 0 6.839903786706787 0 0 0 +406 1 2.564963920015045 0.8549879733383484 6.839903786706787 0 0 0 +407 1 2.564963920015045 0 7.694891760045135 0 0 0 +408 1 1.7099759466766968 0.8549879733383484 7.694891760045135 0 0 0 +409 1 3.4199518933533937 0 6.839903786706787 0 0 0 +410 1 4.274939866691742 0.8549879733383484 6.839903786706787 0 0 0 +411 1 4.274939866691742 0 7.694891760045135 0 0 0 +412 1 3.4199518933533937 0.8549879733383484 7.694891760045135 0 0 0 +413 1 5.12992784003009 0 6.839903786706787 0 0 0 +414 1 5.984915813368439 0.8549879733383484 6.839903786706787 0 0 0 +415 1 5.984915813368439 0 7.694891760045135 0 0 0 +416 1 5.12992784003009 0.8549879733383484 7.694891760045135 0 0 0 +417 1 6.839903786706787 0 6.839903786706787 0 0 0 +418 1 7.694891760045135 0.8549879733383484 6.839903786706787 0 0 0 +419 1 7.694891760045135 0 7.694891760045135 0 0 0 +420 1 6.839903786706787 0.8549879733383484 7.694891760045135 0 0 0 +421 1 0 1.7099759466766968 6.839903786706787 0 0 0 +422 1 0.8549879733383484 2.564963920015045 6.839903786706787 0 0 0 +423 1 0.8549879733383484 1.7099759466766968 7.694891760045135 0 0 0 +424 1 0 2.564963920015045 7.694891760045135 0 0 0 +425 1 1.7099759466766968 1.7099759466766968 6.839903786706787 0 0 0 +426 1 2.564963920015045 2.564963920015045 6.839903786706787 0 0 0 +427 1 2.564963920015045 1.7099759466766968 7.694891760045135 0 0 0 +428 1 1.7099759466766968 2.564963920015045 7.694891760045135 0 0 0 +429 1 3.4199518933533937 1.7099759466766968 6.839903786706787 0 0 0 +430 1 4.274939866691742 2.564963920015045 6.839903786706787 0 0 0 +431 1 4.274939866691742 1.7099759466766968 7.694891760045135 0 0 0 +432 1 3.4199518933533937 2.564963920015045 7.694891760045135 0 0 0 +433 1 5.12992784003009 1.7099759466766968 6.839903786706787 0 0 0 +434 1 5.984915813368439 2.564963920015045 6.839903786706787 0 0 0 +435 1 5.984915813368439 1.7099759466766968 7.694891760045135 0 0 0 +436 1 5.12992784003009 2.564963920015045 7.694891760045135 0 0 0 +437 1 6.839903786706787 1.7099759466766968 6.839903786706787 0 0 0 +438 1 7.694891760045135 2.564963920015045 6.839903786706787 0 0 0 +439 1 7.694891760045135 1.7099759466766968 7.694891760045135 0 0 0 +440 1 6.839903786706787 2.564963920015045 7.694891760045135 0 0 0 +441 1 0 3.4199518933533937 6.839903786706787 0 0 0 +442 1 0.8549879733383484 4.274939866691742 6.839903786706787 0 0 0 +443 1 0.8549879733383484 3.4199518933533937 7.694891760045135 0 0 0 +444 1 0 4.274939866691742 7.694891760045135 0 0 0 +445 1 1.7099759466766968 3.4199518933533937 6.839903786706787 0 0 0 +446 1 2.564963920015045 4.274939866691742 6.839903786706787 0 0 0 +447 1 2.564963920015045 3.4199518933533937 7.694891760045135 0 0 0 +448 1 1.7099759466766968 4.274939866691742 7.694891760045135 0 0 0 +449 1 3.4199518933533937 3.4199518933533937 6.839903786706787 0 0 0 +450 1 4.274939866691742 4.274939866691742 6.839903786706787 0 0 0 +451 1 4.274939866691742 3.4199518933533937 7.694891760045135 0 0 0 +452 1 3.4199518933533937 4.274939866691742 7.694891760045135 0 0 0 +453 1 5.12992784003009 3.4199518933533937 6.839903786706787 0 0 0 +454 1 5.984915813368439 4.274939866691742 6.839903786706787 0 0 0 +455 1 5.984915813368439 3.4199518933533937 7.694891760045135 0 0 0 +456 1 5.12992784003009 4.274939866691742 7.694891760045135 0 0 0 +457 1 6.839903786706787 3.4199518933533937 6.839903786706787 0 0 0 +458 1 7.694891760045135 4.274939866691742 6.839903786706787 0 0 0 +459 1 7.694891760045135 3.4199518933533937 7.694891760045135 0 0 0 +460 1 6.839903786706787 4.274939866691742 7.694891760045135 0 0 0 +461 1 0 5.12992784003009 6.839903786706787 0 0 0 +462 1 0.8549879733383484 5.984915813368439 6.839903786706787 0 0 0 +463 1 0.8549879733383484 5.12992784003009 7.694891760045135 0 0 0 +464 1 0 5.984915813368439 7.694891760045135 0 0 0 +465 1 1.7099759466766968 5.12992784003009 6.839903786706787 0 0 0 +466 1 2.564963920015045 5.984915813368439 6.839903786706787 0 0 0 +467 1 2.564963920015045 5.12992784003009 7.694891760045135 0 0 0 +468 1 1.7099759466766968 5.984915813368439 7.694891760045135 0 0 0 +469 1 3.4199518933533937 5.12992784003009 6.839903786706787 0 0 0 +470 1 4.274939866691742 5.984915813368439 6.839903786706787 0 0 0 +471 1 4.274939866691742 5.12992784003009 7.694891760045135 0 0 0 +472 1 3.4199518933533937 5.984915813368439 7.694891760045135 0 0 0 +473 1 5.12992784003009 5.12992784003009 6.839903786706787 0 0 0 +474 1 5.984915813368439 5.984915813368439 6.839903786706787 0 0 0 +475 1 5.984915813368439 5.12992784003009 7.694891760045135 0 0 0 +476 1 5.12992784003009 5.984915813368439 7.694891760045135 0 0 0 +477 1 6.839903786706787 5.12992784003009 6.839903786706787 0 0 0 +478 1 7.694891760045135 5.984915813368439 6.839903786706787 0 0 0 +479 1 7.694891760045135 5.12992784003009 7.694891760045135 0 0 0 +480 1 6.839903786706787 5.984915813368439 7.694891760045135 0 0 0 +481 1 0 6.839903786706787 6.839903786706787 0 0 0 +482 1 0.8549879733383484 7.694891760045135 6.839903786706787 0 0 0 +483 1 0.8549879733383484 6.839903786706787 7.694891760045135 0 0 0 +484 1 0 7.694891760045135 7.694891760045135 0 0 0 +485 1 1.7099759466766968 6.839903786706787 6.839903786706787 0 0 0 +486 1 2.564963920015045 7.694891760045135 6.839903786706787 0 0 0 +487 1 2.564963920015045 6.839903786706787 7.694891760045135 0 0 0 +488 1 1.7099759466766968 7.694891760045135 7.694891760045135 0 0 0 +489 1 3.4199518933533937 6.839903786706787 6.839903786706787 0 0 0 +490 1 4.274939866691742 7.694891760045135 6.839903786706787 0 0 0 +491 1 4.274939866691742 6.839903786706787 7.694891760045135 0 0 0 +492 1 3.4199518933533937 7.694891760045135 7.694891760045135 0 0 0 +493 1 5.12992784003009 6.839903786706787 6.839903786706787 0 0 0 +494 1 5.984915813368439 7.694891760045135 6.839903786706787 0 0 0 +495 1 5.984915813368439 6.839903786706787 7.694891760045135 0 0 0 +496 1 5.12992784003009 7.694891760045135 7.694891760045135 0 0 0 +497 1 6.839903786706787 6.839903786706787 6.839903786706787 0 0 0 +498 1 7.694891760045135 7.694891760045135 6.839903786706787 0 0 0 +499 1 7.694891760045135 6.839903786706787 7.694891760045135 0 0 0 +500 1 6.839903786706787 7.694891760045135 7.694891760045135 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 +5 0 0 0 +6 0 0 0 +7 0 0 0 +8 0 0 0 +9 0 0 0 +10 0 0 0 +11 0 0 0 +12 0 0 0 +13 0 0 0 +14 0 0 0 +15 0 0 0 +16 0 0 0 +17 0 0 0 +18 0 0 0 +19 0 0 0 +20 0 0 0 +21 0 0 0 +22 0 0 0 +23 0 0 0 +24 0 0 0 +25 0 0 0 +26 0 0 0 +27 0 0 0 +28 0 0 0 +29 0 0 0 +30 0 0 0 +31 0 0 0 +32 0 0 0 +33 0 0 0 +34 0 0 0 +35 0 0 0 +36 0 0 0 +37 0 0 0 +38 0 0 0 +39 0 0 0 +40 0 0 0 +41 0 0 0 +42 0 0 0 +43 0 0 0 +44 0 0 0 +45 0 0 0 +46 0 0 0 +47 0 0 0 +48 0 0 0 +49 0 0 0 +50 0 0 0 +51 0 0 0 +52 0 0 0 +53 0 0 0 +54 0 0 0 +55 0 0 0 +56 0 0 0 +57 0 0 0 +58 0 0 0 +59 0 0 0 +60 0 0 0 +61 0 0 0 +62 0 0 0 +63 0 0 0 +64 0 0 0 +65 0 0 0 +66 0 0 0 +67 0 0 0 +68 0 0 0 +69 0 0 0 +70 0 0 0 +71 0 0 0 +72 0 0 0 +73 0 0 0 +74 0 0 0 +75 0 0 0 +76 0 0 0 +77 0 0 0 +78 0 0 0 +79 0 0 0 +80 0 0 0 +81 0 0 0 +82 0 0 0 +83 0 0 0 +84 0 0 0 +85 0 0 0 +86 0 0 0 +87 0 0 0 +88 0 0 0 +89 0 0 0 +90 0 0 0 +91 0 0 0 +92 0 0 0 +93 0 0 0 +94 0 0 0 +95 0 0 0 +96 0 0 0 +97 0 0 0 +98 0 0 0 +99 0 0 0 +100 0 0 0 +101 0 0 0 +102 0 0 0 +103 0 0 0 +104 0 0 0 +105 0 0 0 +106 0 0 0 +107 0 0 0 +108 0 0 0 +109 0 0 0 +110 0 0 0 +111 0 0 0 +112 0 0 0 +113 0 0 0 +114 0 0 0 +115 0 0 0 +116 0 0 0 +117 0 0 0 +118 0 0 0 +119 0 0 0 +120 0 0 0 +121 0 0 0 +122 0 0 0 +123 0 0 0 +124 0 0 0 +125 0 0 0 +126 0 0 0 +127 0 0 0 +128 0 0 0 +129 0 0 0 +130 0 0 0 +131 0 0 0 +132 0 0 0 +133 0 0 0 +134 0 0 0 +135 0 0 0 +136 0 0 0 +137 0 0 0 +138 0 0 0 +139 0 0 0 +140 0 0 0 +141 0 0 0 +142 0 0 0 +143 0 0 0 +144 0 0 0 +145 0 0 0 +146 0 0 0 +147 0 0 0 +148 0 0 0 +149 0 0 0 +150 0 0 0 +151 0 0 0 +152 0 0 0 +153 0 0 0 +154 0 0 0 +155 0 0 0 +156 0 0 0 +157 0 0 0 +158 0 0 0 +159 0 0 0 +160 0 0 0 +161 0 0 0 +162 0 0 0 +163 0 0 0 +164 0 0 0 +165 0 0 0 +166 0 0 0 +167 0 0 0 +168 0 0 0 +169 0 0 0 +170 0 0 0 +171 0 0 0 +172 0 0 0 +173 0 0 0 +174 0 0 0 +175 0 0 0 +176 0 0 0 +177 0 0 0 +178 0 0 0 +179 0 0 0 +180 0 0 0 +181 0 0 0 +182 0 0 0 +183 0 0 0 +184 0 0 0 +185 0 0 0 +186 0 0 0 +187 0 0 0 +188 0 0 0 +189 0 0 0 +190 0 0 0 +191 0 0 0 +192 0 0 0 +193 0 0 0 +194 0 0 0 +195 0 0 0 +196 0 0 0 +197 0 0 0 +198 0 0 0 +199 0 0 0 +200 0 0 0 +201 0 0 0 +202 0 0 0 +203 0 0 0 +204 0 0 0 +205 0 0 0 +206 0 0 0 +207 0 0 0 +208 0 0 0 +209 0 0 0 +210 0 0 0 +211 0 0 0 +212 0 0 0 +213 0 0 0 +214 0 0 0 +215 0 0 0 +216 0 0 0 +217 0 0 0 +218 0 0 0 +219 0 0 0 +220 0 0 0 +221 0 0 0 +222 0 0 0 +223 0 0 0 +224 0 0 0 +225 0 0 0 +226 0 0 0 +227 0 0 0 +228 0 0 0 +229 0 0 0 +230 0 0 0 +231 0 0 0 +232 0 0 0 +233 0 0 0 +234 0 0 0 +235 0 0 0 +236 0 0 0 +237 0 0 0 +238 0 0 0 +239 0 0 0 +240 0 0 0 +241 0 0 0 +242 0 0 0 +243 0 0 0 +244 0 0 0 +245 0 0 0 +246 0 0 0 +247 0 0 0 +248 0 0 0 +249 0 0 0 +250 0 0 0 +251 0 0 0 +252 0 0 0 +253 0 0 0 +254 0 0 0 +255 0 0 0 +256 0 0 0 +257 0 0 0 +258 0 0 0 +259 0 0 0 +260 0 0 0 +261 0 0 0 +262 0 0 0 +263 0 0 0 +264 0 0 0 +265 0 0 0 +266 0 0 0 +267 0 0 0 +268 0 0 0 +269 0 0 0 +270 0 0 0 +271 0 0 0 +272 0 0 0 +273 0 0 0 +274 0 0 0 +275 0 0 0 +276 0 0 0 +277 0 0 0 +278 0 0 0 +279 0 0 0 +280 0 0 0 +281 0 0 0 +282 0 0 0 +283 0 0 0 +284 0 0 0 +285 0 0 0 +286 0 0 0 +287 0 0 0 +288 0 0 0 +289 0 0 0 +290 0 0 0 +291 0 0 0 +292 0 0 0 +293 0 0 0 +294 0 0 0 +295 0 0 0 +296 0 0 0 +297 0 0 0 +298 0 0 0 +299 0 0 0 +300 0 0 0 +301 0 0 0 +302 0 0 0 +303 0 0 0 +304 0 0 0 +305 0 0 0 +306 0 0 0 +307 0 0 0 +308 0 0 0 +309 0 0 0 +310 0 0 0 +311 0 0 0 +312 0 0 0 +313 0 0 0 +314 0 0 0 +315 0 0 0 +316 0 0 0 +317 0 0 0 +318 0 0 0 +319 0 0 0 +320 0 0 0 +321 0 0 0 +322 0 0 0 +323 0 0 0 +324 0 0 0 +325 0 0 0 +326 0 0 0 +327 0 0 0 +328 0 0 0 +329 0 0 0 +330 0 0 0 +331 0 0 0 +332 0 0 0 +333 0 0 0 +334 0 0 0 +335 0 0 0 +336 0 0 0 +337 0 0 0 +338 0 0 0 +339 0 0 0 +340 0 0 0 +341 0 0 0 +342 0 0 0 +343 0 0 0 +344 0 0 0 +345 0 0 0 +346 0 0 0 +347 0 0 0 +348 0 0 0 +349 0 0 0 +350 0 0 0 +351 0 0 0 +352 0 0 0 +353 0 0 0 +354 0 0 0 +355 0 0 0 +356 0 0 0 +357 0 0 0 +358 0 0 0 +359 0 0 0 +360 0 0 0 +361 0 0 0 +362 0 0 0 +363 0 0 0 +364 0 0 0 +365 0 0 0 +366 0 0 0 +367 0 0 0 +368 0 0 0 +369 0 0 0 +370 0 0 0 +371 0 0 0 +372 0 0 0 +373 0 0 0 +374 0 0 0 +375 0 0 0 +376 0 0 0 +377 0 0 0 +378 0 0 0 +379 0 0 0 +380 0 0 0 +381 0 0 0 +382 0 0 0 +383 0 0 0 +384 0 0 0 +385 0 0 0 +386 0 0 0 +387 0 0 0 +388 0 0 0 +389 0 0 0 +390 0 0 0 +391 0 0 0 +392 0 0 0 +393 0 0 0 +394 0 0 0 +395 0 0 0 +396 0 0 0 +397 0 0 0 +398 0 0 0 +399 0 0 0 +400 0 0 0 +401 0 0 0 +402 0 0 0 +403 0 0 0 +404 0 0 0 +405 0 0 0 +406 0 0 0 +407 0 0 0 +408 0 0 0 +409 0 0 0 +410 0 0 0 +411 0 0 0 +412 0 0 0 +413 0 0 0 +414 0 0 0 +415 0 0 0 +416 0 0 0 +417 0 0 0 +418 0 0 0 +419 0 0 0 +420 0 0 0 +421 0 0 0 +422 0 0 0 +423 0 0 0 +424 0 0 0 +425 0 0 0 +426 0 0 0 +427 0 0 0 +428 0 0 0 +429 0 0 0 +430 0 0 0 +431 0 0 0 +432 0 0 0 +433 0 0 0 +434 0 0 0 +435 0 0 0 +436 0 0 0 +437 0 0 0 +438 0 0 0 +439 0 0 0 +440 0 0 0 +441 0 0 0 +442 0 0 0 +443 0 0 0 +444 0 0 0 +445 0 0 0 +446 0 0 0 +447 0 0 0 +448 0 0 0 +449 0 0 0 +450 0 0 0 +451 0 0 0 +452 0 0 0 +453 0 0 0 +454 0 0 0 +455 0 0 0 +456 0 0 0 +457 0 0 0 +458 0 0 0 +459 0 0 0 +460 0 0 0 +461 0 0 0 +462 0 0 0 +463 0 0 0 +464 0 0 0 +465 0 0 0 +466 0 0 0 +467 0 0 0 +468 0 0 0 +469 0 0 0 +470 0 0 0 +471 0 0 0 +472 0 0 0 +473 0 0 0 +474 0 0 0 +475 0 0 0 +476 0 0 0 +477 0 0 0 +478 0 0 0 +479 0 0 0 +480 0 0 0 +481 0 0 0 +482 0 0 0 +483 0 0 0 +484 0 0 0 +485 0 0 0 +486 0 0 0 +487 0 0 0 +488 0 0 0 +489 0 0 0 +490 0 0 0 +491 0 0 0 +492 0 0 0 +493 0 0 0 +494 0 0 0 +495 0 0 0 +496 0 0 0 +497 0 0 0 +498 0 0 0 +499 0 0 0 +500 0 0 0 diff --git a/examples/mdi/data.series.0.9 b/examples/mdi/data.series.0.9 new file mode 100644 index 0000000000..1944096898 --- /dev/null +++ b/examples/mdi/data.series.0.9 @@ -0,0 +1,1018 @@ +LAMMPS data file via write_data, version 2 Jun 2022, timestep = 0 + +500 atoms +1 atom types + +0 8.2207069144349 xlo xhi +0 8.2207069144349 ylo yhi +0 8.2207069144349 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.82207069144349 0.82207069144349 0 0 0 0 +3 1 0.82207069144349 0 0.82207069144349 0 0 0 +4 1 0 0.82207069144349 0.82207069144349 0 0 0 +5 1 1.64414138288698 0 0 0 0 0 +6 1 2.46621207433047 0.82207069144349 0 0 0 0 +7 1 2.46621207433047 0 0.82207069144349 0 0 0 +8 1 1.64414138288698 0.82207069144349 0.82207069144349 0 0 0 +9 1 3.28828276577396 0 0 0 0 0 +10 1 4.11035345721745 0.82207069144349 0 0 0 0 +11 1 4.11035345721745 0 0.82207069144349 0 0 0 +12 1 3.28828276577396 0.82207069144349 0.82207069144349 0 0 0 +13 1 4.93242414866094 0 0 0 0 0 +14 1 5.75449484010443 0.82207069144349 0 0 0 0 +15 1 5.75449484010443 0 0.82207069144349 0 0 0 +16 1 4.93242414866094 0.82207069144349 0.82207069144349 0 0 0 +17 1 6.57656553154792 0 0 0 0 0 +18 1 7.39863622299141 0.82207069144349 0 0 0 0 +19 1 7.39863622299141 0 0.82207069144349 0 0 0 +20 1 6.57656553154792 0.82207069144349 0.82207069144349 0 0 0 +21 1 0 1.64414138288698 0 0 0 0 +22 1 0.82207069144349 2.46621207433047 0 0 0 0 +23 1 0.82207069144349 1.64414138288698 0.82207069144349 0 0 0 +24 1 0 2.46621207433047 0.82207069144349 0 0 0 +25 1 1.64414138288698 1.64414138288698 0 0 0 0 +26 1 2.46621207433047 2.46621207433047 0 0 0 0 +27 1 2.46621207433047 1.64414138288698 0.82207069144349 0 0 0 +28 1 1.64414138288698 2.46621207433047 0.82207069144349 0 0 0 +29 1 3.28828276577396 1.64414138288698 0 0 0 0 +30 1 4.11035345721745 2.46621207433047 0 0 0 0 +31 1 4.11035345721745 1.64414138288698 0.82207069144349 0 0 0 +32 1 3.28828276577396 2.46621207433047 0.82207069144349 0 0 0 +33 1 4.93242414866094 1.64414138288698 0 0 0 0 +34 1 5.75449484010443 2.46621207433047 0 0 0 0 +35 1 5.75449484010443 1.64414138288698 0.82207069144349 0 0 0 +36 1 4.93242414866094 2.46621207433047 0.82207069144349 0 0 0 +37 1 6.57656553154792 1.64414138288698 0 0 0 0 +38 1 7.39863622299141 2.46621207433047 0 0 0 0 +39 1 7.39863622299141 1.64414138288698 0.82207069144349 0 0 0 +40 1 6.57656553154792 2.46621207433047 0.82207069144349 0 0 0 +41 1 0 3.28828276577396 0 0 0 0 +42 1 0.82207069144349 4.11035345721745 0 0 0 0 +43 1 0.82207069144349 3.28828276577396 0.82207069144349 0 0 0 +44 1 0 4.11035345721745 0.82207069144349 0 0 0 +45 1 1.64414138288698 3.28828276577396 0 0 0 0 +46 1 2.46621207433047 4.11035345721745 0 0 0 0 +47 1 2.46621207433047 3.28828276577396 0.82207069144349 0 0 0 +48 1 1.64414138288698 4.11035345721745 0.82207069144349 0 0 0 +49 1 3.28828276577396 3.28828276577396 0 0 0 0 +50 1 4.11035345721745 4.11035345721745 0 0 0 0 +51 1 4.11035345721745 3.28828276577396 0.82207069144349 0 0 0 +52 1 3.28828276577396 4.11035345721745 0.82207069144349 0 0 0 +53 1 4.93242414866094 3.28828276577396 0 0 0 0 +54 1 5.75449484010443 4.11035345721745 0 0 0 0 +55 1 5.75449484010443 3.28828276577396 0.82207069144349 0 0 0 +56 1 4.93242414866094 4.11035345721745 0.82207069144349 0 0 0 +57 1 6.57656553154792 3.28828276577396 0 0 0 0 +58 1 7.39863622299141 4.11035345721745 0 0 0 0 +59 1 7.39863622299141 3.28828276577396 0.82207069144349 0 0 0 +60 1 6.57656553154792 4.11035345721745 0.82207069144349 0 0 0 +61 1 0 4.93242414866094 0 0 0 0 +62 1 0.82207069144349 5.75449484010443 0 0 0 0 +63 1 0.82207069144349 4.93242414866094 0.82207069144349 0 0 0 +64 1 0 5.75449484010443 0.82207069144349 0 0 0 +65 1 1.64414138288698 4.93242414866094 0 0 0 0 +66 1 2.46621207433047 5.75449484010443 0 0 0 0 +67 1 2.46621207433047 4.93242414866094 0.82207069144349 0 0 0 +68 1 1.64414138288698 5.75449484010443 0.82207069144349 0 0 0 +69 1 3.28828276577396 4.93242414866094 0 0 0 0 +70 1 4.11035345721745 5.75449484010443 0 0 0 0 +71 1 4.11035345721745 4.93242414866094 0.82207069144349 0 0 0 +72 1 3.28828276577396 5.75449484010443 0.82207069144349 0 0 0 +73 1 4.93242414866094 4.93242414866094 0 0 0 0 +74 1 5.75449484010443 5.75449484010443 0 0 0 0 +75 1 5.75449484010443 4.93242414866094 0.82207069144349 0 0 0 +76 1 4.93242414866094 5.75449484010443 0.82207069144349 0 0 0 +77 1 6.57656553154792 4.93242414866094 0 0 0 0 +78 1 7.39863622299141 5.75449484010443 0 0 0 0 +79 1 7.39863622299141 4.93242414866094 0.82207069144349 0 0 0 +80 1 6.57656553154792 5.75449484010443 0.82207069144349 0 0 0 +81 1 0 6.57656553154792 0 0 0 0 +82 1 0.82207069144349 7.39863622299141 0 0 0 0 +83 1 0.82207069144349 6.57656553154792 0.82207069144349 0 0 0 +84 1 0 7.39863622299141 0.82207069144349 0 0 0 +85 1 1.64414138288698 6.57656553154792 0 0 0 0 +86 1 2.46621207433047 7.39863622299141 0 0 0 0 +87 1 2.46621207433047 6.57656553154792 0.82207069144349 0 0 0 +88 1 1.64414138288698 7.39863622299141 0.82207069144349 0 0 0 +89 1 3.28828276577396 6.57656553154792 0 0 0 0 +90 1 4.11035345721745 7.39863622299141 0 0 0 0 +91 1 4.11035345721745 6.57656553154792 0.82207069144349 0 0 0 +92 1 3.28828276577396 7.39863622299141 0.82207069144349 0 0 0 +93 1 4.93242414866094 6.57656553154792 0 0 0 0 +94 1 5.75449484010443 7.39863622299141 0 0 0 0 +95 1 5.75449484010443 6.57656553154792 0.82207069144349 0 0 0 +96 1 4.93242414866094 7.39863622299141 0.82207069144349 0 0 0 +97 1 6.57656553154792 6.57656553154792 0 0 0 0 +98 1 7.39863622299141 7.39863622299141 0 0 0 0 +99 1 7.39863622299141 6.57656553154792 0.82207069144349 0 0 0 +100 1 6.57656553154792 7.39863622299141 0.82207069144349 0 0 0 +101 1 0 0 1.64414138288698 0 0 0 +102 1 0.82207069144349 0.82207069144349 1.64414138288698 0 0 0 +103 1 0.82207069144349 0 2.46621207433047 0 0 0 +104 1 0 0.82207069144349 2.46621207433047 0 0 0 +105 1 1.64414138288698 0 1.64414138288698 0 0 0 +106 1 2.46621207433047 0.82207069144349 1.64414138288698 0 0 0 +107 1 2.46621207433047 0 2.46621207433047 0 0 0 +108 1 1.64414138288698 0.82207069144349 2.46621207433047 0 0 0 +109 1 3.28828276577396 0 1.64414138288698 0 0 0 +110 1 4.11035345721745 0.82207069144349 1.64414138288698 0 0 0 +111 1 4.11035345721745 0 2.46621207433047 0 0 0 +112 1 3.28828276577396 0.82207069144349 2.46621207433047 0 0 0 +113 1 4.93242414866094 0 1.64414138288698 0 0 0 +114 1 5.75449484010443 0.82207069144349 1.64414138288698 0 0 0 +115 1 5.75449484010443 0 2.46621207433047 0 0 0 +116 1 4.93242414866094 0.82207069144349 2.46621207433047 0 0 0 +117 1 6.57656553154792 0 1.64414138288698 0 0 0 +118 1 7.39863622299141 0.82207069144349 1.64414138288698 0 0 0 +119 1 7.39863622299141 0 2.46621207433047 0 0 0 +120 1 6.57656553154792 0.82207069144349 2.46621207433047 0 0 0 +121 1 0 1.64414138288698 1.64414138288698 0 0 0 +122 1 0.82207069144349 2.46621207433047 1.64414138288698 0 0 0 +123 1 0.82207069144349 1.64414138288698 2.46621207433047 0 0 0 +124 1 0 2.46621207433047 2.46621207433047 0 0 0 +125 1 1.64414138288698 1.64414138288698 1.64414138288698 0 0 0 +126 1 2.46621207433047 2.46621207433047 1.64414138288698 0 0 0 +127 1 2.46621207433047 1.64414138288698 2.46621207433047 0 0 0 +128 1 1.64414138288698 2.46621207433047 2.46621207433047 0 0 0 +129 1 3.28828276577396 1.64414138288698 1.64414138288698 0 0 0 +130 1 4.11035345721745 2.46621207433047 1.64414138288698 0 0 0 +131 1 4.11035345721745 1.64414138288698 2.46621207433047 0 0 0 +132 1 3.28828276577396 2.46621207433047 2.46621207433047 0 0 0 +133 1 4.93242414866094 1.64414138288698 1.64414138288698 0 0 0 +134 1 5.75449484010443 2.46621207433047 1.64414138288698 0 0 0 +135 1 5.75449484010443 1.64414138288698 2.46621207433047 0 0 0 +136 1 4.93242414866094 2.46621207433047 2.46621207433047 0 0 0 +137 1 6.57656553154792 1.64414138288698 1.64414138288698 0 0 0 +138 1 7.39863622299141 2.46621207433047 1.64414138288698 0 0 0 +139 1 7.39863622299141 1.64414138288698 2.46621207433047 0 0 0 +140 1 6.57656553154792 2.46621207433047 2.46621207433047 0 0 0 +141 1 0 3.28828276577396 1.64414138288698 0 0 0 +142 1 0.82207069144349 4.11035345721745 1.64414138288698 0 0 0 +143 1 0.82207069144349 3.28828276577396 2.46621207433047 0 0 0 +144 1 0 4.11035345721745 2.46621207433047 0 0 0 +145 1 1.64414138288698 3.28828276577396 1.64414138288698 0 0 0 +146 1 2.46621207433047 4.11035345721745 1.64414138288698 0 0 0 +147 1 2.46621207433047 3.28828276577396 2.46621207433047 0 0 0 +148 1 1.64414138288698 4.11035345721745 2.46621207433047 0 0 0 +149 1 3.28828276577396 3.28828276577396 1.64414138288698 0 0 0 +150 1 4.11035345721745 4.11035345721745 1.64414138288698 0 0 0 +151 1 4.11035345721745 3.28828276577396 2.46621207433047 0 0 0 +152 1 3.28828276577396 4.11035345721745 2.46621207433047 0 0 0 +153 1 4.93242414866094 3.28828276577396 1.64414138288698 0 0 0 +154 1 5.75449484010443 4.11035345721745 1.64414138288698 0 0 0 +155 1 5.75449484010443 3.28828276577396 2.46621207433047 0 0 0 +156 1 4.93242414866094 4.11035345721745 2.46621207433047 0 0 0 +157 1 6.57656553154792 3.28828276577396 1.64414138288698 0 0 0 +158 1 7.39863622299141 4.11035345721745 1.64414138288698 0 0 0 +159 1 7.39863622299141 3.28828276577396 2.46621207433047 0 0 0 +160 1 6.57656553154792 4.11035345721745 2.46621207433047 0 0 0 +161 1 0 4.93242414866094 1.64414138288698 0 0 0 +162 1 0.82207069144349 5.75449484010443 1.64414138288698 0 0 0 +163 1 0.82207069144349 4.93242414866094 2.46621207433047 0 0 0 +164 1 0 5.75449484010443 2.46621207433047 0 0 0 +165 1 1.64414138288698 4.93242414866094 1.64414138288698 0 0 0 +166 1 2.46621207433047 5.75449484010443 1.64414138288698 0 0 0 +167 1 2.46621207433047 4.93242414866094 2.46621207433047 0 0 0 +168 1 1.64414138288698 5.75449484010443 2.46621207433047 0 0 0 +169 1 3.28828276577396 4.93242414866094 1.64414138288698 0 0 0 +170 1 4.11035345721745 5.75449484010443 1.64414138288698 0 0 0 +171 1 4.11035345721745 4.93242414866094 2.46621207433047 0 0 0 +172 1 3.28828276577396 5.75449484010443 2.46621207433047 0 0 0 +173 1 4.93242414866094 4.93242414866094 1.64414138288698 0 0 0 +174 1 5.75449484010443 5.75449484010443 1.64414138288698 0 0 0 +175 1 5.75449484010443 4.93242414866094 2.46621207433047 0 0 0 +176 1 4.93242414866094 5.75449484010443 2.46621207433047 0 0 0 +177 1 6.57656553154792 4.93242414866094 1.64414138288698 0 0 0 +178 1 7.39863622299141 5.75449484010443 1.64414138288698 0 0 0 +179 1 7.39863622299141 4.93242414866094 2.46621207433047 0 0 0 +180 1 6.57656553154792 5.75449484010443 2.46621207433047 0 0 0 +181 1 0 6.57656553154792 1.64414138288698 0 0 0 +182 1 0.82207069144349 7.39863622299141 1.64414138288698 0 0 0 +183 1 0.82207069144349 6.57656553154792 2.46621207433047 0 0 0 +184 1 0 7.39863622299141 2.46621207433047 0 0 0 +185 1 1.64414138288698 6.57656553154792 1.64414138288698 0 0 0 +186 1 2.46621207433047 7.39863622299141 1.64414138288698 0 0 0 +187 1 2.46621207433047 6.57656553154792 2.46621207433047 0 0 0 +188 1 1.64414138288698 7.39863622299141 2.46621207433047 0 0 0 +189 1 3.28828276577396 6.57656553154792 1.64414138288698 0 0 0 +190 1 4.11035345721745 7.39863622299141 1.64414138288698 0 0 0 +191 1 4.11035345721745 6.57656553154792 2.46621207433047 0 0 0 +192 1 3.28828276577396 7.39863622299141 2.46621207433047 0 0 0 +193 1 4.93242414866094 6.57656553154792 1.64414138288698 0 0 0 +194 1 5.75449484010443 7.39863622299141 1.64414138288698 0 0 0 +195 1 5.75449484010443 6.57656553154792 2.46621207433047 0 0 0 +196 1 4.93242414866094 7.39863622299141 2.46621207433047 0 0 0 +197 1 6.57656553154792 6.57656553154792 1.64414138288698 0 0 0 +198 1 7.39863622299141 7.39863622299141 1.64414138288698 0 0 0 +199 1 7.39863622299141 6.57656553154792 2.46621207433047 0 0 0 +200 1 6.57656553154792 7.39863622299141 2.46621207433047 0 0 0 +201 1 0 0 3.28828276577396 0 0 0 +202 1 0.82207069144349 0.82207069144349 3.28828276577396 0 0 0 +203 1 0.82207069144349 0 4.11035345721745 0 0 0 +204 1 0 0.82207069144349 4.11035345721745 0 0 0 +205 1 1.64414138288698 0 3.28828276577396 0 0 0 +206 1 2.46621207433047 0.82207069144349 3.28828276577396 0 0 0 +207 1 2.46621207433047 0 4.11035345721745 0 0 0 +208 1 1.64414138288698 0.82207069144349 4.11035345721745 0 0 0 +209 1 3.28828276577396 0 3.28828276577396 0 0 0 +210 1 4.11035345721745 0.82207069144349 3.28828276577396 0 0 0 +211 1 4.11035345721745 0 4.11035345721745 0 0 0 +212 1 3.28828276577396 0.82207069144349 4.11035345721745 0 0 0 +213 1 4.93242414866094 0 3.28828276577396 0 0 0 +214 1 5.75449484010443 0.82207069144349 3.28828276577396 0 0 0 +215 1 5.75449484010443 0 4.11035345721745 0 0 0 +216 1 4.93242414866094 0.82207069144349 4.11035345721745 0 0 0 +217 1 6.57656553154792 0 3.28828276577396 0 0 0 +218 1 7.39863622299141 0.82207069144349 3.28828276577396 0 0 0 +219 1 7.39863622299141 0 4.11035345721745 0 0 0 +220 1 6.57656553154792 0.82207069144349 4.11035345721745 0 0 0 +221 1 0 1.64414138288698 3.28828276577396 0 0 0 +222 1 0.82207069144349 2.46621207433047 3.28828276577396 0 0 0 +223 1 0.82207069144349 1.64414138288698 4.11035345721745 0 0 0 +224 1 0 2.46621207433047 4.11035345721745 0 0 0 +225 1 1.64414138288698 1.64414138288698 3.28828276577396 0 0 0 +226 1 2.46621207433047 2.46621207433047 3.28828276577396 0 0 0 +227 1 2.46621207433047 1.64414138288698 4.11035345721745 0 0 0 +228 1 1.64414138288698 2.46621207433047 4.11035345721745 0 0 0 +229 1 3.28828276577396 1.64414138288698 3.28828276577396 0 0 0 +230 1 4.11035345721745 2.46621207433047 3.28828276577396 0 0 0 +231 1 4.11035345721745 1.64414138288698 4.11035345721745 0 0 0 +232 1 3.28828276577396 2.46621207433047 4.11035345721745 0 0 0 +233 1 4.93242414866094 1.64414138288698 3.28828276577396 0 0 0 +234 1 5.75449484010443 2.46621207433047 3.28828276577396 0 0 0 +235 1 5.75449484010443 1.64414138288698 4.11035345721745 0 0 0 +236 1 4.93242414866094 2.46621207433047 4.11035345721745 0 0 0 +237 1 6.57656553154792 1.64414138288698 3.28828276577396 0 0 0 +238 1 7.39863622299141 2.46621207433047 3.28828276577396 0 0 0 +239 1 7.39863622299141 1.64414138288698 4.11035345721745 0 0 0 +240 1 6.57656553154792 2.46621207433047 4.11035345721745 0 0 0 +241 1 0 3.28828276577396 3.28828276577396 0 0 0 +242 1 0.82207069144349 4.11035345721745 3.28828276577396 0 0 0 +243 1 0.82207069144349 3.28828276577396 4.11035345721745 0 0 0 +244 1 0 4.11035345721745 4.11035345721745 0 0 0 +245 1 1.64414138288698 3.28828276577396 3.28828276577396 0 0 0 +246 1 2.46621207433047 4.11035345721745 3.28828276577396 0 0 0 +247 1 2.46621207433047 3.28828276577396 4.11035345721745 0 0 0 +248 1 1.64414138288698 4.11035345721745 4.11035345721745 0 0 0 +249 1 3.28828276577396 3.28828276577396 3.28828276577396 0 0 0 +250 1 4.11035345721745 4.11035345721745 3.28828276577396 0 0 0 +251 1 4.11035345721745 3.28828276577396 4.11035345721745 0 0 0 +252 1 3.28828276577396 4.11035345721745 4.11035345721745 0 0 0 +253 1 4.93242414866094 3.28828276577396 3.28828276577396 0 0 0 +254 1 5.75449484010443 4.11035345721745 3.28828276577396 0 0 0 +255 1 5.75449484010443 3.28828276577396 4.11035345721745 0 0 0 +256 1 4.93242414866094 4.11035345721745 4.11035345721745 0 0 0 +257 1 6.57656553154792 3.28828276577396 3.28828276577396 0 0 0 +258 1 7.39863622299141 4.11035345721745 3.28828276577396 0 0 0 +259 1 7.39863622299141 3.28828276577396 4.11035345721745 0 0 0 +260 1 6.57656553154792 4.11035345721745 4.11035345721745 0 0 0 +261 1 0 4.93242414866094 3.28828276577396 0 0 0 +262 1 0.82207069144349 5.75449484010443 3.28828276577396 0 0 0 +263 1 0.82207069144349 4.93242414866094 4.11035345721745 0 0 0 +264 1 0 5.75449484010443 4.11035345721745 0 0 0 +265 1 1.64414138288698 4.93242414866094 3.28828276577396 0 0 0 +266 1 2.46621207433047 5.75449484010443 3.28828276577396 0 0 0 +267 1 2.46621207433047 4.93242414866094 4.11035345721745 0 0 0 +268 1 1.64414138288698 5.75449484010443 4.11035345721745 0 0 0 +269 1 3.28828276577396 4.93242414866094 3.28828276577396 0 0 0 +270 1 4.11035345721745 5.75449484010443 3.28828276577396 0 0 0 +271 1 4.11035345721745 4.93242414866094 4.11035345721745 0 0 0 +272 1 3.28828276577396 5.75449484010443 4.11035345721745 0 0 0 +273 1 4.93242414866094 4.93242414866094 3.28828276577396 0 0 0 +274 1 5.75449484010443 5.75449484010443 3.28828276577396 0 0 0 +275 1 5.75449484010443 4.93242414866094 4.11035345721745 0 0 0 +276 1 4.93242414866094 5.75449484010443 4.11035345721745 0 0 0 +277 1 6.57656553154792 4.93242414866094 3.28828276577396 0 0 0 +278 1 7.39863622299141 5.75449484010443 3.28828276577396 0 0 0 +279 1 7.39863622299141 4.93242414866094 4.11035345721745 0 0 0 +280 1 6.57656553154792 5.75449484010443 4.11035345721745 0 0 0 +281 1 0 6.57656553154792 3.28828276577396 0 0 0 +282 1 0.82207069144349 7.39863622299141 3.28828276577396 0 0 0 +283 1 0.82207069144349 6.57656553154792 4.11035345721745 0 0 0 +284 1 0 7.39863622299141 4.11035345721745 0 0 0 +285 1 1.64414138288698 6.57656553154792 3.28828276577396 0 0 0 +286 1 2.46621207433047 7.39863622299141 3.28828276577396 0 0 0 +287 1 2.46621207433047 6.57656553154792 4.11035345721745 0 0 0 +288 1 1.64414138288698 7.39863622299141 4.11035345721745 0 0 0 +289 1 3.28828276577396 6.57656553154792 3.28828276577396 0 0 0 +290 1 4.11035345721745 7.39863622299141 3.28828276577396 0 0 0 +291 1 4.11035345721745 6.57656553154792 4.11035345721745 0 0 0 +292 1 3.28828276577396 7.39863622299141 4.11035345721745 0 0 0 +293 1 4.93242414866094 6.57656553154792 3.28828276577396 0 0 0 +294 1 5.75449484010443 7.39863622299141 3.28828276577396 0 0 0 +295 1 5.75449484010443 6.57656553154792 4.11035345721745 0 0 0 +296 1 4.93242414866094 7.39863622299141 4.11035345721745 0 0 0 +297 1 6.57656553154792 6.57656553154792 3.28828276577396 0 0 0 +298 1 7.39863622299141 7.39863622299141 3.28828276577396 0 0 0 +299 1 7.39863622299141 6.57656553154792 4.11035345721745 0 0 0 +300 1 6.57656553154792 7.39863622299141 4.11035345721745 0 0 0 +301 1 0 0 4.93242414866094 0 0 0 +302 1 0.82207069144349 0.82207069144349 4.93242414866094 0 0 0 +303 1 0.82207069144349 0 5.75449484010443 0 0 0 +304 1 0 0.82207069144349 5.75449484010443 0 0 0 +305 1 1.64414138288698 0 4.93242414866094 0 0 0 +306 1 2.46621207433047 0.82207069144349 4.93242414866094 0 0 0 +307 1 2.46621207433047 0 5.75449484010443 0 0 0 +308 1 1.64414138288698 0.82207069144349 5.75449484010443 0 0 0 +309 1 3.28828276577396 0 4.93242414866094 0 0 0 +310 1 4.11035345721745 0.82207069144349 4.93242414866094 0 0 0 +311 1 4.11035345721745 0 5.75449484010443 0 0 0 +312 1 3.28828276577396 0.82207069144349 5.75449484010443 0 0 0 +313 1 4.93242414866094 0 4.93242414866094 0 0 0 +314 1 5.75449484010443 0.82207069144349 4.93242414866094 0 0 0 +315 1 5.75449484010443 0 5.75449484010443 0 0 0 +316 1 4.93242414866094 0.82207069144349 5.75449484010443 0 0 0 +317 1 6.57656553154792 0 4.93242414866094 0 0 0 +318 1 7.39863622299141 0.82207069144349 4.93242414866094 0 0 0 +319 1 7.39863622299141 0 5.75449484010443 0 0 0 +320 1 6.57656553154792 0.82207069144349 5.75449484010443 0 0 0 +321 1 0 1.64414138288698 4.93242414866094 0 0 0 +322 1 0.82207069144349 2.46621207433047 4.93242414866094 0 0 0 +323 1 0.82207069144349 1.64414138288698 5.75449484010443 0 0 0 +324 1 0 2.46621207433047 5.75449484010443 0 0 0 +325 1 1.64414138288698 1.64414138288698 4.93242414866094 0 0 0 +326 1 2.46621207433047 2.46621207433047 4.93242414866094 0 0 0 +327 1 2.46621207433047 1.64414138288698 5.75449484010443 0 0 0 +328 1 1.64414138288698 2.46621207433047 5.75449484010443 0 0 0 +329 1 3.28828276577396 1.64414138288698 4.93242414866094 0 0 0 +330 1 4.11035345721745 2.46621207433047 4.93242414866094 0 0 0 +331 1 4.11035345721745 1.64414138288698 5.75449484010443 0 0 0 +332 1 3.28828276577396 2.46621207433047 5.75449484010443 0 0 0 +333 1 4.93242414866094 1.64414138288698 4.93242414866094 0 0 0 +334 1 5.75449484010443 2.46621207433047 4.93242414866094 0 0 0 +335 1 5.75449484010443 1.64414138288698 5.75449484010443 0 0 0 +336 1 4.93242414866094 2.46621207433047 5.75449484010443 0 0 0 +337 1 6.57656553154792 1.64414138288698 4.93242414866094 0 0 0 +338 1 7.39863622299141 2.46621207433047 4.93242414866094 0 0 0 +339 1 7.39863622299141 1.64414138288698 5.75449484010443 0 0 0 +340 1 6.57656553154792 2.46621207433047 5.75449484010443 0 0 0 +341 1 0 3.28828276577396 4.93242414866094 0 0 0 +342 1 0.82207069144349 4.11035345721745 4.93242414866094 0 0 0 +343 1 0.82207069144349 3.28828276577396 5.75449484010443 0 0 0 +344 1 0 4.11035345721745 5.75449484010443 0 0 0 +345 1 1.64414138288698 3.28828276577396 4.93242414866094 0 0 0 +346 1 2.46621207433047 4.11035345721745 4.93242414866094 0 0 0 +347 1 2.46621207433047 3.28828276577396 5.75449484010443 0 0 0 +348 1 1.64414138288698 4.11035345721745 5.75449484010443 0 0 0 +349 1 3.28828276577396 3.28828276577396 4.93242414866094 0 0 0 +350 1 4.11035345721745 4.11035345721745 4.93242414866094 0 0 0 +351 1 4.11035345721745 3.28828276577396 5.75449484010443 0 0 0 +352 1 3.28828276577396 4.11035345721745 5.75449484010443 0 0 0 +353 1 4.93242414866094 3.28828276577396 4.93242414866094 0 0 0 +354 1 5.75449484010443 4.11035345721745 4.93242414866094 0 0 0 +355 1 5.75449484010443 3.28828276577396 5.75449484010443 0 0 0 +356 1 4.93242414866094 4.11035345721745 5.75449484010443 0 0 0 +357 1 6.57656553154792 3.28828276577396 4.93242414866094 0 0 0 +358 1 7.39863622299141 4.11035345721745 4.93242414866094 0 0 0 +359 1 7.39863622299141 3.28828276577396 5.75449484010443 0 0 0 +360 1 6.57656553154792 4.11035345721745 5.75449484010443 0 0 0 +361 1 0 4.93242414866094 4.93242414866094 0 0 0 +362 1 0.82207069144349 5.75449484010443 4.93242414866094 0 0 0 +363 1 0.82207069144349 4.93242414866094 5.75449484010443 0 0 0 +364 1 0 5.75449484010443 5.75449484010443 0 0 0 +365 1 1.64414138288698 4.93242414866094 4.93242414866094 0 0 0 +366 1 2.46621207433047 5.75449484010443 4.93242414866094 0 0 0 +367 1 2.46621207433047 4.93242414866094 5.75449484010443 0 0 0 +368 1 1.64414138288698 5.75449484010443 5.75449484010443 0 0 0 +369 1 3.28828276577396 4.93242414866094 4.93242414866094 0 0 0 +370 1 4.11035345721745 5.75449484010443 4.93242414866094 0 0 0 +371 1 4.11035345721745 4.93242414866094 5.75449484010443 0 0 0 +372 1 3.28828276577396 5.75449484010443 5.75449484010443 0 0 0 +373 1 4.93242414866094 4.93242414866094 4.93242414866094 0 0 0 +374 1 5.75449484010443 5.75449484010443 4.93242414866094 0 0 0 +375 1 5.75449484010443 4.93242414866094 5.75449484010443 0 0 0 +376 1 4.93242414866094 5.75449484010443 5.75449484010443 0 0 0 +377 1 6.57656553154792 4.93242414866094 4.93242414866094 0 0 0 +378 1 7.39863622299141 5.75449484010443 4.93242414866094 0 0 0 +379 1 7.39863622299141 4.93242414866094 5.75449484010443 0 0 0 +380 1 6.57656553154792 5.75449484010443 5.75449484010443 0 0 0 +381 1 0 6.57656553154792 4.93242414866094 0 0 0 +382 1 0.82207069144349 7.39863622299141 4.93242414866094 0 0 0 +383 1 0.82207069144349 6.57656553154792 5.75449484010443 0 0 0 +384 1 0 7.39863622299141 5.75449484010443 0 0 0 +385 1 1.64414138288698 6.57656553154792 4.93242414866094 0 0 0 +386 1 2.46621207433047 7.39863622299141 4.93242414866094 0 0 0 +387 1 2.46621207433047 6.57656553154792 5.75449484010443 0 0 0 +388 1 1.64414138288698 7.39863622299141 5.75449484010443 0 0 0 +389 1 3.28828276577396 6.57656553154792 4.93242414866094 0 0 0 +390 1 4.11035345721745 7.39863622299141 4.93242414866094 0 0 0 +391 1 4.11035345721745 6.57656553154792 5.75449484010443 0 0 0 +392 1 3.28828276577396 7.39863622299141 5.75449484010443 0 0 0 +393 1 4.93242414866094 6.57656553154792 4.93242414866094 0 0 0 +394 1 5.75449484010443 7.39863622299141 4.93242414866094 0 0 0 +395 1 5.75449484010443 6.57656553154792 5.75449484010443 0 0 0 +396 1 4.93242414866094 7.39863622299141 5.75449484010443 0 0 0 +397 1 6.57656553154792 6.57656553154792 4.93242414866094 0 0 0 +398 1 7.39863622299141 7.39863622299141 4.93242414866094 0 0 0 +399 1 7.39863622299141 6.57656553154792 5.75449484010443 0 0 0 +400 1 6.57656553154792 7.39863622299141 5.75449484010443 0 0 0 +401 1 0 0 6.57656553154792 0 0 0 +402 1 0.82207069144349 0.82207069144349 6.57656553154792 0 0 0 +403 1 0.82207069144349 0 7.39863622299141 0 0 0 +404 1 0 0.82207069144349 7.39863622299141 0 0 0 +405 1 1.64414138288698 0 6.57656553154792 0 0 0 +406 1 2.46621207433047 0.82207069144349 6.57656553154792 0 0 0 +407 1 2.46621207433047 0 7.39863622299141 0 0 0 +408 1 1.64414138288698 0.82207069144349 7.39863622299141 0 0 0 +409 1 3.28828276577396 0 6.57656553154792 0 0 0 +410 1 4.11035345721745 0.82207069144349 6.57656553154792 0 0 0 +411 1 4.11035345721745 0 7.39863622299141 0 0 0 +412 1 3.28828276577396 0.82207069144349 7.39863622299141 0 0 0 +413 1 4.93242414866094 0 6.57656553154792 0 0 0 +414 1 5.75449484010443 0.82207069144349 6.57656553154792 0 0 0 +415 1 5.75449484010443 0 7.39863622299141 0 0 0 +416 1 4.93242414866094 0.82207069144349 7.39863622299141 0 0 0 +417 1 6.57656553154792 0 6.57656553154792 0 0 0 +418 1 7.39863622299141 0.82207069144349 6.57656553154792 0 0 0 +419 1 7.39863622299141 0 7.39863622299141 0 0 0 +420 1 6.57656553154792 0.82207069144349 7.39863622299141 0 0 0 +421 1 0 1.64414138288698 6.57656553154792 0 0 0 +422 1 0.82207069144349 2.46621207433047 6.57656553154792 0 0 0 +423 1 0.82207069144349 1.64414138288698 7.39863622299141 0 0 0 +424 1 0 2.46621207433047 7.39863622299141 0 0 0 +425 1 1.64414138288698 1.64414138288698 6.57656553154792 0 0 0 +426 1 2.46621207433047 2.46621207433047 6.57656553154792 0 0 0 +427 1 2.46621207433047 1.64414138288698 7.39863622299141 0 0 0 +428 1 1.64414138288698 2.46621207433047 7.39863622299141 0 0 0 +429 1 3.28828276577396 1.64414138288698 6.57656553154792 0 0 0 +430 1 4.11035345721745 2.46621207433047 6.57656553154792 0 0 0 +431 1 4.11035345721745 1.64414138288698 7.39863622299141 0 0 0 +432 1 3.28828276577396 2.46621207433047 7.39863622299141 0 0 0 +433 1 4.93242414866094 1.64414138288698 6.57656553154792 0 0 0 +434 1 5.75449484010443 2.46621207433047 6.57656553154792 0 0 0 +435 1 5.75449484010443 1.64414138288698 7.39863622299141 0 0 0 +436 1 4.93242414866094 2.46621207433047 7.39863622299141 0 0 0 +437 1 6.57656553154792 1.64414138288698 6.57656553154792 0 0 0 +438 1 7.39863622299141 2.46621207433047 6.57656553154792 0 0 0 +439 1 7.39863622299141 1.64414138288698 7.39863622299141 0 0 0 +440 1 6.57656553154792 2.46621207433047 7.39863622299141 0 0 0 +441 1 0 3.28828276577396 6.57656553154792 0 0 0 +442 1 0.82207069144349 4.11035345721745 6.57656553154792 0 0 0 +443 1 0.82207069144349 3.28828276577396 7.39863622299141 0 0 0 +444 1 0 4.11035345721745 7.39863622299141 0 0 0 +445 1 1.64414138288698 3.28828276577396 6.57656553154792 0 0 0 +446 1 2.46621207433047 4.11035345721745 6.57656553154792 0 0 0 +447 1 2.46621207433047 3.28828276577396 7.39863622299141 0 0 0 +448 1 1.64414138288698 4.11035345721745 7.39863622299141 0 0 0 +449 1 3.28828276577396 3.28828276577396 6.57656553154792 0 0 0 +450 1 4.11035345721745 4.11035345721745 6.57656553154792 0 0 0 +451 1 4.11035345721745 3.28828276577396 7.39863622299141 0 0 0 +452 1 3.28828276577396 4.11035345721745 7.39863622299141 0 0 0 +453 1 4.93242414866094 3.28828276577396 6.57656553154792 0 0 0 +454 1 5.75449484010443 4.11035345721745 6.57656553154792 0 0 0 +455 1 5.75449484010443 3.28828276577396 7.39863622299141 0 0 0 +456 1 4.93242414866094 4.11035345721745 7.39863622299141 0 0 0 +457 1 6.57656553154792 3.28828276577396 6.57656553154792 0 0 0 +458 1 7.39863622299141 4.11035345721745 6.57656553154792 0 0 0 +459 1 7.39863622299141 3.28828276577396 7.39863622299141 0 0 0 +460 1 6.57656553154792 4.11035345721745 7.39863622299141 0 0 0 +461 1 0 4.93242414866094 6.57656553154792 0 0 0 +462 1 0.82207069144349 5.75449484010443 6.57656553154792 0 0 0 +463 1 0.82207069144349 4.93242414866094 7.39863622299141 0 0 0 +464 1 0 5.75449484010443 7.39863622299141 0 0 0 +465 1 1.64414138288698 4.93242414866094 6.57656553154792 0 0 0 +466 1 2.46621207433047 5.75449484010443 6.57656553154792 0 0 0 +467 1 2.46621207433047 4.93242414866094 7.39863622299141 0 0 0 +468 1 1.64414138288698 5.75449484010443 7.39863622299141 0 0 0 +469 1 3.28828276577396 4.93242414866094 6.57656553154792 0 0 0 +470 1 4.11035345721745 5.75449484010443 6.57656553154792 0 0 0 +471 1 4.11035345721745 4.93242414866094 7.39863622299141 0 0 0 +472 1 3.28828276577396 5.75449484010443 7.39863622299141 0 0 0 +473 1 4.93242414866094 4.93242414866094 6.57656553154792 0 0 0 +474 1 5.75449484010443 5.75449484010443 6.57656553154792 0 0 0 +475 1 5.75449484010443 4.93242414866094 7.39863622299141 0 0 0 +476 1 4.93242414866094 5.75449484010443 7.39863622299141 0 0 0 +477 1 6.57656553154792 4.93242414866094 6.57656553154792 0 0 0 +478 1 7.39863622299141 5.75449484010443 6.57656553154792 0 0 0 +479 1 7.39863622299141 4.93242414866094 7.39863622299141 0 0 0 +480 1 6.57656553154792 5.75449484010443 7.39863622299141 0 0 0 +481 1 0 6.57656553154792 6.57656553154792 0 0 0 +482 1 0.82207069144349 7.39863622299141 6.57656553154792 0 0 0 +483 1 0.82207069144349 6.57656553154792 7.39863622299141 0 0 0 +484 1 0 7.39863622299141 7.39863622299141 0 0 0 +485 1 1.64414138288698 6.57656553154792 6.57656553154792 0 0 0 +486 1 2.46621207433047 7.39863622299141 6.57656553154792 0 0 0 +487 1 2.46621207433047 6.57656553154792 7.39863622299141 0 0 0 +488 1 1.64414138288698 7.39863622299141 7.39863622299141 0 0 0 +489 1 3.28828276577396 6.57656553154792 6.57656553154792 0 0 0 +490 1 4.11035345721745 7.39863622299141 6.57656553154792 0 0 0 +491 1 4.11035345721745 6.57656553154792 7.39863622299141 0 0 0 +492 1 3.28828276577396 7.39863622299141 7.39863622299141 0 0 0 +493 1 4.93242414866094 6.57656553154792 6.57656553154792 0 0 0 +494 1 5.75449484010443 7.39863622299141 6.57656553154792 0 0 0 +495 1 5.75449484010443 6.57656553154792 7.39863622299141 0 0 0 +496 1 4.93242414866094 7.39863622299141 7.39863622299141 0 0 0 +497 1 6.57656553154792 6.57656553154792 6.57656553154792 0 0 0 +498 1 7.39863622299141 7.39863622299141 6.57656553154792 0 0 0 +499 1 7.39863622299141 6.57656553154792 7.39863622299141 0 0 0 +500 1 6.57656553154792 7.39863622299141 7.39863622299141 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 +5 0 0 0 +6 0 0 0 +7 0 0 0 +8 0 0 0 +9 0 0 0 +10 0 0 0 +11 0 0 0 +12 0 0 0 +13 0 0 0 +14 0 0 0 +15 0 0 0 +16 0 0 0 +17 0 0 0 +18 0 0 0 +19 0 0 0 +20 0 0 0 +21 0 0 0 +22 0 0 0 +23 0 0 0 +24 0 0 0 +25 0 0 0 +26 0 0 0 +27 0 0 0 +28 0 0 0 +29 0 0 0 +30 0 0 0 +31 0 0 0 +32 0 0 0 +33 0 0 0 +34 0 0 0 +35 0 0 0 +36 0 0 0 +37 0 0 0 +38 0 0 0 +39 0 0 0 +40 0 0 0 +41 0 0 0 +42 0 0 0 +43 0 0 0 +44 0 0 0 +45 0 0 0 +46 0 0 0 +47 0 0 0 +48 0 0 0 +49 0 0 0 +50 0 0 0 +51 0 0 0 +52 0 0 0 +53 0 0 0 +54 0 0 0 +55 0 0 0 +56 0 0 0 +57 0 0 0 +58 0 0 0 +59 0 0 0 +60 0 0 0 +61 0 0 0 +62 0 0 0 +63 0 0 0 +64 0 0 0 +65 0 0 0 +66 0 0 0 +67 0 0 0 +68 0 0 0 +69 0 0 0 +70 0 0 0 +71 0 0 0 +72 0 0 0 +73 0 0 0 +74 0 0 0 +75 0 0 0 +76 0 0 0 +77 0 0 0 +78 0 0 0 +79 0 0 0 +80 0 0 0 +81 0 0 0 +82 0 0 0 +83 0 0 0 +84 0 0 0 +85 0 0 0 +86 0 0 0 +87 0 0 0 +88 0 0 0 +89 0 0 0 +90 0 0 0 +91 0 0 0 +92 0 0 0 +93 0 0 0 +94 0 0 0 +95 0 0 0 +96 0 0 0 +97 0 0 0 +98 0 0 0 +99 0 0 0 +100 0 0 0 +101 0 0 0 +102 0 0 0 +103 0 0 0 +104 0 0 0 +105 0 0 0 +106 0 0 0 +107 0 0 0 +108 0 0 0 +109 0 0 0 +110 0 0 0 +111 0 0 0 +112 0 0 0 +113 0 0 0 +114 0 0 0 +115 0 0 0 +116 0 0 0 +117 0 0 0 +118 0 0 0 +119 0 0 0 +120 0 0 0 +121 0 0 0 +122 0 0 0 +123 0 0 0 +124 0 0 0 +125 0 0 0 +126 0 0 0 +127 0 0 0 +128 0 0 0 +129 0 0 0 +130 0 0 0 +131 0 0 0 +132 0 0 0 +133 0 0 0 +134 0 0 0 +135 0 0 0 +136 0 0 0 +137 0 0 0 +138 0 0 0 +139 0 0 0 +140 0 0 0 +141 0 0 0 +142 0 0 0 +143 0 0 0 +144 0 0 0 +145 0 0 0 +146 0 0 0 +147 0 0 0 +148 0 0 0 +149 0 0 0 +150 0 0 0 +151 0 0 0 +152 0 0 0 +153 0 0 0 +154 0 0 0 +155 0 0 0 +156 0 0 0 +157 0 0 0 +158 0 0 0 +159 0 0 0 +160 0 0 0 +161 0 0 0 +162 0 0 0 +163 0 0 0 +164 0 0 0 +165 0 0 0 +166 0 0 0 +167 0 0 0 +168 0 0 0 +169 0 0 0 +170 0 0 0 +171 0 0 0 +172 0 0 0 +173 0 0 0 +174 0 0 0 +175 0 0 0 +176 0 0 0 +177 0 0 0 +178 0 0 0 +179 0 0 0 +180 0 0 0 +181 0 0 0 +182 0 0 0 +183 0 0 0 +184 0 0 0 +185 0 0 0 +186 0 0 0 +187 0 0 0 +188 0 0 0 +189 0 0 0 +190 0 0 0 +191 0 0 0 +192 0 0 0 +193 0 0 0 +194 0 0 0 +195 0 0 0 +196 0 0 0 +197 0 0 0 +198 0 0 0 +199 0 0 0 +200 0 0 0 +201 0 0 0 +202 0 0 0 +203 0 0 0 +204 0 0 0 +205 0 0 0 +206 0 0 0 +207 0 0 0 +208 0 0 0 +209 0 0 0 +210 0 0 0 +211 0 0 0 +212 0 0 0 +213 0 0 0 +214 0 0 0 +215 0 0 0 +216 0 0 0 +217 0 0 0 +218 0 0 0 +219 0 0 0 +220 0 0 0 +221 0 0 0 +222 0 0 0 +223 0 0 0 +224 0 0 0 +225 0 0 0 +226 0 0 0 +227 0 0 0 +228 0 0 0 +229 0 0 0 +230 0 0 0 +231 0 0 0 +232 0 0 0 +233 0 0 0 +234 0 0 0 +235 0 0 0 +236 0 0 0 +237 0 0 0 +238 0 0 0 +239 0 0 0 +240 0 0 0 +241 0 0 0 +242 0 0 0 +243 0 0 0 +244 0 0 0 +245 0 0 0 +246 0 0 0 +247 0 0 0 +248 0 0 0 +249 0 0 0 +250 0 0 0 +251 0 0 0 +252 0 0 0 +253 0 0 0 +254 0 0 0 +255 0 0 0 +256 0 0 0 +257 0 0 0 +258 0 0 0 +259 0 0 0 +260 0 0 0 +261 0 0 0 +262 0 0 0 +263 0 0 0 +264 0 0 0 +265 0 0 0 +266 0 0 0 +267 0 0 0 +268 0 0 0 +269 0 0 0 +270 0 0 0 +271 0 0 0 +272 0 0 0 +273 0 0 0 +274 0 0 0 +275 0 0 0 +276 0 0 0 +277 0 0 0 +278 0 0 0 +279 0 0 0 +280 0 0 0 +281 0 0 0 +282 0 0 0 +283 0 0 0 +284 0 0 0 +285 0 0 0 +286 0 0 0 +287 0 0 0 +288 0 0 0 +289 0 0 0 +290 0 0 0 +291 0 0 0 +292 0 0 0 +293 0 0 0 +294 0 0 0 +295 0 0 0 +296 0 0 0 +297 0 0 0 +298 0 0 0 +299 0 0 0 +300 0 0 0 +301 0 0 0 +302 0 0 0 +303 0 0 0 +304 0 0 0 +305 0 0 0 +306 0 0 0 +307 0 0 0 +308 0 0 0 +309 0 0 0 +310 0 0 0 +311 0 0 0 +312 0 0 0 +313 0 0 0 +314 0 0 0 +315 0 0 0 +316 0 0 0 +317 0 0 0 +318 0 0 0 +319 0 0 0 +320 0 0 0 +321 0 0 0 +322 0 0 0 +323 0 0 0 +324 0 0 0 +325 0 0 0 +326 0 0 0 +327 0 0 0 +328 0 0 0 +329 0 0 0 +330 0 0 0 +331 0 0 0 +332 0 0 0 +333 0 0 0 +334 0 0 0 +335 0 0 0 +336 0 0 0 +337 0 0 0 +338 0 0 0 +339 0 0 0 +340 0 0 0 +341 0 0 0 +342 0 0 0 +343 0 0 0 +344 0 0 0 +345 0 0 0 +346 0 0 0 +347 0 0 0 +348 0 0 0 +349 0 0 0 +350 0 0 0 +351 0 0 0 +352 0 0 0 +353 0 0 0 +354 0 0 0 +355 0 0 0 +356 0 0 0 +357 0 0 0 +358 0 0 0 +359 0 0 0 +360 0 0 0 +361 0 0 0 +362 0 0 0 +363 0 0 0 +364 0 0 0 +365 0 0 0 +366 0 0 0 +367 0 0 0 +368 0 0 0 +369 0 0 0 +370 0 0 0 +371 0 0 0 +372 0 0 0 +373 0 0 0 +374 0 0 0 +375 0 0 0 +376 0 0 0 +377 0 0 0 +378 0 0 0 +379 0 0 0 +380 0 0 0 +381 0 0 0 +382 0 0 0 +383 0 0 0 +384 0 0 0 +385 0 0 0 +386 0 0 0 +387 0 0 0 +388 0 0 0 +389 0 0 0 +390 0 0 0 +391 0 0 0 +392 0 0 0 +393 0 0 0 +394 0 0 0 +395 0 0 0 +396 0 0 0 +397 0 0 0 +398 0 0 0 +399 0 0 0 +400 0 0 0 +401 0 0 0 +402 0 0 0 +403 0 0 0 +404 0 0 0 +405 0 0 0 +406 0 0 0 +407 0 0 0 +408 0 0 0 +409 0 0 0 +410 0 0 0 +411 0 0 0 +412 0 0 0 +413 0 0 0 +414 0 0 0 +415 0 0 0 +416 0 0 0 +417 0 0 0 +418 0 0 0 +419 0 0 0 +420 0 0 0 +421 0 0 0 +422 0 0 0 +423 0 0 0 +424 0 0 0 +425 0 0 0 +426 0 0 0 +427 0 0 0 +428 0 0 0 +429 0 0 0 +430 0 0 0 +431 0 0 0 +432 0 0 0 +433 0 0 0 +434 0 0 0 +435 0 0 0 +436 0 0 0 +437 0 0 0 +438 0 0 0 +439 0 0 0 +440 0 0 0 +441 0 0 0 +442 0 0 0 +443 0 0 0 +444 0 0 0 +445 0 0 0 +446 0 0 0 +447 0 0 0 +448 0 0 0 +449 0 0 0 +450 0 0 0 +451 0 0 0 +452 0 0 0 +453 0 0 0 +454 0 0 0 +455 0 0 0 +456 0 0 0 +457 0 0 0 +458 0 0 0 +459 0 0 0 +460 0 0 0 +461 0 0 0 +462 0 0 0 +463 0 0 0 +464 0 0 0 +465 0 0 0 +466 0 0 0 +467 0 0 0 +468 0 0 0 +469 0 0 0 +470 0 0 0 +471 0 0 0 +472 0 0 0 +473 0 0 0 +474 0 0 0 +475 0 0 0 +476 0 0 0 +477 0 0 0 +478 0 0 0 +479 0 0 0 +480 0 0 0 +481 0 0 0 +482 0 0 0 +483 0 0 0 +484 0 0 0 +485 0 0 0 +486 0 0 0 +487 0 0 0 +488 0 0 0 +489 0 0 0 +490 0 0 0 +491 0 0 0 +492 0 0 0 +493 0 0 0 +494 0 0 0 +495 0 0 0 +496 0 0 0 +497 0 0 0 +498 0 0 0 +499 0 0 0 +500 0 0 0 diff --git a/examples/mdi/data.snapshot b/examples/mdi/data.snapshot new file mode 100644 index 0000000000..0bf550ef61 --- /dev/null +++ b/examples/mdi/data.snapshot @@ -0,0 +1,1018 @@ +LAMMPS data file via write_data, version 2 Jun 2022, timestep = 0 + +500 atoms +1 atom types + +0 8.397980956912537 xlo xhi +0 8.397980956912537 ylo yhi +0 8.397980956912537 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.8397980956912536 0.8397980956912536 0 0 0 0 +3 1 0.8397980956912536 0 0.8397980956912536 0 0 0 +4 1 0 0.8397980956912536 0.8397980956912536 0 0 0 +5 1 1.6795961913825073 0 0 0 0 0 +6 1 2.519394287073761 0.8397980956912536 0 0 0 0 +7 1 2.519394287073761 0 0.8397980956912536 0 0 0 +8 1 1.6795961913825073 0.8397980956912536 0.8397980956912536 0 0 0 +9 1 3.3591923827650145 0 0 0 0 0 +10 1 4.198990478456269 0.8397980956912536 0 0 0 0 +11 1 4.198990478456269 0 0.8397980956912536 0 0 0 +12 1 3.3591923827650145 0.8397980956912536 0.8397980956912536 0 0 0 +13 1 5.038788574147522 0 0 0 0 0 +14 1 5.878586669838775 0.8397980956912536 0 0 0 0 +15 1 5.878586669838775 0 0.8397980956912536 0 0 0 +16 1 5.038788574147522 0.8397980956912536 0.8397980956912536 0 0 0 +17 1 6.718384765530029 0 0 0 0 0 +18 1 7.558182861221283 0.8397980956912536 0 0 0 0 +19 1 7.558182861221283 0 0.8397980956912536 0 0 0 +20 1 6.718384765530029 0.8397980956912536 0.8397980956912536 0 0 0 +21 1 0 1.6795961913825073 0 0 0 0 +22 1 0.8397980956912536 2.519394287073761 0 0 0 0 +23 1 0.8397980956912536 1.6795961913825073 0.8397980956912536 0 0 0 +24 1 0 2.519394287073761 0.8397980956912536 0 0 0 +25 1 1.6795961913825073 1.6795961913825073 0 0 0 0 +26 1 2.519394287073761 2.519394287073761 0 0 0 0 +27 1 2.519394287073761 1.6795961913825073 0.8397980956912536 0 0 0 +28 1 1.6795961913825073 2.519394287073761 0.8397980956912536 0 0 0 +29 1 3.3591923827650145 1.6795961913825073 0 0 0 0 +30 1 4.198990478456269 2.519394287073761 0 0 0 0 +31 1 4.198990478456269 1.6795961913825073 0.8397980956912536 0 0 0 +32 1 3.3591923827650145 2.519394287073761 0.8397980956912536 0 0 0 +33 1 5.038788574147522 1.6795961913825073 0 0 0 0 +34 1 5.878586669838775 2.519394287073761 0 0 0 0 +35 1 5.878586669838775 1.6795961913825073 0.8397980956912536 0 0 0 +36 1 5.038788574147522 2.519394287073761 0.8397980956912536 0 0 0 +37 1 6.718384765530029 1.6795961913825073 0 0 0 0 +38 1 7.558182861221283 2.519394287073761 0 0 0 0 +39 1 7.558182861221283 1.6795961913825073 0.8397980956912536 0 0 0 +40 1 6.718384765530029 2.519394287073761 0.8397980956912536 0 0 0 +41 1 0 3.3591923827650145 0 0 0 0 +42 1 0.8397980956912536 4.198990478456269 0 0 0 0 +43 1 0.8397980956912536 3.3591923827650145 0.8397980956912536 0 0 0 +44 1 0 4.198990478456269 0.8397980956912536 0 0 0 +45 1 1.6795961913825073 3.3591923827650145 0 0 0 0 +46 1 2.519394287073761 4.198990478456269 0 0 0 0 +47 1 2.519394287073761 3.3591923827650145 0.8397980956912536 0 0 0 +48 1 1.6795961913825073 4.198990478456269 0.8397980956912536 0 0 0 +49 1 3.3591923827650145 3.3591923827650145 0 0 0 0 +50 1 4.198990478456269 4.198990478456269 0 0 0 0 +51 1 4.198990478456269 3.3591923827650145 0.8397980956912536 0 0 0 +52 1 3.3591923827650145 4.198990478456269 0.8397980956912536 0 0 0 +53 1 5.038788574147522 3.3591923827650145 0 0 0 0 +54 1 5.878586669838775 4.198990478456269 0 0 0 0 +55 1 5.878586669838775 3.3591923827650145 0.8397980956912536 0 0 0 +56 1 5.038788574147522 4.198990478456269 0.8397980956912536 0 0 0 +57 1 6.718384765530029 3.3591923827650145 0 0 0 0 +58 1 7.558182861221283 4.198990478456269 0 0 0 0 +59 1 7.558182861221283 3.3591923827650145 0.8397980956912536 0 0 0 +60 1 6.718384765530029 4.198990478456269 0.8397980956912536 0 0 0 +61 1 0 5.038788574147522 0 0 0 0 +62 1 0.8397980956912536 5.878586669838775 0 0 0 0 +63 1 0.8397980956912536 5.038788574147522 0.8397980956912536 0 0 0 +64 1 0 5.878586669838775 0.8397980956912536 0 0 0 +65 1 1.6795961913825073 5.038788574147522 0 0 0 0 +66 1 2.519394287073761 5.878586669838775 0 0 0 0 +67 1 2.519394287073761 5.038788574147522 0.8397980956912536 0 0 0 +68 1 1.6795961913825073 5.878586669838775 0.8397980956912536 0 0 0 +69 1 3.3591923827650145 5.038788574147522 0 0 0 0 +70 1 4.198990478456269 5.878586669838775 0 0 0 0 +71 1 4.198990478456269 5.038788574147522 0.8397980956912536 0 0 0 +72 1 3.3591923827650145 5.878586669838775 0.8397980956912536 0 0 0 +73 1 5.038788574147522 5.038788574147522 0 0 0 0 +74 1 5.878586669838775 5.878586669838775 0 0 0 0 +75 1 5.878586669838775 5.038788574147522 0.8397980956912536 0 0 0 +76 1 5.038788574147522 5.878586669838775 0.8397980956912536 0 0 0 +77 1 6.718384765530029 5.038788574147522 0 0 0 0 +78 1 7.558182861221283 5.878586669838775 0 0 0 0 +79 1 7.558182861221283 5.038788574147522 0.8397980956912536 0 0 0 +80 1 6.718384765530029 5.878586669838775 0.8397980956912536 0 0 0 +81 1 0 6.718384765530029 0 0 0 0 +82 1 0.8397980956912536 7.558182861221283 0 0 0 0 +83 1 0.8397980956912536 6.718384765530029 0.8397980956912536 0 0 0 +84 1 0 7.558182861221283 0.8397980956912536 0 0 0 +85 1 1.6795961913825073 6.718384765530029 0 0 0 0 +86 1 2.519394287073761 7.558182861221283 0 0 0 0 +87 1 2.519394287073761 6.718384765530029 0.8397980956912536 0 0 0 +88 1 1.6795961913825073 7.558182861221283 0.8397980956912536 0 0 0 +89 1 3.3591923827650145 6.718384765530029 0 0 0 0 +90 1 4.198990478456269 7.558182861221283 0 0 0 0 +91 1 4.198990478456269 6.718384765530029 0.8397980956912536 0 0 0 +92 1 3.3591923827650145 7.558182861221283 0.8397980956912536 0 0 0 +93 1 5.038788574147522 6.718384765530029 0 0 0 0 +94 1 5.878586669838775 7.558182861221283 0 0 0 0 +95 1 5.878586669838775 6.718384765530029 0.8397980956912536 0 0 0 +96 1 5.038788574147522 7.558182861221283 0.8397980956912536 0 0 0 +97 1 6.718384765530029 6.718384765530029 0 0 0 0 +98 1 7.558182861221283 7.558182861221283 0 0 0 0 +99 1 7.558182861221283 6.718384765530029 0.8397980956912536 0 0 0 +100 1 6.718384765530029 7.558182861221283 0.8397980956912536 0 0 0 +101 1 0 0 1.6795961913825073 0 0 0 +102 1 0.8397980956912536 0.8397980956912536 1.6795961913825073 0 0 0 +103 1 0.8397980956912536 0 2.519394287073761 0 0 0 +104 1 0 0.8397980956912536 2.519394287073761 0 0 0 +105 1 1.6795961913825073 0 1.6795961913825073 0 0 0 +106 1 2.519394287073761 0.8397980956912536 1.6795961913825073 0 0 0 +107 1 2.519394287073761 0 2.519394287073761 0 0 0 +108 1 1.6795961913825073 0.8397980956912536 2.519394287073761 0 0 0 +109 1 3.3591923827650145 0 1.6795961913825073 0 0 0 +110 1 4.198990478456269 0.8397980956912536 1.6795961913825073 0 0 0 +111 1 4.198990478456269 0 2.519394287073761 0 0 0 +112 1 3.3591923827650145 0.8397980956912536 2.519394287073761 0 0 0 +113 1 5.038788574147522 0 1.6795961913825073 0 0 0 +114 1 5.878586669838775 0.8397980956912536 1.6795961913825073 0 0 0 +115 1 5.878586669838775 0 2.519394287073761 0 0 0 +116 1 5.038788574147522 0.8397980956912536 2.519394287073761 0 0 0 +117 1 6.718384765530029 0 1.6795961913825073 0 0 0 +118 1 7.558182861221283 0.8397980956912536 1.6795961913825073 0 0 0 +119 1 7.558182861221283 0 2.519394287073761 0 0 0 +120 1 6.718384765530029 0.8397980956912536 2.519394287073761 0 0 0 +121 1 0 1.6795961913825073 1.6795961913825073 0 0 0 +122 1 0.8397980956912536 2.519394287073761 1.6795961913825073 0 0 0 +123 1 0.8397980956912536 1.6795961913825073 2.519394287073761 0 0 0 +124 1 0 2.519394287073761 2.519394287073761 0 0 0 +125 1 1.6795961913825073 1.6795961913825073 1.6795961913825073 0 0 0 +126 1 2.519394287073761 2.519394287073761 1.6795961913825073 0 0 0 +127 1 2.519394287073761 1.6795961913825073 2.519394287073761 0 0 0 +128 1 1.6795961913825073 2.519394287073761 2.519394287073761 0 0 0 +129 1 3.3591923827650145 1.6795961913825073 1.6795961913825073 0 0 0 +130 1 4.198990478456269 2.519394287073761 1.6795961913825073 0 0 0 +131 1 4.198990478456269 1.6795961913825073 2.519394287073761 0 0 0 +132 1 3.3591923827650145 2.519394287073761 2.519394287073761 0 0 0 +133 1 5.038788574147522 1.6795961913825073 1.6795961913825073 0 0 0 +134 1 5.878586669838775 2.519394287073761 1.6795961913825073 0 0 0 +135 1 5.878586669838775 1.6795961913825073 2.519394287073761 0 0 0 +136 1 5.038788574147522 2.519394287073761 2.519394287073761 0 0 0 +137 1 6.718384765530029 1.6795961913825073 1.6795961913825073 0 0 0 +138 1 7.558182861221283 2.519394287073761 1.6795961913825073 0 0 0 +139 1 7.558182861221283 1.6795961913825073 2.519394287073761 0 0 0 +140 1 6.718384765530029 2.519394287073761 2.519394287073761 0 0 0 +141 1 0 3.3591923827650145 1.6795961913825073 0 0 0 +142 1 0.8397980956912536 4.198990478456269 1.6795961913825073 0 0 0 +143 1 0.8397980956912536 3.3591923827650145 2.519394287073761 0 0 0 +144 1 0 4.198990478456269 2.519394287073761 0 0 0 +145 1 1.6795961913825073 3.3591923827650145 1.6795961913825073 0 0 0 +146 1 2.519394287073761 4.198990478456269 1.6795961913825073 0 0 0 +147 1 2.519394287073761 3.3591923827650145 2.519394287073761 0 0 0 +148 1 1.6795961913825073 4.198990478456269 2.519394287073761 0 0 0 +149 1 3.3591923827650145 3.3591923827650145 1.6795961913825073 0 0 0 +150 1 4.198990478456269 4.198990478456269 1.6795961913825073 0 0 0 +151 1 4.198990478456269 3.3591923827650145 2.519394287073761 0 0 0 +152 1 3.3591923827650145 4.198990478456269 2.519394287073761 0 0 0 +153 1 5.038788574147522 3.3591923827650145 1.6795961913825073 0 0 0 +154 1 5.878586669838775 4.198990478456269 1.6795961913825073 0 0 0 +155 1 5.878586669838775 3.3591923827650145 2.519394287073761 0 0 0 +156 1 5.038788574147522 4.198990478456269 2.519394287073761 0 0 0 +157 1 6.718384765530029 3.3591923827650145 1.6795961913825073 0 0 0 +158 1 7.558182861221283 4.198990478456269 1.6795961913825073 0 0 0 +159 1 7.558182861221283 3.3591923827650145 2.519394287073761 0 0 0 +160 1 6.718384765530029 4.198990478456269 2.519394287073761 0 0 0 +161 1 0 5.038788574147522 1.6795961913825073 0 0 0 +162 1 0.8397980956912536 5.878586669838775 1.6795961913825073 0 0 0 +163 1 0.8397980956912536 5.038788574147522 2.519394287073761 0 0 0 +164 1 0 5.878586669838775 2.519394287073761 0 0 0 +165 1 1.6795961913825073 5.038788574147522 1.6795961913825073 0 0 0 +166 1 2.519394287073761 5.878586669838775 1.6795961913825073 0 0 0 +167 1 2.519394287073761 5.038788574147522 2.519394287073761 0 0 0 +168 1 1.6795961913825073 5.878586669838775 2.519394287073761 0 0 0 +169 1 3.3591923827650145 5.038788574147522 1.6795961913825073 0 0 0 +170 1 4.198990478456269 5.878586669838775 1.6795961913825073 0 0 0 +171 1 4.198990478456269 5.038788574147522 2.519394287073761 0 0 0 +172 1 3.3591923827650145 5.878586669838775 2.519394287073761 0 0 0 +173 1 5.038788574147522 5.038788574147522 1.6795961913825073 0 0 0 +174 1 5.878586669838775 5.878586669838775 1.6795961913825073 0 0 0 +175 1 5.878586669838775 5.038788574147522 2.519394287073761 0 0 0 +176 1 5.038788574147522 5.878586669838775 2.519394287073761 0 0 0 +177 1 6.718384765530029 5.038788574147522 1.6795961913825073 0 0 0 +178 1 7.558182861221283 5.878586669838775 1.6795961913825073 0 0 0 +179 1 7.558182861221283 5.038788574147522 2.519394287073761 0 0 0 +180 1 6.718384765530029 5.878586669838775 2.519394287073761 0 0 0 +181 1 0 6.718384765530029 1.6795961913825073 0 0 0 +182 1 0.8397980956912536 7.558182861221283 1.6795961913825073 0 0 0 +183 1 0.8397980956912536 6.718384765530029 2.519394287073761 0 0 0 +184 1 0 7.558182861221283 2.519394287073761 0 0 0 +185 1 1.6795961913825073 6.718384765530029 1.6795961913825073 0 0 0 +186 1 2.519394287073761 7.558182861221283 1.6795961913825073 0 0 0 +187 1 2.519394287073761 6.718384765530029 2.519394287073761 0 0 0 +188 1 1.6795961913825073 7.558182861221283 2.519394287073761 0 0 0 +189 1 3.3591923827650145 6.718384765530029 1.6795961913825073 0 0 0 +190 1 4.198990478456269 7.558182861221283 1.6795961913825073 0 0 0 +191 1 4.198990478456269 6.718384765530029 2.519394287073761 0 0 0 +192 1 3.3591923827650145 7.558182861221283 2.519394287073761 0 0 0 +193 1 5.038788574147522 6.718384765530029 1.6795961913825073 0 0 0 +194 1 5.878586669838775 7.558182861221283 1.6795961913825073 0 0 0 +195 1 5.878586669838775 6.718384765530029 2.519394287073761 0 0 0 +196 1 5.038788574147522 7.558182861221283 2.519394287073761 0 0 0 +197 1 6.718384765530029 6.718384765530029 1.6795961913825073 0 0 0 +198 1 7.558182861221283 7.558182861221283 1.6795961913825073 0 0 0 +199 1 7.558182861221283 6.718384765530029 2.519394287073761 0 0 0 +200 1 6.718384765530029 7.558182861221283 2.519394287073761 0 0 0 +201 1 0 0 3.3591923827650145 0 0 0 +202 1 0.8397980956912536 0.8397980956912536 3.3591923827650145 0 0 0 +203 1 0.8397980956912536 0 4.198990478456269 0 0 0 +204 1 0 0.8397980956912536 4.198990478456269 0 0 0 +205 1 1.6795961913825073 0 3.3591923827650145 0 0 0 +206 1 2.519394287073761 0.8397980956912536 3.3591923827650145 0 0 0 +207 1 2.519394287073761 0 4.198990478456269 0 0 0 +208 1 1.6795961913825073 0.8397980956912536 4.198990478456269 0 0 0 +209 1 3.3591923827650145 0 3.3591923827650145 0 0 0 +210 1 4.198990478456269 0.8397980956912536 3.3591923827650145 0 0 0 +211 1 4.198990478456269 0 4.198990478456269 0 0 0 +212 1 3.3591923827650145 0.8397980956912536 4.198990478456269 0 0 0 +213 1 5.038788574147522 0 3.3591923827650145 0 0 0 +214 1 5.878586669838775 0.8397980956912536 3.3591923827650145 0 0 0 +215 1 5.878586669838775 0 4.198990478456269 0 0 0 +216 1 5.038788574147522 0.8397980956912536 4.198990478456269 0 0 0 +217 1 6.718384765530029 0 3.3591923827650145 0 0 0 +218 1 7.558182861221283 0.8397980956912536 3.3591923827650145 0 0 0 +219 1 7.558182861221283 0 4.198990478456269 0 0 0 +220 1 6.718384765530029 0.8397980956912536 4.198990478456269 0 0 0 +221 1 0 1.6795961913825073 3.3591923827650145 0 0 0 +222 1 0.8397980956912536 2.519394287073761 3.3591923827650145 0 0 0 +223 1 0.8397980956912536 1.6795961913825073 4.198990478456269 0 0 0 +224 1 0 2.519394287073761 4.198990478456269 0 0 0 +225 1 1.6795961913825073 1.6795961913825073 3.3591923827650145 0 0 0 +226 1 2.519394287073761 2.519394287073761 3.3591923827650145 0 0 0 +227 1 2.519394287073761 1.6795961913825073 4.198990478456269 0 0 0 +228 1 1.6795961913825073 2.519394287073761 4.198990478456269 0 0 0 +229 1 3.3591923827650145 1.6795961913825073 3.3591923827650145 0 0 0 +230 1 4.198990478456269 2.519394287073761 3.3591923827650145 0 0 0 +231 1 4.198990478456269 1.6795961913825073 4.198990478456269 0 0 0 +232 1 3.3591923827650145 2.519394287073761 4.198990478456269 0 0 0 +233 1 5.038788574147522 1.6795961913825073 3.3591923827650145 0 0 0 +234 1 5.878586669838775 2.519394287073761 3.3591923827650145 0 0 0 +235 1 5.878586669838775 1.6795961913825073 4.198990478456269 0 0 0 +236 1 5.038788574147522 2.519394287073761 4.198990478456269 0 0 0 +237 1 6.718384765530029 1.6795961913825073 3.3591923827650145 0 0 0 +238 1 7.558182861221283 2.519394287073761 3.3591923827650145 0 0 0 +239 1 7.558182861221283 1.6795961913825073 4.198990478456269 0 0 0 +240 1 6.718384765530029 2.519394287073761 4.198990478456269 0 0 0 +241 1 0 3.3591923827650145 3.3591923827650145 0 0 0 +242 1 0.8397980956912536 4.198990478456269 3.3591923827650145 0 0 0 +243 1 0.8397980956912536 3.3591923827650145 4.198990478456269 0 0 0 +244 1 0 4.198990478456269 4.198990478456269 0 0 0 +245 1 1.6795961913825073 3.3591923827650145 3.3591923827650145 0 0 0 +246 1 2.519394287073761 4.198990478456269 3.3591923827650145 0 0 0 +247 1 2.519394287073761 3.3591923827650145 4.198990478456269 0 0 0 +248 1 1.6795961913825073 4.198990478456269 4.198990478456269 0 0 0 +249 1 3.3591923827650145 3.3591923827650145 3.3591923827650145 0 0 0 +250 1 4.198990478456269 4.198990478456269 3.3591923827650145 0 0 0 +251 1 4.198990478456269 3.3591923827650145 4.198990478456269 0 0 0 +252 1 3.3591923827650145 4.198990478456269 4.198990478456269 0 0 0 +253 1 5.038788574147522 3.3591923827650145 3.3591923827650145 0 0 0 +254 1 5.878586669838775 4.198990478456269 3.3591923827650145 0 0 0 +255 1 5.878586669838775 3.3591923827650145 4.198990478456269 0 0 0 +256 1 5.038788574147522 4.198990478456269 4.198990478456269 0 0 0 +257 1 6.718384765530029 3.3591923827650145 3.3591923827650145 0 0 0 +258 1 7.558182861221283 4.198990478456269 3.3591923827650145 0 0 0 +259 1 7.558182861221283 3.3591923827650145 4.198990478456269 0 0 0 +260 1 6.718384765530029 4.198990478456269 4.198990478456269 0 0 0 +261 1 0 5.038788574147522 3.3591923827650145 0 0 0 +262 1 0.8397980956912536 5.878586669838775 3.3591923827650145 0 0 0 +263 1 0.8397980956912536 5.038788574147522 4.198990478456269 0 0 0 +264 1 0 5.878586669838775 4.198990478456269 0 0 0 +265 1 1.6795961913825073 5.038788574147522 3.3591923827650145 0 0 0 +266 1 2.519394287073761 5.878586669838775 3.3591923827650145 0 0 0 +267 1 2.519394287073761 5.038788574147522 4.198990478456269 0 0 0 +268 1 1.6795961913825073 5.878586669838775 4.198990478456269 0 0 0 +269 1 3.3591923827650145 5.038788574147522 3.3591923827650145 0 0 0 +270 1 4.198990478456269 5.878586669838775 3.3591923827650145 0 0 0 +271 1 4.198990478456269 5.038788574147522 4.198990478456269 0 0 0 +272 1 3.3591923827650145 5.878586669838775 4.198990478456269 0 0 0 +273 1 5.038788574147522 5.038788574147522 3.3591923827650145 0 0 0 +274 1 5.878586669838775 5.878586669838775 3.3591923827650145 0 0 0 +275 1 5.878586669838775 5.038788574147522 4.198990478456269 0 0 0 +276 1 5.038788574147522 5.878586669838775 4.198990478456269 0 0 0 +277 1 6.718384765530029 5.038788574147522 3.3591923827650145 0 0 0 +278 1 7.558182861221283 5.878586669838775 3.3591923827650145 0 0 0 +279 1 7.558182861221283 5.038788574147522 4.198990478456269 0 0 0 +280 1 6.718384765530029 5.878586669838775 4.198990478456269 0 0 0 +281 1 0 6.718384765530029 3.3591923827650145 0 0 0 +282 1 0.8397980956912536 7.558182861221283 3.3591923827650145 0 0 0 +283 1 0.8397980956912536 6.718384765530029 4.198990478456269 0 0 0 +284 1 0 7.558182861221283 4.198990478456269 0 0 0 +285 1 1.6795961913825073 6.718384765530029 3.3591923827650145 0 0 0 +286 1 2.519394287073761 7.558182861221283 3.3591923827650145 0 0 0 +287 1 2.519394287073761 6.718384765530029 4.198990478456269 0 0 0 +288 1 1.6795961913825073 7.558182861221283 4.198990478456269 0 0 0 +289 1 3.3591923827650145 6.718384765530029 3.3591923827650145 0 0 0 +290 1 4.198990478456269 7.558182861221283 3.3591923827650145 0 0 0 +291 1 4.198990478456269 6.718384765530029 4.198990478456269 0 0 0 +292 1 3.3591923827650145 7.558182861221283 4.198990478456269 0 0 0 +293 1 5.038788574147522 6.718384765530029 3.3591923827650145 0 0 0 +294 1 5.878586669838775 7.558182861221283 3.3591923827650145 0 0 0 +295 1 5.878586669838775 6.718384765530029 4.198990478456269 0 0 0 +296 1 5.038788574147522 7.558182861221283 4.198990478456269 0 0 0 +297 1 6.718384765530029 6.718384765530029 3.3591923827650145 0 0 0 +298 1 7.558182861221283 7.558182861221283 3.3591923827650145 0 0 0 +299 1 7.558182861221283 6.718384765530029 4.198990478456269 0 0 0 +300 1 6.718384765530029 7.558182861221283 4.198990478456269 0 0 0 +301 1 0 0 5.038788574147522 0 0 0 +302 1 0.8397980956912536 0.8397980956912536 5.038788574147522 0 0 0 +303 1 0.8397980956912536 0 5.878586669838775 0 0 0 +304 1 0 0.8397980956912536 5.878586669838775 0 0 0 +305 1 1.6795961913825073 0 5.038788574147522 0 0 0 +306 1 2.519394287073761 0.8397980956912536 5.038788574147522 0 0 0 +307 1 2.519394287073761 0 5.878586669838775 0 0 0 +308 1 1.6795961913825073 0.8397980956912536 5.878586669838775 0 0 0 +309 1 3.3591923827650145 0 5.038788574147522 0 0 0 +310 1 4.198990478456269 0.8397980956912536 5.038788574147522 0 0 0 +311 1 4.198990478456269 0 5.878586669838775 0 0 0 +312 1 3.3591923827650145 0.8397980956912536 5.878586669838775 0 0 0 +313 1 5.038788574147522 0 5.038788574147522 0 0 0 +314 1 5.878586669838775 0.8397980956912536 5.038788574147522 0 0 0 +315 1 5.878586669838775 0 5.878586669838775 0 0 0 +316 1 5.038788574147522 0.8397980956912536 5.878586669838775 0 0 0 +317 1 6.718384765530029 0 5.038788574147522 0 0 0 +318 1 7.558182861221283 0.8397980956912536 5.038788574147522 0 0 0 +319 1 7.558182861221283 0 5.878586669838775 0 0 0 +320 1 6.718384765530029 0.8397980956912536 5.878586669838775 0 0 0 +321 1 0 1.6795961913825073 5.038788574147522 0 0 0 +322 1 0.8397980956912536 2.519394287073761 5.038788574147522 0 0 0 +323 1 0.8397980956912536 1.6795961913825073 5.878586669838775 0 0 0 +324 1 0 2.519394287073761 5.878586669838775 0 0 0 +325 1 1.6795961913825073 1.6795961913825073 5.038788574147522 0 0 0 +326 1 2.519394287073761 2.519394287073761 5.038788574147522 0 0 0 +327 1 2.519394287073761 1.6795961913825073 5.878586669838775 0 0 0 +328 1 1.6795961913825073 2.519394287073761 5.878586669838775 0 0 0 +329 1 3.3591923827650145 1.6795961913825073 5.038788574147522 0 0 0 +330 1 4.198990478456269 2.519394287073761 5.038788574147522 0 0 0 +331 1 4.198990478456269 1.6795961913825073 5.878586669838775 0 0 0 +332 1 3.3591923827650145 2.519394287073761 5.878586669838775 0 0 0 +333 1 5.038788574147522 1.6795961913825073 5.038788574147522 0 0 0 +334 1 5.878586669838775 2.519394287073761 5.038788574147522 0 0 0 +335 1 5.878586669838775 1.6795961913825073 5.878586669838775 0 0 0 +336 1 5.038788574147522 2.519394287073761 5.878586669838775 0 0 0 +337 1 6.718384765530029 1.6795961913825073 5.038788574147522 0 0 0 +338 1 7.558182861221283 2.519394287073761 5.038788574147522 0 0 0 +339 1 7.558182861221283 1.6795961913825073 5.878586669838775 0 0 0 +340 1 6.718384765530029 2.519394287073761 5.878586669838775 0 0 0 +341 1 0 3.3591923827650145 5.038788574147522 0 0 0 +342 1 0.8397980956912536 4.198990478456269 5.038788574147522 0 0 0 +343 1 0.8397980956912536 3.3591923827650145 5.878586669838775 0 0 0 +344 1 0 4.198990478456269 5.878586669838775 0 0 0 +345 1 1.6795961913825073 3.3591923827650145 5.038788574147522 0 0 0 +346 1 2.519394287073761 4.198990478456269 5.038788574147522 0 0 0 +347 1 2.519394287073761 3.3591923827650145 5.878586669838775 0 0 0 +348 1 1.6795961913825073 4.198990478456269 5.878586669838775 0 0 0 +349 1 3.3591923827650145 3.3591923827650145 5.038788574147522 0 0 0 +350 1 4.198990478456269 4.198990478456269 5.038788574147522 0 0 0 +351 1 4.198990478456269 3.3591923827650145 5.878586669838775 0 0 0 +352 1 3.3591923827650145 4.198990478456269 5.878586669838775 0 0 0 +353 1 5.038788574147522 3.3591923827650145 5.038788574147522 0 0 0 +354 1 5.878586669838775 4.198990478456269 5.038788574147522 0 0 0 +355 1 5.878586669838775 3.3591923827650145 5.878586669838775 0 0 0 +356 1 5.038788574147522 4.198990478456269 5.878586669838775 0 0 0 +357 1 6.718384765530029 3.3591923827650145 5.038788574147522 0 0 0 +358 1 7.558182861221283 4.198990478456269 5.038788574147522 0 0 0 +359 1 7.558182861221283 3.3591923827650145 5.878586669838775 0 0 0 +360 1 6.718384765530029 4.198990478456269 5.878586669838775 0 0 0 +361 1 0 5.038788574147522 5.038788574147522 0 0 0 +362 1 0.8397980956912536 5.878586669838775 5.038788574147522 0 0 0 +363 1 0.8397980956912536 5.038788574147522 5.878586669838775 0 0 0 +364 1 0 5.878586669838775 5.878586669838775 0 0 0 +365 1 1.6795961913825073 5.038788574147522 5.038788574147522 0 0 0 +366 1 2.519394287073761 5.878586669838775 5.038788574147522 0 0 0 +367 1 2.519394287073761 5.038788574147522 5.878586669838775 0 0 0 +368 1 1.6795961913825073 5.878586669838775 5.878586669838775 0 0 0 +369 1 3.3591923827650145 5.038788574147522 5.038788574147522 0 0 0 +370 1 4.198990478456269 5.878586669838775 5.038788574147522 0 0 0 +371 1 4.198990478456269 5.038788574147522 5.878586669838775 0 0 0 +372 1 3.3591923827650145 5.878586669838775 5.878586669838775 0 0 0 +373 1 5.038788574147522 5.038788574147522 5.038788574147522 0 0 0 +374 1 5.878586669838775 5.878586669838775 5.038788574147522 0 0 0 +375 1 5.878586669838775 5.038788574147522 5.878586669838775 0 0 0 +376 1 5.038788574147522 5.878586669838775 5.878586669838775 0 0 0 +377 1 6.718384765530029 5.038788574147522 5.038788574147522 0 0 0 +378 1 7.558182861221283 5.878586669838775 5.038788574147522 0 0 0 +379 1 7.558182861221283 5.038788574147522 5.878586669838775 0 0 0 +380 1 6.718384765530029 5.878586669838775 5.878586669838775 0 0 0 +381 1 0 6.718384765530029 5.038788574147522 0 0 0 +382 1 0.8397980956912536 7.558182861221283 5.038788574147522 0 0 0 +383 1 0.8397980956912536 6.718384765530029 5.878586669838775 0 0 0 +384 1 0 7.558182861221283 5.878586669838775 0 0 0 +385 1 1.6795961913825073 6.718384765530029 5.038788574147522 0 0 0 +386 1 2.519394287073761 7.558182861221283 5.038788574147522 0 0 0 +387 1 2.519394287073761 6.718384765530029 5.878586669838775 0 0 0 +388 1 1.6795961913825073 7.558182861221283 5.878586669838775 0 0 0 +389 1 3.3591923827650145 6.718384765530029 5.038788574147522 0 0 0 +390 1 4.198990478456269 7.558182861221283 5.038788574147522 0 0 0 +391 1 4.198990478456269 6.718384765530029 5.878586669838775 0 0 0 +392 1 3.3591923827650145 7.558182861221283 5.878586669838775 0 0 0 +393 1 5.038788574147522 6.718384765530029 5.038788574147522 0 0 0 +394 1 5.878586669838775 7.558182861221283 5.038788574147522 0 0 0 +395 1 5.878586669838775 6.718384765530029 5.878586669838775 0 0 0 +396 1 5.038788574147522 7.558182861221283 5.878586669838775 0 0 0 +397 1 6.718384765530029 6.718384765530029 5.038788574147522 0 0 0 +398 1 7.558182861221283 7.558182861221283 5.038788574147522 0 0 0 +399 1 7.558182861221283 6.718384765530029 5.878586669838775 0 0 0 +400 1 6.718384765530029 7.558182861221283 5.878586669838775 0 0 0 +401 1 0 0 6.718384765530029 0 0 0 +402 1 0.8397980956912536 0.8397980956912536 6.718384765530029 0 0 0 +403 1 0.8397980956912536 0 7.558182861221283 0 0 0 +404 1 0 0.8397980956912536 7.558182861221283 0 0 0 +405 1 1.6795961913825073 0 6.718384765530029 0 0 0 +406 1 2.519394287073761 0.8397980956912536 6.718384765530029 0 0 0 +407 1 2.519394287073761 0 7.558182861221283 0 0 0 +408 1 1.6795961913825073 0.8397980956912536 7.558182861221283 0 0 0 +409 1 3.3591923827650145 0 6.718384765530029 0 0 0 +410 1 4.198990478456269 0.8397980956912536 6.718384765530029 0 0 0 +411 1 4.198990478456269 0 7.558182861221283 0 0 0 +412 1 3.3591923827650145 0.8397980956912536 7.558182861221283 0 0 0 +413 1 5.038788574147522 0 6.718384765530029 0 0 0 +414 1 5.878586669838775 0.8397980956912536 6.718384765530029 0 0 0 +415 1 5.878586669838775 0 7.558182861221283 0 0 0 +416 1 5.038788574147522 0.8397980956912536 7.558182861221283 0 0 0 +417 1 6.718384765530029 0 6.718384765530029 0 0 0 +418 1 7.558182861221283 0.8397980956912536 6.718384765530029 0 0 0 +419 1 7.558182861221283 0 7.558182861221283 0 0 0 +420 1 6.718384765530029 0.8397980956912536 7.558182861221283 0 0 0 +421 1 0 1.6795961913825073 6.718384765530029 0 0 0 +422 1 0.8397980956912536 2.519394287073761 6.718384765530029 0 0 0 +423 1 0.8397980956912536 1.6795961913825073 7.558182861221283 0 0 0 +424 1 0 2.519394287073761 7.558182861221283 0 0 0 +425 1 1.6795961913825073 1.6795961913825073 6.718384765530029 0 0 0 +426 1 2.519394287073761 2.519394287073761 6.718384765530029 0 0 0 +427 1 2.519394287073761 1.6795961913825073 7.558182861221283 0 0 0 +428 1 1.6795961913825073 2.519394287073761 7.558182861221283 0 0 0 +429 1 3.3591923827650145 1.6795961913825073 6.718384765530029 0 0 0 +430 1 4.198990478456269 2.519394287073761 6.718384765530029 0 0 0 +431 1 4.198990478456269 1.6795961913825073 7.558182861221283 0 0 0 +432 1 3.3591923827650145 2.519394287073761 7.558182861221283 0 0 0 +433 1 5.038788574147522 1.6795961913825073 6.718384765530029 0 0 0 +434 1 5.878586669838775 2.519394287073761 6.718384765530029 0 0 0 +435 1 5.878586669838775 1.6795961913825073 7.558182861221283 0 0 0 +436 1 5.038788574147522 2.519394287073761 7.558182861221283 0 0 0 +437 1 6.718384765530029 1.6795961913825073 6.718384765530029 0 0 0 +438 1 7.558182861221283 2.519394287073761 6.718384765530029 0 0 0 +439 1 7.558182861221283 1.6795961913825073 7.558182861221283 0 0 0 +440 1 6.718384765530029 2.519394287073761 7.558182861221283 0 0 0 +441 1 0 3.3591923827650145 6.718384765530029 0 0 0 +442 1 0.8397980956912536 4.198990478456269 6.718384765530029 0 0 0 +443 1 0.8397980956912536 3.3591923827650145 7.558182861221283 0 0 0 +444 1 0 4.198990478456269 7.558182861221283 0 0 0 +445 1 1.6795961913825073 3.3591923827650145 6.718384765530029 0 0 0 +446 1 2.519394287073761 4.198990478456269 6.718384765530029 0 0 0 +447 1 2.519394287073761 3.3591923827650145 7.558182861221283 0 0 0 +448 1 1.6795961913825073 4.198990478456269 7.558182861221283 0 0 0 +449 1 3.3591923827650145 3.3591923827650145 6.718384765530029 0 0 0 +450 1 4.198990478456269 4.198990478456269 6.718384765530029 0 0 0 +451 1 4.198990478456269 3.3591923827650145 7.558182861221283 0 0 0 +452 1 3.3591923827650145 4.198990478456269 7.558182861221283 0 0 0 +453 1 5.038788574147522 3.3591923827650145 6.718384765530029 0 0 0 +454 1 5.878586669838775 4.198990478456269 6.718384765530029 0 0 0 +455 1 5.878586669838775 3.3591923827650145 7.558182861221283 0 0 0 +456 1 5.038788574147522 4.198990478456269 7.558182861221283 0 0 0 +457 1 6.718384765530029 3.3591923827650145 6.718384765530029 0 0 0 +458 1 7.558182861221283 4.198990478456269 6.718384765530029 0 0 0 +459 1 7.558182861221283 3.3591923827650145 7.558182861221283 0 0 0 +460 1 6.718384765530029 4.198990478456269 7.558182861221283 0 0 0 +461 1 0 5.038788574147522 6.718384765530029 0 0 0 +462 1 0.8397980956912536 5.878586669838775 6.718384765530029 0 0 0 +463 1 0.8397980956912536 5.038788574147522 7.558182861221283 0 0 0 +464 1 0 5.878586669838775 7.558182861221283 0 0 0 +465 1 1.6795961913825073 5.038788574147522 6.718384765530029 0 0 0 +466 1 2.519394287073761 5.878586669838775 6.718384765530029 0 0 0 +467 1 2.519394287073761 5.038788574147522 7.558182861221283 0 0 0 +468 1 1.6795961913825073 5.878586669838775 7.558182861221283 0 0 0 +469 1 3.3591923827650145 5.038788574147522 6.718384765530029 0 0 0 +470 1 4.198990478456269 5.878586669838775 6.718384765530029 0 0 0 +471 1 4.198990478456269 5.038788574147522 7.558182861221283 0 0 0 +472 1 3.3591923827650145 5.878586669838775 7.558182861221283 0 0 0 +473 1 5.038788574147522 5.038788574147522 6.718384765530029 0 0 0 +474 1 5.878586669838775 5.878586669838775 6.718384765530029 0 0 0 +475 1 5.878586669838775 5.038788574147522 7.558182861221283 0 0 0 +476 1 5.038788574147522 5.878586669838775 7.558182861221283 0 0 0 +477 1 6.718384765530029 5.038788574147522 6.718384765530029 0 0 0 +478 1 7.558182861221283 5.878586669838775 6.718384765530029 0 0 0 +479 1 7.558182861221283 5.038788574147522 7.558182861221283 0 0 0 +480 1 6.718384765530029 5.878586669838775 7.558182861221283 0 0 0 +481 1 0 6.718384765530029 6.718384765530029 0 0 0 +482 1 0.8397980956912536 7.558182861221283 6.718384765530029 0 0 0 +483 1 0.8397980956912536 6.718384765530029 7.558182861221283 0 0 0 +484 1 0 7.558182861221283 7.558182861221283 0 0 0 +485 1 1.6795961913825073 6.718384765530029 6.718384765530029 0 0 0 +486 1 2.519394287073761 7.558182861221283 6.718384765530029 0 0 0 +487 1 2.519394287073761 6.718384765530029 7.558182861221283 0 0 0 +488 1 1.6795961913825073 7.558182861221283 7.558182861221283 0 0 0 +489 1 3.3591923827650145 6.718384765530029 6.718384765530029 0 0 0 +490 1 4.198990478456269 7.558182861221283 6.718384765530029 0 0 0 +491 1 4.198990478456269 6.718384765530029 7.558182861221283 0 0 0 +492 1 3.3591923827650145 7.558182861221283 7.558182861221283 0 0 0 +493 1 5.038788574147522 6.718384765530029 6.718384765530029 0 0 0 +494 1 5.878586669838775 7.558182861221283 6.718384765530029 0 0 0 +495 1 5.878586669838775 6.718384765530029 7.558182861221283 0 0 0 +496 1 5.038788574147522 7.558182861221283 7.558182861221283 0 0 0 +497 1 6.718384765530029 6.718384765530029 6.718384765530029 0 0 0 +498 1 7.558182861221283 7.558182861221283 6.718384765530029 0 0 0 +499 1 7.558182861221283 6.718384765530029 7.558182861221283 0 0 0 +500 1 6.718384765530029 7.558182861221283 7.558182861221283 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 +5 0 0 0 +6 0 0 0 +7 0 0 0 +8 0 0 0 +9 0 0 0 +10 0 0 0 +11 0 0 0 +12 0 0 0 +13 0 0 0 +14 0 0 0 +15 0 0 0 +16 0 0 0 +17 0 0 0 +18 0 0 0 +19 0 0 0 +20 0 0 0 +21 0 0 0 +22 0 0 0 +23 0 0 0 +24 0 0 0 +25 0 0 0 +26 0 0 0 +27 0 0 0 +28 0 0 0 +29 0 0 0 +30 0 0 0 +31 0 0 0 +32 0 0 0 +33 0 0 0 +34 0 0 0 +35 0 0 0 +36 0 0 0 +37 0 0 0 +38 0 0 0 +39 0 0 0 +40 0 0 0 +41 0 0 0 +42 0 0 0 +43 0 0 0 +44 0 0 0 +45 0 0 0 +46 0 0 0 +47 0 0 0 +48 0 0 0 +49 0 0 0 +50 0 0 0 +51 0 0 0 +52 0 0 0 +53 0 0 0 +54 0 0 0 +55 0 0 0 +56 0 0 0 +57 0 0 0 +58 0 0 0 +59 0 0 0 +60 0 0 0 +61 0 0 0 +62 0 0 0 +63 0 0 0 +64 0 0 0 +65 0 0 0 +66 0 0 0 +67 0 0 0 +68 0 0 0 +69 0 0 0 +70 0 0 0 +71 0 0 0 +72 0 0 0 +73 0 0 0 +74 0 0 0 +75 0 0 0 +76 0 0 0 +77 0 0 0 +78 0 0 0 +79 0 0 0 +80 0 0 0 +81 0 0 0 +82 0 0 0 +83 0 0 0 +84 0 0 0 +85 0 0 0 +86 0 0 0 +87 0 0 0 +88 0 0 0 +89 0 0 0 +90 0 0 0 +91 0 0 0 +92 0 0 0 +93 0 0 0 +94 0 0 0 +95 0 0 0 +96 0 0 0 +97 0 0 0 +98 0 0 0 +99 0 0 0 +100 0 0 0 +101 0 0 0 +102 0 0 0 +103 0 0 0 +104 0 0 0 +105 0 0 0 +106 0 0 0 +107 0 0 0 +108 0 0 0 +109 0 0 0 +110 0 0 0 +111 0 0 0 +112 0 0 0 +113 0 0 0 +114 0 0 0 +115 0 0 0 +116 0 0 0 +117 0 0 0 +118 0 0 0 +119 0 0 0 +120 0 0 0 +121 0 0 0 +122 0 0 0 +123 0 0 0 +124 0 0 0 +125 0 0 0 +126 0 0 0 +127 0 0 0 +128 0 0 0 +129 0 0 0 +130 0 0 0 +131 0 0 0 +132 0 0 0 +133 0 0 0 +134 0 0 0 +135 0 0 0 +136 0 0 0 +137 0 0 0 +138 0 0 0 +139 0 0 0 +140 0 0 0 +141 0 0 0 +142 0 0 0 +143 0 0 0 +144 0 0 0 +145 0 0 0 +146 0 0 0 +147 0 0 0 +148 0 0 0 +149 0 0 0 +150 0 0 0 +151 0 0 0 +152 0 0 0 +153 0 0 0 +154 0 0 0 +155 0 0 0 +156 0 0 0 +157 0 0 0 +158 0 0 0 +159 0 0 0 +160 0 0 0 +161 0 0 0 +162 0 0 0 +163 0 0 0 +164 0 0 0 +165 0 0 0 +166 0 0 0 +167 0 0 0 +168 0 0 0 +169 0 0 0 +170 0 0 0 +171 0 0 0 +172 0 0 0 +173 0 0 0 +174 0 0 0 +175 0 0 0 +176 0 0 0 +177 0 0 0 +178 0 0 0 +179 0 0 0 +180 0 0 0 +181 0 0 0 +182 0 0 0 +183 0 0 0 +184 0 0 0 +185 0 0 0 +186 0 0 0 +187 0 0 0 +188 0 0 0 +189 0 0 0 +190 0 0 0 +191 0 0 0 +192 0 0 0 +193 0 0 0 +194 0 0 0 +195 0 0 0 +196 0 0 0 +197 0 0 0 +198 0 0 0 +199 0 0 0 +200 0 0 0 +201 0 0 0 +202 0 0 0 +203 0 0 0 +204 0 0 0 +205 0 0 0 +206 0 0 0 +207 0 0 0 +208 0 0 0 +209 0 0 0 +210 0 0 0 +211 0 0 0 +212 0 0 0 +213 0 0 0 +214 0 0 0 +215 0 0 0 +216 0 0 0 +217 0 0 0 +218 0 0 0 +219 0 0 0 +220 0 0 0 +221 0 0 0 +222 0 0 0 +223 0 0 0 +224 0 0 0 +225 0 0 0 +226 0 0 0 +227 0 0 0 +228 0 0 0 +229 0 0 0 +230 0 0 0 +231 0 0 0 +232 0 0 0 +233 0 0 0 +234 0 0 0 +235 0 0 0 +236 0 0 0 +237 0 0 0 +238 0 0 0 +239 0 0 0 +240 0 0 0 +241 0 0 0 +242 0 0 0 +243 0 0 0 +244 0 0 0 +245 0 0 0 +246 0 0 0 +247 0 0 0 +248 0 0 0 +249 0 0 0 +250 0 0 0 +251 0 0 0 +252 0 0 0 +253 0 0 0 +254 0 0 0 +255 0 0 0 +256 0 0 0 +257 0 0 0 +258 0 0 0 +259 0 0 0 +260 0 0 0 +261 0 0 0 +262 0 0 0 +263 0 0 0 +264 0 0 0 +265 0 0 0 +266 0 0 0 +267 0 0 0 +268 0 0 0 +269 0 0 0 +270 0 0 0 +271 0 0 0 +272 0 0 0 +273 0 0 0 +274 0 0 0 +275 0 0 0 +276 0 0 0 +277 0 0 0 +278 0 0 0 +279 0 0 0 +280 0 0 0 +281 0 0 0 +282 0 0 0 +283 0 0 0 +284 0 0 0 +285 0 0 0 +286 0 0 0 +287 0 0 0 +288 0 0 0 +289 0 0 0 +290 0 0 0 +291 0 0 0 +292 0 0 0 +293 0 0 0 +294 0 0 0 +295 0 0 0 +296 0 0 0 +297 0 0 0 +298 0 0 0 +299 0 0 0 +300 0 0 0 +301 0 0 0 +302 0 0 0 +303 0 0 0 +304 0 0 0 +305 0 0 0 +306 0 0 0 +307 0 0 0 +308 0 0 0 +309 0 0 0 +310 0 0 0 +311 0 0 0 +312 0 0 0 +313 0 0 0 +314 0 0 0 +315 0 0 0 +316 0 0 0 +317 0 0 0 +318 0 0 0 +319 0 0 0 +320 0 0 0 +321 0 0 0 +322 0 0 0 +323 0 0 0 +324 0 0 0 +325 0 0 0 +326 0 0 0 +327 0 0 0 +328 0 0 0 +329 0 0 0 +330 0 0 0 +331 0 0 0 +332 0 0 0 +333 0 0 0 +334 0 0 0 +335 0 0 0 +336 0 0 0 +337 0 0 0 +338 0 0 0 +339 0 0 0 +340 0 0 0 +341 0 0 0 +342 0 0 0 +343 0 0 0 +344 0 0 0 +345 0 0 0 +346 0 0 0 +347 0 0 0 +348 0 0 0 +349 0 0 0 +350 0 0 0 +351 0 0 0 +352 0 0 0 +353 0 0 0 +354 0 0 0 +355 0 0 0 +356 0 0 0 +357 0 0 0 +358 0 0 0 +359 0 0 0 +360 0 0 0 +361 0 0 0 +362 0 0 0 +363 0 0 0 +364 0 0 0 +365 0 0 0 +366 0 0 0 +367 0 0 0 +368 0 0 0 +369 0 0 0 +370 0 0 0 +371 0 0 0 +372 0 0 0 +373 0 0 0 +374 0 0 0 +375 0 0 0 +376 0 0 0 +377 0 0 0 +378 0 0 0 +379 0 0 0 +380 0 0 0 +381 0 0 0 +382 0 0 0 +383 0 0 0 +384 0 0 0 +385 0 0 0 +386 0 0 0 +387 0 0 0 +388 0 0 0 +389 0 0 0 +390 0 0 0 +391 0 0 0 +392 0 0 0 +393 0 0 0 +394 0 0 0 +395 0 0 0 +396 0 0 0 +397 0 0 0 +398 0 0 0 +399 0 0 0 +400 0 0 0 +401 0 0 0 +402 0 0 0 +403 0 0 0 +404 0 0 0 +405 0 0 0 +406 0 0 0 +407 0 0 0 +408 0 0 0 +409 0 0 0 +410 0 0 0 +411 0 0 0 +412 0 0 0 +413 0 0 0 +414 0 0 0 +415 0 0 0 +416 0 0 0 +417 0 0 0 +418 0 0 0 +419 0 0 0 +420 0 0 0 +421 0 0 0 +422 0 0 0 +423 0 0 0 +424 0 0 0 +425 0 0 0 +426 0 0 0 +427 0 0 0 +428 0 0 0 +429 0 0 0 +430 0 0 0 +431 0 0 0 +432 0 0 0 +433 0 0 0 +434 0 0 0 +435 0 0 0 +436 0 0 0 +437 0 0 0 +438 0 0 0 +439 0 0 0 +440 0 0 0 +441 0 0 0 +442 0 0 0 +443 0 0 0 +444 0 0 0 +445 0 0 0 +446 0 0 0 +447 0 0 0 +448 0 0 0 +449 0 0 0 +450 0 0 0 +451 0 0 0 +452 0 0 0 +453 0 0 0 +454 0 0 0 +455 0 0 0 +456 0 0 0 +457 0 0 0 +458 0 0 0 +459 0 0 0 +460 0 0 0 +461 0 0 0 +462 0 0 0 +463 0 0 0 +464 0 0 0 +465 0 0 0 +466 0 0 0 +467 0 0 0 +468 0 0 0 +469 0 0 0 +470 0 0 0 +471 0 0 0 +472 0 0 0 +473 0 0 0 +474 0 0 0 +475 0 0 0 +476 0 0 0 +477 0 0 0 +478 0 0 0 +479 0 0 0 +480 0 0 0 +481 0 0 0 +482 0 0 0 +483 0 0 0 +484 0 0 0 +485 0 0 0 +486 0 0 0 +487 0 0 0 +488 0 0 0 +489 0 0 0 +490 0 0 0 +491 0 0 0 +492 0 0 0 +493 0 0 0 +494 0 0 0 +495 0 0 0 +496 0 0 0 +497 0 0 0 +498 0 0 0 +499 0 0 0 +500 0 0 0 diff --git a/examples/mdi/in.aimd.alone b/examples/mdi/in.aimd.alone index e2857c5704..9332730af4 100644 --- a/examples/mdi/in.aimd.alone +++ b/examples/mdi/in.aimd.alone @@ -29,4 +29,4 @@ fix 1 all nve thermo_style custom step temp pe etotal press vol thermo 1 -run 5 +run 10 diff --git a/examples/mdi/in.aimd.driver b/examples/mdi/in.aimd.driver index b21826d831..652048b6c4 100644 --- a/examples/mdi/in.aimd.driver +++ b/examples/mdi/in.aimd.driver @@ -28,4 +28,4 @@ fix 2 all mdi/qm virial yes thermo_style custom step temp pe etotal press vol thermo 1 -run 5 +run 10 diff --git a/examples/mdi/in.aimd.driver.plugin b/examples/mdi/in.aimd.driver.plugin index 97514cbcd2..a021f12b07 100644 --- a/examples/mdi/in.aimd.driver.plugin +++ b/examples/mdi/in.aimd.driver.plugin @@ -30,4 +30,4 @@ thermo 1 mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" & infile in.aimd.engine extra "-log log.aimd.engine.plugin" & - command "run 5" + command "run 10" diff --git a/examples/mdi/in.aimd.engine b/examples/mdi/in.aimd.engine index f3293e048d..a64d166a24 100644 --- a/examples/mdi/in.aimd.engine +++ b/examples/mdi/in.aimd.engine @@ -14,4 +14,7 @@ pair_coeff 1 1 1.0 1.0 2.5 neighbor 0.3 bin neigh_modify delay 0 every 1 check yes +thermo_style custom step temp pe etotal press vol +thermo 1 + mdi engine diff --git a/examples/mdi/in.aimd.mm b/examples/mdi/in.aimdpy.mm similarity index 100% rename from examples/mdi/in.aimd.mm rename to examples/mdi/in.aimdpy.mm diff --git a/examples/mdi/in.aimd.qm b/examples/mdi/in.aimdpy.qm similarity index 100% rename from examples/mdi/in.aimd.qm rename to examples/mdi/in.aimdpy.qm diff --git a/examples/mdi/in.series.alone b/examples/mdi/in.series.alone index f359581c50..2e17468507 100644 --- a/examples/mdi/in.series.alone +++ b/examples/mdi/in.series.alone @@ -11,11 +11,7 @@ label LOOP units lj atom_style atomic - lattice fcc ${rho} - region box block 0 $x 0 $y 0 $z - create_box 1 box - create_atoms 1 box - mass 1 1.0 + read_data data.series.${rho} displace_atoms all random 0.1 0.1 0.1 48294 diff --git a/examples/mdi/in.series.driver b/examples/mdi/in.series.driver index 4089dd66ec..267df465fc 100644 --- a/examples/mdi/in.series.driver +++ b/examples/mdi/in.series.driver @@ -13,11 +13,7 @@ label LOOP units lj atom_style atomic - lattice fcc ${rho} - region box block 0 $x 0 $y 0 $z - create_box 1 box - create_atoms 1 box - mass 1 1.0 + read_data data.series.${rho} displace_atoms all random 0.1 0.1 0.1 48294 @@ -25,9 +21,9 @@ label LOOP neigh_modify delay 0 every 1 check yes fix 1 all mdi/qm add no virial yes connect no - variable epress equal (f_1[1]+f_1[2]+f_1[3])/3 + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 - thermo_style custom step temp f_1 v_epress f_1[1] f_1[2] f_1[3] + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] run 0 diff --git a/examples/mdi/in.series.driver.plugin b/examples/mdi/in.series.driver.plugin index 8096b56886..f1189940b4 100644 --- a/examples/mdi/in.series.driver.plugin +++ b/examples/mdi/in.series.driver.plugin @@ -11,11 +11,7 @@ label LOOP units lj atom_style atomic - lattice fcc ${rho} - region box block 0 $x 0 $y 0 $z - create_box 1 box - create_atoms 1 box - mass 1 1.0 + read_data data.series.${rho} displace_atoms all random 0.1 0.1 0.1 48294 @@ -23,9 +19,9 @@ label LOOP neigh_modify delay 0 every 1 check yes fix 1 all mdi/qm add no virial yes - variable epress equal (f_1[1]+f_1[2]+f_1[3])/3 + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 - thermo_style custom step temp f_1 v_epress f_1[1] f_1[2] f_1[3] + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" & infile in.series.engine & diff --git a/examples/mdi/in.snapshot.alone b/examples/mdi/in.snapshot.alone index cf9683be3f..7633dcaae3 100644 --- a/examples/mdi/in.snapshot.alone +++ b/examples/mdi/in.snapshot.alone @@ -1,17 +1,9 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 - units lj atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +read_data data.snapshot velocity all create 1.44 87287 loop geom @@ -29,8 +21,8 @@ thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] thermo 100 -dump 1 all custom 500 dump.snapshot.alone & +dump 1 all custom 100 dump.snapshot.alone & id type x y z fx fy fz dump_modify 1 sort id -run 1500 +run 300 diff --git a/examples/mdi/in.snapshot.driver b/examples/mdi/in.snapshot.driver index 607a52a456..78205efb0f 100644 --- a/examples/mdi/in.snapshot.driver +++ b/examples/mdi/in.snapshot.driver @@ -1,17 +1,9 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 - units lj atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +read_data data.snapshot velocity all create 1.44 87287 loop geom @@ -23,19 +15,19 @@ neigh_modify delay 0 every 1 check yes fix 1 all nve -fix 2 all mdi/qm add no every 500 virial yes +fix 2 all mdi/qm add no every 100 virial yes compute 1 all pressure NULL virial -variable epress equal (f_2[1]+f_2[2]+f_2[3])/3 +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] thermo 100 -dump 1 all custom 500 dump.snapshot.driver & +dump 1 all custom 100 dump.snapshot.driver & id type x y z f_2[1] f_2[2] f_2[3] dump_modify 1 sort id -run 1500 pre no post no every 500 & +run 300 pre no post no every 100 & "print 'QM eng = $(f_2/atoms)'" & - "print 'QM virial = $(v_epress) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" diff --git a/examples/mdi/in.snapshot.driver.plugin b/examples/mdi/in.snapshot.driver.plugin index 2fdca3f6cd..37f0fba2f9 100644 --- a/examples/mdi/in.snapshot.driver.plugin +++ b/examples/mdi/in.snapshot.driver.plugin @@ -7,11 +7,7 @@ variable z index 5 units lj atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +read_data data.snapshot velocity all create 1.44 87287 loop geom @@ -23,16 +19,16 @@ neigh_modify delay 0 every 1 check yes fix 1 all nve -fix 2 all mdi/qm add no every 500 virial yes +fix 2 all mdi/qm add no every 100 virial yes compute 1 all pressure NULL virial -variable epress equal (f_2[1]+f_2[2]+f_2[3])/3 +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] thermo 100 -dump 1 all custom 500 dump.snapshot.driver.plugin & +dump 1 all custom 100 dump.snapshot.driver.plugin & id type x y z f_2[1] f_2[2] f_2[3] dump_modify 1 sort id @@ -40,7 +36,7 @@ mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" & infile in.snapshot.engine & extra "-log log.snapshot.engine.plugin" & command """ - run 1500 pre no post no every 500 + run 300 pre no post no every 100 "print 'QM eng = $(f_2/atoms)'" - "print 'QM virial = $(v_epress) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" """ diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 99f23f7e59..0b05263f01 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -344,11 +344,19 @@ void FixMDIQM::post_force(int vflag) } // optionally set fix->virial - // divide by nprocs so each proc stores a portion + // multiply by volume to make it extensive + // divide by nprocs so each proc stores a portion + // this is b/c ComputePressure expects that as input from a fix + // it will do an MPI_Allreduce and divide by volume if (virialflag && addflag) { + double volume; + if (domain->dimension == 2) + volume = domain->xprd * domain->yprd; + else if (domain->dimension == 3) + volume = domain->xprd * domain->yprd * domain->zprd; for (int i = 0; i < 6; i++) - virial[i] = qm_virial[i]/nprocs; + virial[i] = qm_virial[i]*volume/nprocs; } } From 1f35065afcfd6476a4d33b7aff28f46701311ea9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 16 Jun 2022 17:38:57 -0600 Subject: [PATCH 078/153] change to 9 element stress tensor --- examples/mdi/sequence_driver.py | 6 +++--- src/MDI/fix_mdi_qm.cpp | 18 +++++++++++------- src/MDI/fix_mdi_qm.h | 2 +- src/MDI/mdi_engine.cpp | 13 +++++++++---- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/examples/mdi/sequence_driver.py b/examples/mdi/sequence_driver.py index b0b26f6d7f..33dcf61b70 100644 --- a/examples/mdi/sequence_driver.py +++ b/examples/mdi/sequence_driver.py @@ -155,7 +155,7 @@ def perform_tasks(world,mdicomm,dummy): # request virial tensor mdi.MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: virial @@ -356,7 +360,7 @@ void FixMDIQM::post_force(int vflag) else if (domain->dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; for (int i = 0; i < 6; i++) - virial[i] = qm_virial[i]*volume/nprocs; + virial[i] = qm_virial_symmetric[i]*volume/nprocs; } } @@ -382,7 +386,7 @@ double FixMDIQM::compute_scalar() double FixMDIQM::compute_vector(int n) { - return qm_virial[n]; + return qm_virial_symmetric[n]; } /* ---------------------------------------------------------------------- diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 2d6f4b0d23..1db6a0cce2 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -47,7 +47,7 @@ class FixMDIQM : public Fix { double qm_energy; int lmpunits; - double qm_virial[6],qm_virial_all[6]; + double qm_virial[9],qm_virial_symmetric[6]; double **fqm; MDI_Comm mdicomm; diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index c5fc7e0b50..6a58512cfa 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -1413,16 +1413,21 @@ void MDIEngine::send_pe() /* ---------------------------------------------------------------------- compute_vector(); - for (int i = 0; i < 6; i++) vtensor[i] = press->vector[i] * lmp2mdi_pressure; + vtensor_full[0] = press->vector[0] * lmp2mdi_pressure; + vtensor_full[4] = press->vector[1] * lmp2mdi_pressure; + vtensor_full[8] = press->vector[2] * lmp2mdi_pressure; + vtensor_full[1] = vtensor_full[3] = press->vector[3] * lmp2mdi_pressure; + vtensor_full[2] = vtensor_full[6] = press->vector[4] * lmp2mdi_pressure; + vtensor_full[5] = vtensor_full[7] = press->vector[5] * lmp2mdi_pressure; - int ierr = MDI_Send(vtensor, 6, MDI_DOUBLE, mdicomm); + int ierr = MDI_Send(vtensor_full, 9, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: Date: Thu, 16 Jun 2022 18:20:46 -0600 Subject: [PATCH 079/153] Eliminated problem with unassigned coordinates in grid array --- src/ML-SNAP/compute_sna_grid.cpp | 14 +++++++------- src/compute_grid.cpp | 7 ++++--- src/compute_grid.h | 1 - 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index e96b54e7ed..1d868ba769 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -242,10 +242,12 @@ void ComputeSNAGrid::compute_array() for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { + double xgrid[3]; const int igrid = iz*(nx*ny) + iy*nx + ix; - const double xtmp = grid[igrid][0]; - const double ytmp = grid[igrid][1]; - const double ztmp = grid[igrid][2]; + grid2x(igrid, xgrid); + const double xtmp = xgrid[0]; + const double ytmp = xgrid[1]; + const double ztmp = xgrid[2]; // currently, all grid points are type 1 @@ -275,8 +277,6 @@ void ComputeSNAGrid::compute_array() if (chemflag) jelem = map[jtype]; - // printf("jtype = %d cutsq[jtype][jtype] = %g\n", - // jtype, cutsq[jtype][jtype]); if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; @@ -315,7 +315,7 @@ void ComputeSNAGrid::compute_array() } } - memset(grid[0],0,ngrid*size_array_cols*sizeof(double)); + memset(&grid[0][0],0,size_array_rows*size_array_cols*sizeof(double)); for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) @@ -324,7 +324,7 @@ void ComputeSNAGrid::compute_array() for (int j = 0; j < nvalues; j++) grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; } - MPI_Allreduce(&grid[0][0],&gridall[0][0],ngrid*size_array_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&grid[0][0],&gridall[0][0],size_array_rows*size_array_cols,MPI_DOUBLE,MPI_SUM,world); assign_coords_all(); } diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 91d320bf63..dd21b731e8 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -51,7 +51,7 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : nargbase = iarg - iarg0; - size_array_rows = ngrid = nx*ny*nz; + size_array_rows = nx*ny*nz; size_array_cols_base = 3; gridlocal_allocated = 0; } @@ -106,7 +106,7 @@ void ComputeGrid::grid2x(int igrid, double *x) void ComputeGrid::assign_coords_all() { double x[3]; - for (int igrid = 0; igrid < ngrid; igrid++) { + for (int igrid = 0; igrid < size_array_rows; igrid++) { grid2x(igrid,x); gridall[igrid][0] = x[0]; gridall[igrid][1] = x[1]; @@ -122,12 +122,13 @@ void ComputeGrid::allocate() { // allocate arrays + printf("In allocate() %d %d \n", size_array_rows,size_array_cols); memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, - nxlo,nxhi,"grid:gridlocal"); + nxlo,nxhi,"grid:gridlocal"); } array = gridall; } diff --git a/src/compute_grid.h b/src/compute_grid.h index ab8e5bbf9e..7bda1a89fa 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -32,7 +32,6 @@ class ComputeGrid : public Compute { protected: int nx, ny, nz; // global grid dimensions int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive - int ngrid; // number of global grid points int ngridlocal; // number of local grid points int nvalues; // number of values per grid point double **grid; // global grid From a7c5b5e8fd152f5abe064451b4371a9695834095 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 16 Jun 2022 20:22:40 -0600 Subject: [PATCH 080/153] Finsished documentation --- doc/src/Commands_compute.rst | 2 + doc/src/Errors_warnings.rst | 6 + doc/src/Packages_details.rst | 2 + doc/src/compute.rst | 2 + doc/src/compute_sna_atom.rst | 300 +++++++++++++++++++- doc/utils/sphinx-config/false_positives.txt | 3 + src/ML-SNAP/compute_sna_grid.h | 6 - src/ML-SNAP/compute_sna_grid_local.h | 8 - 8 files changed, 311 insertions(+), 18 deletions(-) diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 61c5e83eda..bb0c3e9c2a 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -138,6 +138,8 @@ KOKKOS, o = OPENMP, t = OPT. * :doc:`smd/vol ` * :doc:`snap ` * :doc:`sna/atom ` + * :doc:`sna/grid ` + * :doc:`sna/grid/local ` * :doc:`snad/atom ` * :doc:`snav/atom ` * :doc:`sph/e/atom ` diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index 2d588a1b77..ab06ac523c 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -470,6 +470,12 @@ This will most likely cause errors in kinetic fluctuations. *More than one compute sna/atom* Self-explanatory. +*More than one compute sna/grid* + Self-explanatory. + +*More than one compute sna/grid/local* + Self-explanatory. + *More than one compute snad/atom* Self-explanatory. diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index aaac06a4a8..92a4cab46b 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1801,6 +1801,8 @@ computes which analyze attributes of the potential. * src/ML-SNAP: filenames -> commands * :doc:`pair_style snap ` * :doc:`compute sna/atom ` +* :doc:`compute sna/grid ` +* :doc:`compute sna/grid/local ` * :doc:`compute snad/atom ` * :doc:`compute snav/atom ` * examples/snap diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 6fdedbbb95..cf17433035 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -284,6 +284,8 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`smd/vol ` - per-particle volumes and their sum in Smooth Mach Dynamics * :doc:`snap ` - gradients of SNAP energy and forces w.r.t. linear coefficients and related quantities for fitting SNAP potentials * :doc:`sna/atom ` - bispectrum components for each atom +* :doc:`sna/grid ` - global array of bispectrum components on a regular grid +* :doc:`sna/grid/local ` - local array of bispectrum components on a regular grid * :doc:`snad/atom ` - derivative of bispectrum components for each atom * :doc:`snav/atom ` - virial contribution from bispectrum components for each atom * :doc:`sph/e/atom ` - per-atom internal energy of Smooth-Particle Hydrodynamics atoms diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 54a6df02a2..2bbee1e6b6 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -24,6 +24,9 @@ Syntax compute ID group-ID snad/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... + compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... + compute ID group-ID sna/grid nx ny nz rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... + compute ID group-ID sna/grid/local nx ny nz rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... * ID, group-ID are documented in :doc:`compute ` command * sna/atom = style name of this compute command @@ -32,6 +35,7 @@ Syntax * twojmax = band limit for bispectrum components (non-negative integer) * R_1, R_2,... = list of cutoff radii, one for each type (distance units) * w_1, w_2,... = list of neighbor weights, one for each type +* nx, ny, nz = number of grid points in x, y, and z directions (positive integer) * zero or more keyword/value pairs may be appended * keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* or *chem* or *bnormflag* or *wselfallflag* or *bikflag* or *switchinnerflag* or *sinner* or *dinner* @@ -78,6 +82,7 @@ Examples compute snap all snap 1.4 0.95 6 2.0 1.0 compute snap all snap 1.0 0.99363 6 3.81 3.83 1.0 0.93 chem 2 0 1 compute snap all snap 1.0 0.99363 6 3.81 3.83 1.0 0.93 switchinnerflag 1 sinner 1.35 1.6 dinner 0.25 0.3 + compute bgrid all sna/grid/local 200 200 200 1.4 0.95 6 2.0 1.0 Description """"""""""" @@ -212,6 +217,46 @@ command: See section below on output for a detailed explanation of the data layout in the global array. +The compute *sna/grid* and *sna/grid/local* commands calculate +bispectrum components for a regular grid of points. +These are calculated from the local density of nearby atoms *i'* +around each grid point, as if there was a central atom *i* +at the grid point. This is useful for characterizing fine-scale +structure in a configuration of atoms, and it has been used +to build a machine-learning surrogate for finite-temperature Kohn-Sham +density functional theory (:ref:`Ellis et al. `). +Neighbor atoms not in the group do not contribute to the +bispectrum components of the grid points. The distance cutoff :math:`R_{ii'}` +and other parameters are defined as for a central atom with the same type as the +neighbor atoms *i'*. + +Compute *sna/grid* calculates a global array containing bispectrum +components for a regular grid of points. +The grid is aligned with the current box dimensions, with the +first point at the box origin, and forming a regular 3d array with +*nx*, *ny*, and *nz* points in the x, y, and z directions. For triclinic +boxes, the array is congruent with the periodic lattice vectors +a, b, and c. The array contains one row for each of the +:math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest, +then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*, +and *z* coordinates of the grid point, followed by the bispectrum +components. See section below on output for a detailed explanation of the data +layout in the global array. + +Compute *sna/grid/local* calculates bispectrum components of a regular +grid of points similarly to compute *sna/grid* described above. +However, because the array is local, it contains only rows for grid points +that are local to the processor subdomain. The global grid +of :math:`nx \times ny \times nz` points is still laid out in space the same as for *sna/grid*, +but grid points are strictly partitioned, so that every grid point appears in +one and only one local array. The array contains one row for each of the +local grid points, looping over the global index *ix* fastest, +then *iy*, and *iz* slowest. Each row of the array contains +the global indexes *ix*, *iy*, and *iz* first, followed by the *x*, *y*, +and *z* coordinates of the grid point, followed by the bispectrum +components. See section below on output for a detailed explanation of the data +layout in the global array. + The value of all bispectrum components will be zero for atoms not in the group. Neighbor atoms not in the group do not contribute to the bispectrum of atoms in the group. @@ -441,6 +486,250 @@ page for an overview of LAMMPS output options. To see how this command can be used within a Python workflow to train SNAP potentials, see the examples in `FitSNAP `_. +The value of all bispectrum components will be zero for atoms not in +the group. Neighbor atoms not in the group do not contribute to the +bispectrum of atoms in the group. + +The neighbor list needed to compute this quantity is constructed each +time the calculation is performed (i.e. each time a snapshot of atoms +is dumped). Thus it can be inefficient to compute/dump this quantity +too frequently. + +The argument *rcutfac* is a scale factor that controls the ratio of +atomic radius to radial cutoff distance. + +The argument *rfac0* and the optional keyword *rmin0* define the +linear mapping from radial distance to polar angle :math:`theta_0` on the +3-sphere, given above. + +The argument *twojmax* defines which +bispectrum components are generated. See section below on output for a +detailed explanation of the number of bispectrum components and the +ordered in which they are listed. + +The keyword *switchflag* can be used to turn off the switching +function :math:`f_c(r)`. + +The keyword *bzeroflag* determines whether or not *B0*, the bispectrum +components of an atom with no neighbors, are subtracted from the +calculated bispectrum components. This optional keyword normally only +affects compute *sna/atom*\ . However, when *quadraticflag* is on, it +also affects *snad/atom* and *snav/atom*\ . + +The keyword *quadraticflag* determines whether or not the quadratic +combinations of bispectrum quantities are generated. These are formed +by taking the outer product of the vector of bispectrum components with +itself. See section below on output for a detailed explanation of the +number of quadratic terms and the ordered in which they are listed. + +The keyword *chem* activates the explicit multi-element variant of the +SNAP bispectrum components. The argument *nelements* specifies the +number of SNAP elements that will be handled. This is followed by +*elementlist*, a list of integers of length *ntypes*, with values in the +range [0, *nelements* ), which maps each LAMMPS type to one of the SNAP +elements. Note that multiple LAMMPS types can be mapped to the same +element, and some elements may be mapped by no LAMMPS type. However, in +typical use cases (training SNAP potentials) the mapping from LAMMPS +types to elements is one-to-one. + +The explicit multi-element variant invoked by the *chem* keyword +partitions the density of neighbors into partial densities for each +chemical element. This is described in detail in the paper by +:ref:`Cusentino et al. ` The bispectrum components are +indexed on ordered triplets of elements: + +.. math:: + + B_{j_1,j_2,j}^{\kappa\lambda\mu} = + \sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^{\mu}_{j,m,m'})^* + H {\scriptscriptstyle \begin{array}{l} {j} {m} {m'} \\ + {j_1} {m_1} {m'_1} \\ + {j_2} {m_2} {m'_2} \end{array}} + u^{\kappa}_{j_1,m_1,m'_1} u^{\lambda}_{j_2,m_2,m'_2} + +where :math:`u^{\mu}_{j,m,m'}` is an expansion coefficient for the partial density of neighbors +of element :math:`\mu` + +.. math:: + + u^{\mu}_{j,m,m'} = w^{self}_{\mu_{i}\mu} U^{j,m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{\delta_{\mu\mu_{i'}}f_c(r_{ii'}) w_{\mu_{i'}} U^{j,m,m'}(\theta_0,\theta,\phi)} + +where :math:`w^{self}_{\mu_{i}\mu}` is the self-contribution, which is +either 1 or 0 (see keyword *wselfallflag* below), +:math:`\delta_{\mu\mu_{i'}}` indicates that the sum is only over +neighbor atoms of element :math:`\mu`, and all other quantities are the +same as those appearing in the original equation for :math:`u^j_{m,m'}` +given above. + +The keyword *wselfallflag* defines the rule used for the +self-contribution. If *wselfallflag* is on, then +:math:`w^{self}_{\mu_{i}\mu}` = 1. If it is off then +:math:`w^{self}_{\mu_{i}\mu}` = 0, except in the case of +:math:`{\mu_{i}=\mu}`, when :math:`w^{self}_{\mu_{i}\mu}` = 1. When the +*chem* keyword is not used, this keyword has no effect. + +The keyword *bnormflag* determines whether or not the bispectrum +component :math:`B_{j_1,j_2,j}` is divided by a factor of :math:`2j+1`. +This normalization simplifies force calculations because of the +following symmetry relation + +.. math:: + + \frac{B_{j_1,j_2,j}}{2j+1} = \frac{B_{j,j_2,j_1}}{2j_1+1} = \frac{B_{j_1,j,j_2}}{2j_2+1} + +This option is typically used in conjunction with the *chem* keyword, +and LAMMPS will generate a warning if both *chem* and *bnormflag* +are not both set or not both unset. + +The keyword *bikflag* determines whether or not to expand the bispectrum +rows of the global array returned by compute snap. If *bikflag* is set +to *1* then the bispectrum row, which is typically the per-atom bispectrum +descriptors :math:`B_{i,k}` summed over all atoms *i* to produce +:math:`B_k`, becomes bispectrum rows equal to the number of atoms. Thus, +the resulting bispectrum rows are :math:`B_{i,k}` instead of just +:math:`B_k`. In this case, the entries in the final column for these rows +are set to zero. + +The keyword *switchinnerflag* with value 1 +activates an additional radial switching +function similar to :math:`f_c(r)` above, but acting to switch off +smoothly contributions from neighbor atoms at short separation distances. +This is useful when SNAP is used in combination with a simple +repulsive potential. For a neighbor atom at +distance :math:`r`, its contribution is scaled by a multiplicative +factor :math:`f_{inner}(r)` defined as follows: + +.. math:: + + = & 0, r \leq S_{inner} - D_{inner} \\ + f_{inner}(r) = & \frac{1}{2}(1 - \cos(\frac{\pi}{2} (1 + \frac{r-S_{inner}}{D_{inner}})), S_{inner} - D_{inner} < r \leq S_{inner} + D_{inner} \\ + = & 1, r > S_{inner} + D_{inner} + +where the switching region is centered at :math:`S_{inner}` and it extends a distance :math:`D_{inner}` +to the left and to the right of this. +With this option, additional keywords *sinner* and *dinner* must be used, +each followed by *ntypes* +values for :math:`S_{inner}` and :math:`D_{inner}`, respectively. +When the central atom and the neighbor atom have different types, +the values of :math:`S_{inner}` and :math:`D_{inner}` are +the arithmetic means of the values for both types. + +.. note:: + + If you have a bonded system, then the settings of :doc:`special_bonds + ` command can remove pairwise interactions between + atoms in the same bond, angle, or dihedral. This is the default + setting for the :doc:`special_bonds ` command, and + means those pairwise interactions do not appear in the neighbor list. + Because this fix uses the neighbor list, it also means those pairs + will not be included in the calculation. One way to get around this, + is to write a dump file, and use the :doc:`rerun ` command to + compute the bispectrum components for snapshots in the dump file. + The rerun script can use a :doc:`special_bonds ` + command that includes all pairs in the neighbor list. + +---------- + +Output info +""""""""""" + +Compute *sna/atom* calculates a per-atom array, each column +corresponding to a particular bispectrum component. The total number of +columns and the identity of the bispectrum component contained in each +column depend of the value of *twojmax*, as described by the following +piece of python code: + +.. parsed-literal:: + + for j1 in range(0,twojmax+1): + for j2 in range(0,j1+1): + for j in range(j1-j2,min(twojmax,j1+j2)+1,2): + if (j>=j1): print j1/2.,j2/2.,j/2. + +For even twojmax = 2(*m*\ -1), :math:`K = m(m+1)(2m+1)/6`, the *m*\ -th pyramidal number. For odd twojmax = 2 *m*\ -1, :math:`K = m(m+1)(m+2)/3`, twice the *m*\ -th tetrahedral number. + +.. note:: + + the *diagonal* keyword allowing other possible choices + for the number of bispectrum components was removed in 2019, + since all potentials use the value of 3, corresponding to the + above set of bispectrum components. + +Compute *snad/atom* evaluates a per-atom array. The columns are arranged +into *ntypes* blocks, listed in order of atom type *I*\ . Each block +contains three sub-blocks corresponding to the *x*, *y*, and *z* +components of the atom position. Each of these sub-blocks contains *K* +columns for the *K* bispectrum components, the same as for compute +*sna/atom* + +Compute *snav/atom* evaluates a per-atom array. The columns are arranged +into *ntypes* blocks, listed in order of atom type *I*\ . Each block +contains six sub-blocks corresponding to the *xx*, *yy*, *zz*, +*yz*, *xz*, and *xy* components of the virial tensor in Voigt +notation. Each of these sub-blocks contains *K* columns for the *K* +bispectrum components, the same as for compute *sna/atom* + +Compute *snap* evaluates a global array. The columns are arranged into +*ntypes* blocks, listed in order of atom type *I*\ . Each block contains +one column for each bispectrum component, the same as for compute +*sna/atom*\ . A final column contains the corresponding energy, force +component on an atom, or virial stress component. The rows of the array +appear in the following order: + +* 1 row: *sna/atom* quantities summed for all atoms of type *I* +* 3\*\ *N* rows: *snad/atom* quantities, with derivatives w.r.t. x, y, and z coordinate of atom *i* appearing in consecutive rows. The atoms are sorted based on atom ID. +* 6 rows: *snav/atom* quantities summed for all atoms of type *I* + +For example, if *K* =30 and ntypes=1, the number of columns in the +per-atom arrays generated by *sna/atom*, *snad/atom*, and +*snav/atom* are 30, 90, and 180, respectively. With *quadratic* value=1, +the numbers of columns are 930, 2790, and 5580, respectively. The +number of columns in the global array generated by *snap* are 31, and +931, respectively, while the number of rows is 1+3\*\ *N*\ +6, where *N* +is the total number of atoms. + +If the *quadratic* keyword value is set to 1, then additional columns +are generated, corresponding to the products of all distinct pairs of +bispectrum components. If the number of bispectrum components is *K*, +then the number of distinct pairs is *K*\ (\ *K*\ +1)/2. For compute +*sna/atom* these columns are appended to existing *K* columns. The +ordering of quadratic terms is upper-triangular, (1,1),(1,2)...(1,\ *K*\ +),(2,1)...(\ *K*\ -1,\ *K*\ -1),(\ *K*\ -1,\ *K*\ ),(\ *K*,\ *K*\ ). +For computes *snad/atom* and *snav/atom* each set of *K*\ (\ *K*\ +1)/2 +additional columns is inserted directly after each of sub-block of +linear terms i.e. linear and quadratic terms are contiguous. So the +nesting order from inside to outside is bispectrum component, linear +then quadratic, vector/tensor component, type. + +If the *chem* keyword is used, then the data is arranged into +:math:`N_{elem}^3` sub-blocks, each sub-block corresponding to a +particular chemical labeling :math:`\kappa\lambda\mu` with the last +label changing fastest. Each sub-block contains *K* bispectrum +components. For the purposes of handling contributions to force, virial, +and quadratic combinations, these :math:`N_{elem}^3` sub-blocks are +treated as a single block of :math:`K N_{elem}^3` columns. + +These values can be accessed by any command that uses per-atom values +from a compute as input. See the :doc:`Howto output ` doc +page for an overview of LAMMPS output options. To see how this command +can be used within a Python workflow to train SNAP potentials, see the +examples in `FitSNAP `_. + +Compute *sna/grid* evaluates a global array. +The array contains one row for each of the +:math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest, +then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*, +and *z* coordinates of the grid point, followed by the bispectrum +components. + +Compute *sna/grid/local* evaluates a local array. +The array contains one row for each of the +local grid points, looping over the global index *ix* fastest, +then *iy*, and *iz* slowest. Each row of the array contains +the global indexes *ix*, *iy*, and *iz* first, followed by the *x*, *y*, +and *z* coordinates of the grid point, followed by the bispectrum +components. + Restrictions """""""""""" @@ -464,9 +753,8 @@ The optional keyword defaults are *rmin0* = 0, .. _Thompson20141: -**(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint -available at `arXiv:1409.3880 `_ - +**(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, J Comp Phys, 285, 316, (2015). + .. _Bartok20101: **(Bartok)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). @@ -486,4 +774,8 @@ of Angular Momentum, World Scientific, Singapore (1987). .. _Cusentino2020: -**(Cusentino)** Cusentino, Wood, and Thompson, J Phys Chem A, xxx, xxxxx, (2020) +**(Cusentino)** Cusentino, Wood, Thompson, J Phys Chem A, 124, 5456, (2020) + +.. _Ellis2021: + +**(Ellis)** Ellis, Fiedler, Popoola, Modine, Stephens, Thompson, Cangi, Rajamanickam, Phys Rev B, 104, 035120, (2021) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 836dc4efa8..21f4549441 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -372,6 +372,7 @@ Caltech Camilloni Camiloni Campana +Cangi Cao Capolungo Caro @@ -2676,6 +2677,7 @@ polyhedra Polym polymorphism popen +Popoola Popov popstore Poresag @@ -2819,6 +2821,7 @@ radians Rafferty rahman Rahman +Rajamanickam Ralf Raman ramped diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index 777b874505..c203ce8bb4 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -63,12 +63,6 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Compute sna/grid requires a pair style be defined - -Self-explanatory. - -E: Compute sna/grid cutoff is longer than pairwise cutoff - Self-explanatory. W: More than one compute sna/grid diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h index 853d629d87..5ce40069ee 100644 --- a/src/ML-SNAP/compute_sna_grid_local.h +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -63,14 +63,6 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Compute sna/grid/local requires a pair style be defined - -Self-explanatory. - -E: Compute sna/grid/local cutoff is longer than pairwise cutoff - -Self-explanatory. - W: More than one compute sna/grid/local Self-explanatory. From e201d6e77e9ce45250a1caf5e4a44301cb3ab2a0 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 16 Jun 2022 20:31:06 -0600 Subject: [PATCH 081/153] Delete files --- examples/snap/README.grid | 19 -- examples/snap/econs.py | 16 - examples/snap/fnum.py | 14 - examples/snap/grid.local.py | 121 -------- examples/snap/grid.py | 104 ------- examples/snap/in.fnum | 61 ---- examples/snap/in.grid | 83 ------ examples/snap/in.grid.local | 77 ----- examples/snap/in.grid.pair | 90 ------ examples/snap/in.grid.python | 65 ----- examples/snap/in.grid.python.local | 69 ----- examples/snap/in.grid.test | 105 ------- examples/snap/lammps_utils.py | 26 -- src/ML-SNAP/pair_sna_grid.cpp | 449 ----------------------------- src/ML-SNAP/pair_sna_grid.h | 79 ----- src/pair_grid.cpp | 328 --------------------- src/pair_grid.h | 87 ------ 17 files changed, 1793 deletions(-) delete mode 100644 examples/snap/README.grid delete mode 100644 examples/snap/econs.py delete mode 100644 examples/snap/fnum.py delete mode 100755 examples/snap/grid.local.py delete mode 100755 examples/snap/grid.py delete mode 100644 examples/snap/in.fnum delete mode 100644 examples/snap/in.grid delete mode 100644 examples/snap/in.grid.local delete mode 100644 examples/snap/in.grid.pair delete mode 100644 examples/snap/in.grid.python delete mode 100644 examples/snap/in.grid.python.local delete mode 100644 examples/snap/in.grid.test delete mode 100644 examples/snap/lammps_utils.py delete mode 100644 src/ML-SNAP/pair_sna_grid.cpp delete mode 100644 src/ML-SNAP/pair_sna_grid.h delete mode 100644 src/pair_grid.cpp delete mode 100644 src/pair_grid.h diff --git a/examples/snap/README.grid b/examples/snap/README.grid deleted file mode 100644 index a552ce38ab..0000000000 --- a/examples/snap/README.grid +++ /dev/null @@ -1,19 +0,0 @@ -This branch contains the following examples: - -in.grid # simple example of grid -in.grid.local # simple example of grid/local -in.grid.python # used by grid.py -in.grid.test # stress test of grid and grid/local -in.grid.tri # grid with triclinic cell - -grid.py # access data from Python library interface - -For the LAMMPS public repo, the only examples that will be provided are: - - in.grid.snap # simple test of grid and grid/local - in.grid.tri # same for a triclinic box - log.15Jun22.grid.snap.g++.1 - log.15Jun22.grid.snap.g++.4 - log.15Jun22.grid.tri.g++.1 - log.15Jun22.grid.tri.g++.4 - diff --git a/examples/snap/econs.py b/examples/snap/econs.py deleted file mode 100644 index aece097622..0000000000 --- a/examples/snap/econs.py +++ /dev/null @@ -1,16 +0,0 @@ -import lammps - -infile = "in.grid.pair" -faclist = [0.001,0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5] - -print("# Timestep DeltaE DeltaE/Timestep^2") -for fac in faclist: - cmdlist = ["-screen","none","-var","dtfac", "%g" % fac] - lmp = lammps.lammps(cmdargs = cmdlist) - lmp.file(infile) - dt = lmp.extract_global("dt", lammps.LAMMPS_DOUBLE) - de = lmp.extract_fix("avede", lammps.LMP_STYLE_GLOBAL, lammps.LMP_TYPE_SCALAR) - dedt2 = de/dt**2 - print(f"{dt} {de} {dedt2}") - - diff --git a/examples/snap/fnum.py b/examples/snap/fnum.py deleted file mode 100644 index 1e50e49b09..0000000000 --- a/examples/snap/fnum.py +++ /dev/null @@ -1,14 +0,0 @@ -import lammps - -infile = "in.fnum" - -fdeltalist = [1.0e-2,1.0e-3,1.0e-4,1.0e-5,1.0e-6,1.0e-7,1.0e-8,1.0e-9,1.0e-10] - -print("Fdelta RMSE") -for fdelta in fdeltalist: - cmdlist = ["-screen","none","-var","fdelta",f'{fdelta}'] - lmp = lammps.lammps(cmdargs = cmdlist) - lmp.file(infile) - faverrsq = lmp.extract_compute("faverrsq", lammps.LMP_STYLE_GLOBAL, lammps.LMP_TYPE_SCALAR) - rmse = faverrsq**0.5 - print(f"{fdelta} {rmse}") diff --git a/examples/snap/grid.local.py b/examples/snap/grid.local.py deleted file mode 100755 index 414558b79b..0000000000 --- a/examples/snap/grid.local.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/Users/athomps/miniconda3/bin/python3.7 -# -# An example of SNAP grid from LAMMPS Python interface -# -# https://lammps.sandia.gov/doc/Python_library.html - - -from lammps import lammps, LMP_STYLE_LOCAL, LMP_SIZE_ROWS, LMP_SIZE_COLS, LMP_TYPE_ARRAY -import lammps_utils - -from mpi4py import MPI -comm = MPI.COMM_WORLD -me = comm.Get_rank() -nprocs = comm.Get_size() - -# define command line input variables - -ngridx = 2 -ngridy = 3 -ngridz = nprocs -twojmax = 2 - -lmp_cmdargs = ["-echo","screen"] -lmp_cmdargs = lammps_utils.set_cmdlinevars(lmp_cmdargs, - { - "ngridx":ngridx, - "ngridy":ngridy, - "ngridz":ngridz, - "twojmax":twojmax - } - ) - -# launch LAMMPS instance - -lmp = lammps(cmdargs=lmp_cmdargs) - -# run LAMMPS input script - -lmp.file("in.grid.python.local") - -# get quantities from LAMMPS - -num_atoms = lmp.get_natoms() - -# set things not accessible from LAMMPS - -# first 3 cols are x, y, z, coords - -ncols0 = 3 - -# analytical relation - -ncoeff = (twojmax+2)*(twojmax+3)*(twojmax+4) -ncoeff = ncoeff // 24 # integer division -ncols = ncols0+ncoeff - -# get B_0 at position (0,0,0) in 4 different ways - -# 1. from comute sna/atom - -bptr = lmp.extract_compute("b", 1, 2) # 1 = per-atom data, 2 = array -print("b = ",bptr[0][0]) - -# 2. from compute sna/grid - -bgridptr = lmp.extract_compute("bgrid", 0, 2) # 0 = style global, 2 = type array -print("bgrid = ",bgridptr[0][3]) - -# 3. from Numpy array pointing to sna/atom array - -bptr_np = lammps_utils.extract_compute_np(lmp,"b",1,2,(num_atoms,ncoeff)) -print("b_np = ",bptr_np[0][0]) - -# 4. from Numpy array pointing to sna/grid array - -bgridptr_np = lammps_utils.extract_compute_np(lmp,"bgrid",0,2,(ngridz,ngridy,ngridx,ncols)) -print("bgrid_np = ",bgridptr_np[0][0][0][ncols0+0]) - -# 5. from sna/grid/local array - -bgridlocalnrows = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_SIZE_ROWS) -print("bgridlocal nrows = ",bgridlocalnrows) -bgridlocalncols = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_SIZE_COLS) -print("bgridlocal ncols = ",bgridlocalncols) - -if bgridlocalnrows > 0: - bgridlocalptr = lmp.extract_compute("bgridlocal", LMP_STYLE_LOCAL, LMP_TYPE_ARRAY) - print("bgridlocal = ",bgridlocalptr) - print("bgridlocal[0][0] = ",bgridlocalptr[5][10]) - -# print out the LAMMPS array to a file - -outfile = open("bgrid.dat",'w') -igrid = 0 -for iz in range(ngridz): - for iy in range(ngridy): - for ix in range(ngridx): - outfile.write("x, y, z = %g %g %g\n" % - (bgridptr[igrid][0], - bgridptr[igrid][1], - bgridptr[igrid][2])) - for icoeff in range(ncoeff): - outfile.write("%g " % bgridptr[igrid][ncols0+icoeff]) - outfile.write("\n") - igrid += 1 -outfile.close() - -# print out the Numpy array to a file - -outfile = open("bgrid_np.dat",'w') -for iz in range(ngridz): - for iy in range(ngridy): - for ix in range(ngridx): - outfile.write("x, y, z = %g %g %g\n" % - (bgridptr_np[iz][iy][ix][0], - bgridptr_np[iz][iy][ix][1], - bgridptr_np[iz][iy][ix][2])) - for icoeff in range(ncoeff): - outfile.write("%g " % bgridptr_np[iz][iy][ix][ncols0+icoeff]) - outfile.write("\n") -outfile.close() diff --git a/examples/snap/grid.py b/examples/snap/grid.py deleted file mode 100755 index 9fe88fd1b4..0000000000 --- a/examples/snap/grid.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/Users/athomps/miniconda3/bin/python3.7 -# -# An example of SNAP grid from LAMMPS Python interface -# -# https://lammps.sandia.gov/doc/Python_library.html - - -from lammps import lammps -import lammps_utils - -# define command line input variables - -ngridx = 2 -ngridy = 3 -ngridz = 4 -twojmax = 2 - -lmp_cmdargs = ["-echo","screen"] -lmp_cmdargs = lammps_utils.set_cmdlinevars(lmp_cmdargs, - { - "ngridx":ngridx, - "ngridy":ngridy, - "ngridz":ngridz, - "twojmax":twojmax - } - ) - -# launch LAMMPS instance - -lmp = lammps(cmdargs=lmp_cmdargs) - -# run LAMMPS input script - -lmp.file("in.grid.python") - -# get quantities from LAMMPS - -num_atoms = lmp.get_natoms() - -# set things not accessible from LAMMPS - -# first 3 cols are x, y, z, coords - -ncols0 = 3 - -# analytical relation - -ncoeff = (twojmax+2)*(twojmax+3)*(twojmax+4) -ncoeff = ncoeff // 24 # integer division -ncols = ncols0+ncoeff - -# get B_0 at position (0,0,0) in 4 different ways - -# 1. from comute sna/atom - -bptr = lmp.extract_compute("b", 1, 2) # 1 = per-atom data, 2 = array -print("b = ",bptr[0][0]) - -# 2. from compute sna/grid - -bgridptr = lmp.extract_compute("bgrid", 0, 2) # 0 = style global, 2 = type array -print("bgrid = ",bgridptr[0][3]) - -# 3. from Numpy array pointing to sna/atom array - -bptr_np = lammps_utils.extract_compute_np(lmp,"b",1,2,(num_atoms,ncoeff)) -print("b_np = ",bptr_np[0][0]) - -# 4. from Numpy array pointing to sna/grid array - -bgridptr_np = lammps_utils.extract_compute_np(lmp,"bgrid",0,2,(ngridz,ngridy,ngridx,ncols)) -print("bgrid_np = ",bgridptr_np[0][0][0][ncols0+0]) - -# print out the LAMMPS array to a file - -outfile = open("bgrid.dat",'w') -igrid = 0 -for iz in range(ngridz): - for iy in range(ngridy): - for ix in range(ngridx): - outfile.write("x, y, z = %g %g %g\n" % - (bgridptr[igrid][0], - bgridptr[igrid][1], - bgridptr[igrid][2])) - for icoeff in range(ncoeff): - outfile.write("%g " % bgridptr[igrid][ncols0+icoeff]) - outfile.write("\n") - igrid += 1 -outfile.close() - -# print out the Numpy array to a file - -outfile = open("bgrid_np.dat",'w') -for iz in range(ngridz): - for iy in range(ngridy): - for ix in range(ngridx): - outfile.write("x, y, z = %g %g %g\n" % - (bgridptr_np[iz][iy][ix][0], - bgridptr_np[iz][iy][ix][1], - bgridptr_np[iz][iy][ix][2])) - for icoeff in range(ncoeff): - outfile.write("%g " % bgridptr_np[iz][iy][ix][ncols0+icoeff]) - outfile.write("\n") -outfile.close() diff --git a/examples/snap/in.fnum b/examples/snap/in.fnum deleted file mode 100644 index 1298e9aed9..0000000000 --- a/examples/snap/in.fnum +++ /dev/null @@ -1,61 +0,0 @@ -# Demonstrate pair style base on sna/grid -# Check numerical forces - -variable nrep index 3 -variable a index 3.0 -variable ngrid index 2 -variable del index 0.1 -variable fdelta index 0.0001 - -units metal - -atom_modify map yes - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom $a & - a1 1 0 0 & - a2 0 1 0 & - a3 0 0 1 & - basis 0 0 0 & - basis 0.5 0.5 0.5 & -# origin 0.25 0.25 0.25 -# origin 0.25e-3 0.25e-3 0.25e-3 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box -mass 1 180.88 -displace_atoms all random ${del} ${del} ${del} 12345 - -# define grid compute and atom compute - -group snapgroup type 1 -variable twojmax equal 2 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} -pair_coeff * * Al - -fix fnum all numdiff 1 ${fdelta} -variable ferrsq atom (fx-f_fnum[1])^2+(fy-f_fnum[2])^2+(fz-f_fnum[3])^2 -compute faverrsq all reduce ave v_ferrsq -thermo_style custom c_faverrsq - -run 0 diff --git a/examples/snap/in.grid b/examples/snap/in.grid deleted file mode 100644 index 44c42673e0..0000000000 --- a/examples/snap/in.grid +++ /dev/null @@ -1,83 +0,0 @@ -# Demonstrate bispectrum computes - -# CORRECTNESS: thermo output for c_mygrid[*][1] and c_mygrid[*][8] should -# match the values in dump_b: 108.173 3.21778 0.712238 7.06634 1.04273 - -# Initialize simulation - -variable nsteps index 0 -variable nrep index 1 -variable a index 3.316 -variable ngrid index 2 - -units metal - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom $a & - a1 1 0 0 & - a2 0 1 0 & - a3 0 0 1 & - basis 0 0 0 & - basis 0.5 0.5 0.5 & -# origin 0.25 0.25 0.25 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box - -mass 1 180.88 - -# choose potential - -include Ta06A.snap - -# define grid compute and atom compute - -group snapgroup type 1 -variable twojmax equal 2 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -compute b all sna/atom & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -# define output - -# mygrid is ngrid by (3+nbis) = 8x8 -thermo_style custom step temp ke pe vol & - c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] & - c_mygrid[1][2] c_mygrid[2][2] c_mygrid[3][2] c_mygrid[4][2] c_mygrid[5][2] c_mygrid[6][2] c_mygrid[7][2] c_mygrid[8][2] & - c_mygrid[1][3] c_mygrid[2][3] c_mygrid[3][3] c_mygrid[4][3] c_mygrid[5][3] c_mygrid[6][3] c_mygrid[7][3] c_mygrid[8][3] & - c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] & - c_mygrid[1][5] c_mygrid[2][5] c_mygrid[3][5] c_mygrid[4][5] c_mygrid[5][5] c_mygrid[6][5] c_mygrid[7][5] c_mygrid[8][5] & - c_mygrid[1][6] c_mygrid[2][6] c_mygrid[3][6] c_mygrid[4][6] c_mygrid[5][6] c_mygrid[6][6] c_mygrid[7][6] c_mygrid[8][6] & - c_mygrid[1][7] c_mygrid[2][7] c_mygrid[3][7] c_mygrid[4][7] c_mygrid[5][7] c_mygrid[6][7] c_mygrid[7][7] c_mygrid[8][7] & - c_mygrid[1][8] c_mygrid[2][8] c_mygrid[3][8] c_mygrid[4][8] c_mygrid[5][8] c_mygrid[6][8] c_mygrid[7][8] c_mygrid[8][8] -thermo_modify norm yes - -dump mydump_b all custom 1000 dump_b id c_b[*] - -# run - -run 0 - diff --git a/examples/snap/in.grid.local b/examples/snap/in.grid.local deleted file mode 100644 index 121f0ba981..0000000000 --- a/examples/snap/in.grid.local +++ /dev/null @@ -1,77 +0,0 @@ -# Demonstrate bispectrum computes with local grid - -# Initialize simulation - -variable nsteps index 0 -variable nrep index 1 -variable a index 3.316 -variable ngrid index 2 - -units metal - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom $a & - a1 1 0 0 & - a2 0 1 0 & - a3 0 0 1 & - basis 0 0 0 & - basis 0.5 0.5 0.5 & -# origin 0.25 0.25 0.25 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box - -mass 1 180.88 - -# choose potential - -include Ta06A.snap - -# define grid compute and atom compute - -group snapgroup type 1 -variable twojmax equal 2 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -compute b all sna/atom & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -# define output - -# mygrid is ngrid by (3+nbis) = 8x8 -thermo_style custom step temp ke pe vol -thermo_modify norm yes - -dump mydump_b all custom 1000 dump_b id c_b[*] -dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_mygridlocal[*] - -# run - -run 0 - -run 0 - -run 0 - diff --git a/examples/snap/in.grid.pair b/examples/snap/in.grid.pair deleted file mode 100644 index 128da2ad7a..0000000000 --- a/examples/snap/in.grid.pair +++ /dev/null @@ -1,90 +0,0 @@ -# Demonstrate pair style base on sna/grid -# Test energy conservation -# Choose dtfac in the range [0.01,Infinity] -# Large dtfac means small timestep, while -# keeping trajectory output interval fixed -# Variable etotdelta measures change in (PE+KE)/natoms - -# Initialize simulation - -variable dtfac index 1 -variable dt equal 0.5e-3/${dtfac} -variable nthermo equal 1000*${dtfac} -variable nsteps equal 1000*${dtfac} -variable nrep index 3 -variable a index 3.0 -variable ngrid index 2 -variable t index 300 -variable del index 0.1 - -units metal - -atom_modify map yes - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom $a & - a1 1 0 0 & - a2 0 1 0 & - a3 0 0 1 & - basis 0 0 0 & - basis 0.5 0.5 0.5 & -# origin 0.25 0.25 0.25 -# origin 0.25e-3 0.25e-3 0.25e-3 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box -mass 1 180.88 -displace_atoms all random ${del} ${del} ${del} 12345 -velocity all create $t 4928459 loop geom - -write_dump all custom test.dump id type x y z - -# define grid compute and atom compute - -group snapgroup type 1 -variable twojmax equal 2 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -pair_style sna/grid grid ${ngrid} ${ngrid} ${ngrid} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} -pair_coeff * * Al - -thermo ${nthermo} -thermo_modify norm yes - -run 0 -variable etot0 equal etotal -variable etotdelta equal abs(etotal-${etot0})/atoms -fix avede all ave/time 1 ${nthermo} ${nthermo} v_etotdelta - -thermo_style custom step temp epair ke etotal press v_etotdelta f_avede -thermo ${nthermo} -thermo_modify norm yes - -# Set up NVE run - -timestep ${dt} -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -fix mynve all nve -run ${nsteps} diff --git a/examples/snap/in.grid.python b/examples/snap/in.grid.python deleted file mode 100644 index e04415d558..0000000000 --- a/examples/snap/in.grid.python +++ /dev/null @@ -1,65 +0,0 @@ -# Demonstrate bispectrum per-atom and grid computes - -# Invoked from grid.py -# pass in values for ngridx, ngridy, ngridz, twojmax - -# Initialize simulation - -variable nsteps equal 0 -variable nrep equal 1 -variable a equal 3.316 - -units metal - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom ${a} a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box - -mass 1 180.88 - -# define grid compute and atom compute - -group snapgroup type 1 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -compute b all sna/atom ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} - -compute bgrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} - -compute bgridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} - -# create dummy potential for neighbor list - -variable rcutneigh equal 2.0*${rcutfac}*${radelem} -pair_style zero ${rcutneigh} -pair_coeff * * - -# define output - -thermo_style custom step temp ke pe vol c_bgrid[1][1] -thermo_modify norm yes - -dump mydump_b all custom 1000 dump_b id c_b[*] - -dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_bgridlocal[1] - -# run - -run 0 diff --git a/examples/snap/in.grid.python.local b/examples/snap/in.grid.python.local deleted file mode 100644 index af95696a2b..0000000000 --- a/examples/snap/in.grid.python.local +++ /dev/null @@ -1,69 +0,0 @@ -# Demonstrate bispectrum per-atom and grid computes - -# Invoked from grid.py -# pass in values for ngridx, ngridy, ngridz, twojmax - -# Initialize simulation - -variable nsteps equal 0 -variable nrep equal 1 -variable a equal 3.316 - -units metal - -# make processor grid equal to nz - -processors 1 1 ${ngridz} - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom ${a} a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box - -mass 1 180.88 - -# define grid compute and atom compute - -group snapgroup type 1 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -compute b all sna/atom ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} - -compute bgrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} - -compute bgridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} bzeroflag ${bzero} quadraticflag ${quad} switchflag ${switch} - -# create dummy potential for neighbor list - -variable rcutneigh equal 2.0*${rcutfac}*${radelem} -pair_style zero ${rcutneigh} -pair_coeff * * - -# define output - -thermo_style custom step temp ke pe vol c_bgrid[1][1] -thermo_modify norm yes - -dump mydump_b all custom 1000 dump_b id c_b[*] - -dump mydump_bgridlocal all local 1000 dump_bgridlocal index c_bgridlocal[*] - -# run - -run 0 diff --git a/examples/snap/in.grid.test b/examples/snap/in.grid.test deleted file mode 100644 index c684200d44..0000000000 --- a/examples/snap/in.grid.test +++ /dev/null @@ -1,105 +0,0 @@ -# Demonstrate bispectrum computes - -# CORRECTNESS: thermo output for c_mygrid[*][1] and c_mygrid[*][8] should -# match the values in dump_b: 108.173 3.21778 0.712238 7.06634 1.04273 - -# Initialize simulation - -variable nsteps index 0 -variable nrep index 3 -variable a index 3.316 -variable ngrid index 2 - -units metal - -atom_modify map yes - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable ny equal ${nrep} -variable nz equal ${nrep} - -boundary p p p - -lattice custom $a & - a1 1 0 0 & - a2 0 1 0 & - a3 0 0 1 & - basis 0 0 0 & - basis 0.5 0.5 0.5 & -# origin 0.25 0.25 0.25 -# origin 0.25e-3 0.25e-3 0.25e-3 - -region box block 0 ${nx} 0 ${ny} 0 ${nz} -create_box 1 box -create_atoms 1 box - -mass 1 180.88 - -write_dump all custom test.dump id type x y z - -# choose potential - -include Ta06A.snap - -# define grid compute and atom compute - -group snapgroup type 1 -variable twojmax equal 2 -variable rcutfac equal 4.67637 -variable rfac0 equal 0.99363 -variable rmin0 equal 0 -variable wj equal 1 -variable radelem equal 0.5 -variable bzero equal 0 -variable quad equal 0 -variable switch equal 1 - -compute b all sna/atom & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} & - ${rcutfac} ${rfac0} ${twojmax} ${radelem} & - ${wj} rmin0 ${rmin0} bzeroflag ${bzero} & - quadraticflag ${quad} switchflag ${switch} - -# define output - -# mygrid is ngrid by (3+nbis) = 8x8 -thermo_style custom step temp ke pe vol & - c_mygrid[1][1] c_mygrid[2][1] c_mygrid[3][1] c_mygrid[4][1] c_mygrid[5][1] c_mygrid[6][1] c_mygrid[7][1] c_mygrid[8][1] & - c_mygrid[1][2] c_mygrid[2][2] c_mygrid[3][2] c_mygrid[4][2] c_mygrid[5][2] c_mygrid[6][2] c_mygrid[7][2] c_mygrid[8][2] & - c_mygrid[1][3] c_mygrid[2][3] c_mygrid[3][3] c_mygrid[4][3] c_mygrid[5][3] c_mygrid[6][3] c_mygrid[7][3] c_mygrid[8][3] & - c_mygrid[1][4] c_mygrid[2][4] c_mygrid[3][4] c_mygrid[4][4] c_mygrid[5][4] c_mygrid[6][4] c_mygrid[7][4] c_mygrid[8][4] & - c_mygrid[1][5] c_mygrid[2][5] c_mygrid[3][5] c_mygrid[4][5] c_mygrid[5][5] c_mygrid[6][5] c_mygrid[7][5] c_mygrid[8][5] & - c_mygrid[1][6] c_mygrid[2][6] c_mygrid[3][6] c_mygrid[4][6] c_mygrid[5][6] c_mygrid[6][6] c_mygrid[7][6] c_mygrid[8][6] & - c_mygrid[1][7] c_mygrid[2][7] c_mygrid[3][7] c_mygrid[4][7] c_mygrid[5][7] c_mygrid[6][7] c_mygrid[7][7] c_mygrid[8][7] & - c_mygrid[1][8] c_mygrid[2][8] c_mygrid[3][8] c_mygrid[4][8] c_mygrid[5][8] c_mygrid[6][8] c_mygrid[7][8] c_mygrid[8][8] -thermo_modify norm yes - -#dump mydump_b all custom 1 dump_b id c_b[*] -dump mydump_bgridlocal all local 1 dump_bgridlocal index c_mygridlocal[*] - -# run - -run 1 - -# rcb - -comm_style tiled -balance 0.99 rcb -run 1 - -# rcb again - -balance 0.99 rcb -run 1 - diff --git a/examples/snap/lammps_utils.py b/examples/snap/lammps_utils.py deleted file mode 100644 index ea74459a74..0000000000 --- a/examples/snap/lammps_utils.py +++ /dev/null @@ -1,26 +0,0 @@ -import numpy as np -import ctypes - -def set_cmdlinevars(cmdargs, argdict): - for key in argdict.keys(): - cmdargs += ["-var",key,f"{argdict[key]}"] - return cmdargs - -def extract_commands(string): - return [x for x in string.splitlines() if x.strip() != ''] - -def extract_compute_np(lmp,name,compute_type,result_type,array_shape): - """ - Convert a lammps compute to a numpy array. - Assumes the compute returns a floating point numbers. - Note that the result is a view into the original memory. - If the result type is 0 (scalar) then conversion to numpy is skipped and a python float is returned. - """ - ptr = lmp.extract_compute(name, compute_type, result_type) # 1,2: Style (1) is per-atom compute, returns array type (2). - if result_type == 0: return ptr # No casting needed, lammps.py already works - if result_type == 2: ptr = ptr.contents - total_size = np.prod(array_shape) - buffer_ptr = ctypes.cast(ptr, ctypes.POINTER(ctypes.c_double * total_size)) - array_np = np.frombuffer(buffer_ptr.contents, dtype=float) - array_np.shape = array_shape - return array_np diff --git a/src/ML-SNAP/pair_sna_grid.cpp b/src/ML-SNAP/pair_sna_grid.cpp deleted file mode 100644 index ffb4dfa033..0000000000 --- a/src/ML-SNAP/pair_sna_grid.cpp +++ /dev/null @@ -1,449 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "pair_grid.h" -#include "pair_sna_grid.h" -#include "sna.h" -#include "atom.h" -#include "update.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "force.h" -#include "pair.h" -#include "domain.h" -#include "comm.h" -#include "memory.h" -#include "error.h" -#include "tokenizer.h" - -#include -#include - -using namespace LAMMPS_NS; - -PairSNAGrid::PairSNAGrid(LAMMPS *lmp) : - PairGrid(lmp), - radelem(nullptr), wjelem(nullptr) -{ - snaptr = nullptr; -} - -/* ---------------------------------------------------------------------- */ - -PairSNAGrid::~PairSNAGrid() -{ - memory->destroy(radelem); - memory->destroy(wjelem); - memory->destroy(cutsq); - delete snaptr; - - if (chemflag) memory->destroy(map); -} - -/* ---------------------------------------------------------------------- */ - -void PairSNAGrid::init_style() -{ - if (force->newton_pair == 0) - error->all(FLERR,"Pair style sna/grid requires newton pair on"); - - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); - ncoeff = snaptr->ncoeff; - ndesc = ndesc_base + ncoeff; - snaptr->init(); - -} - -/* ---------------------------------------------------------------------- */ - -void PairSNAGrid::init_list(int /*id*/, NeighList *ptr) -{ - list = ptr; -} - -/* ---------------------------------------------------------------------- */ - -void PairSNAGrid::compute(int eflag, int vflag) -{ - double fij[3]; - - ev_init(eflag,vflag); - - // compute sna for each gridpoint - - double** const x = atom->x; - double **f = atom->f; - const int* const mask = atom->mask; - int * const type = atom->type; - const int ntotal = atom->nlocal + atom->nghost; - - // insure rij, inside, and typej are of size ntotal - - snaptr->grow_rij(ntotal); - - // first generate fingerprint, - // which allows calculation of beta - - for (int iz = nzlo; iz <= nzhi; iz++) - for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { - double xgrid[3]; - grid2x(ix, iy, iz, xgrid); - const double xtmp = xgrid[0]; - const double ytmp = xgrid[1]; - const double ztmp = xgrid[2]; - - // currently, all grid points are type 1 - - const int itype = 1; - int ielem = 0; - if (chemflag) - ielem = map[itype]; - const double radi = radelem[itype]; - - // rij[][3] = displacements between atom I and those neighbors - // inside = indices of neighbors of I within cutoff - // typej = types of neighbors of I within cutoff - - int ninside = 0; - for (int j = 0; j < ntotal; j++) { - - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - int jtype = type[j]; - int jelem = 0; - if (chemflag) - jelem = map[jtype]; - if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { - snaptr->rij[ninside][0] = delx; - snaptr->rij[ninside][1] = dely; - snaptr->rij[ninside][2] = delz; - snaptr->inside[ninside] = j; - snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - snaptr->element[ninside] = jelem; // element index for multi-element snap - ninside++; - } - } - - snaptr->compute_ui(ninside, ielem); - snaptr->compute_zi(); - snaptr->compute_bi(ielem); - - // linear contributions - - for (int icoeff = 0; icoeff < ncoeff; icoeff++) - gridlocal[ndesc_base+icoeff][iz][iy][ix] = - snaptr->blist[icoeff]; - - // quadratic contributions - // untested - - if (quadraticflag) { - int ncount = ncoeff; - for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bveci = snaptr->blist[icoeff]; - gridlocal[ndesc_base+ncount++][iz][iy][ix] = - 0.5*bveci*bveci; - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[ndesc_base+ncount++][iz][iy][ix] = - bveci*snaptr->blist[jcoeff]; - } - } - } - - // this is a proxy for a call to the energy model - // beta is dE/dB^i, the derivative of the total - // energy w.r.t. to descriptors of grid point i - - compute_beta(); - - // second compute forces using beta - - int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) - for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { - double xgrid[3]; - grid2x(ix, iy, iz, xgrid); - const double xtmp = xgrid[0]; - const double ytmp = xgrid[1]; - const double ztmp = xgrid[2]; - - // currently, all grid points are type 1 - - const int itype = 1; - int ielem = 0; - if (chemflag) - ielem = map[itype]; - const double radi = radelem[itype]; - - // rij[][3] = displacements between atom I and those neighbors - // inside = indices of neighbors of I within cutoff - // typej = types of neighbors of I within cutoff - - int ninside = 0; - for (int j = 0; j < ntotal; j++) { - - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - int jtype = type[j]; - int jelem = 0; - jelem = map[jtype]; - - if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { - snaptr->rij[ninside][0] = delx; - snaptr->rij[ninside][1] = dely; - snaptr->rij[ninside][2] = delz; - snaptr->inside[ninside] = j; - snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - if (switchinnerflag) { - snaptr->sinnerij[ninside] = 0.5*(sinnerelem[ielem]+sinnerelem[jelem]); - snaptr->dinnerij[ninside] = 0.5*(dinnerelem[ielem]+dinnerelem[jelem]); - } - if (chemflag) snaptr->element[ninside] = jelem; - ninside++; - } - } - - // compute Ui, Yi for atom I - - if (chemflag) - snaptr->compute_ui(ninside, ielem); - else - snaptr->compute_ui(ninside, 0); - - // for neighbors of I within cutoff: - // compute Fij = dEi/dRj = -dEi/dRi - // add to Fi, subtract from Fj - // scaling is that for type I - - snaptr->compute_yi(beta[igrid]); - - for (int jj = 0; jj < ninside; jj++) { - int j = snaptr->inside[jj]; - snaptr->compute_duidrj(jj); - - snaptr->compute_deidrj(fij); - - f[j][0] += fij[0]; - f[j][1] += fij[1]; - f[j][2] += fij[2]; - - // tally per-atom virial contribution - - if (vflag) - ev_tally_xyz(-1,j,atom->nlocal,force->newton_pair,0.0,0.0, - fij[0],fij[1],fij[2], - -snaptr->rij[jj][0],-snaptr->rij[jj][1], - -snaptr->rij[jj][2]); - } - - // tally energy contribution - - if (eflag) { - - // get descriptors again - - snaptr->compute_zi(); - snaptr->compute_bi(ielem); - - // evdwl = energy of atom I, sum over coeffs_k * Bi_k - - double evdwl = 0.0; - - // E = beta.B - - for (int icoeff = 0; icoeff < ncoeff; icoeff++) - evdwl += beta[igrid][icoeff]*snaptr->blist[icoeff]; - - ev_tally_full(-1,2.0*evdwl,0.0,0.0,0.0,0.0,0.0); - - } - igrid++; - } - - if (vflag_fdotr) virial_fdotr_compute(); - -} - - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSNAGrid::settings(int narg, char ** arg) -{ - - // call base class first - - PairGrid::settings(narg, arg); - - // skip over arguments used by base class - // so that argument positions are identical to - // regular per-atom compute - - arg += nargbase; - narg -= nargbase; - - int ntypes = atom->ntypes; - int nargmin = 3+2*ntypes; - - if (narg < nargmin) error->all(FLERR,"Illegal pair sna/grid command"); - - // default values - - rmin0 = 0.0; - switchflag = 1; - bzeroflag = 1; - quadraticflag = 0; - chemflag = 0; - bnormflag = 0; - wselfallflag = 0; - switchinnerflag = 0; - nelements = 1; - - // process required arguments - - memory->create(radelem,ntypes+1,"pair:sna/grid:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"pair:sna/grid:wjelem"); - - rcutfac = atof(arg[0]); - rfac0 = atof(arg[1]); - twojmax = atoi(arg[2]); - - for(int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[3+i]); - for(int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[3+ntypes+i]); - - // construct cutsq - - double cut; - cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"pair:sna/grid:cutsq"); - for(int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; - if (cut > cutmax) cutmax = cut; - cutsq[i][i] = cut*cut; - for(int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; - } - } - - // set local input checks - - int sinnerflag = 0; - int dinnerflag = 0; - - // process optional args - - int iarg = nargmin; - - while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - rmin0 = atof(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - switchflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - bzeroflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - quadraticflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - chemflag = 1; - memory->create(map,ntypes+1,"pair:sna/grid:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal pair sna/grid command"); - map[i+1] = jelem; - } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - bnormflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - wselfallflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - switchinnerflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { - iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); - for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); - sinnerflag = 1; - iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { - iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal pair sna/grid command"); - memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); - for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); - dinnerflag = 1; - iarg += ntypes; - } else error->all(FLERR,"Illegal pair sna/grid command"); - - } - -} - -/* ---------------------------------------------------------------------- - memory usage -------------------------------------------------------------------------- */ - -double PairSNAGrid::memory_usage() -{ - double nbytes = snaptr->memory_usage(); // SNA object - int n = atom->ntypes+1; - nbytes += (double)n*sizeof(int); // map - - return nbytes; -} - diff --git a/src/ML-SNAP/pair_sna_grid.h b/src/ML-SNAP/pair_sna_grid.h deleted file mode 100644 index 653bb9d1c1..0000000000 --- a/src/ML-SNAP/pair_sna_grid.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS -// clang-format off -PairStyle(sna/grid, PairSNAGrid); -// clang-format on -#else - -#ifndef LMP_PAIR_SNA_GRID_H -#define LMP_PAIR_SNA_GRID_H - -#include "pair_grid.h" - -namespace LAMMPS_NS { - -class PairSNAGrid : public PairGrid { - public: - PairSNAGrid(class LAMMPS *); - ~PairSNAGrid(); - - void init_style(); - void init_list(int, class NeighList *); - void settings(int, char **); - void compute(int, int); - double memory_usage(); - - private: - int ncoeff; - class NeighList *list; - double rcutfac; - double *radelem; - double *wjelem; - class SNA *snaptr; - int quadraticflag; - int twojmax, switchflag, bzeroflag, bnormflag; - int chemflag, wselfallflag; - int switchinnerflag; - double *sinnerelem; - double *dinnerelem; - double rfac0, rmin0; -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Compute sna/grid/local requires a pair style be defined - -Self-explanatory. - -E: Compute sna/grid/local cutoff is longer than pairwise cutoff - -Self-explanatory. - -W: More than one compute sna/grid/local - -Self-explanatory. - -*/ diff --git a/src/pair_grid.cpp b/src/pair_grid.cpp deleted file mode 100644 index 1f17553055..0000000000 --- a/src/pair_grid.cpp +++ /dev/null @@ -1,328 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "pair_grid.h" -#include -#include -#include "atom.h" -#include "update.h" -#include "modify.h" -#include "domain.h" -#include "force.h" -#include "memory.h" -#include "error.h" -#include "comm.h" - -#define BETA_CONST 1.0e-2 - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -PairGrid::PairGrid(LAMMPS *lmp) : - Pair(lmp), gridlocal(nullptr), alocal(nullptr), beta(nullptr) -{ - single_enable = 0; - restartinfo = 0; - one_coeff = 1; - manybody_flag = 1; - centroidstressflag = CENTROID_NOTAVAIL; - - ndesc = 0; - ngridlocal = 0; - - ndesc_base = 6; - gridlocal_allocated = 0; - beta_max = 0; - beta = nullptr; -} - -/* ---------------------------------------------------------------------- */ - -PairGrid::~PairGrid() -{ - if (copymode) return; - deallocate_grid(); -} - -/* ---------------------------------------------------------------------- */ - -void PairGrid::setup() -{ - deallocate_grid(); - set_grid_global(); - set_grid_local(); - allocate_grid(); - assign_coords(); -} - -/* ---------------------------------------------------------------------- - convert global array indexes to box coords -------------------------------------------------------------------------- */ - -void PairGrid::grid2x(int ix, int iy, int iz, double *x) -{ - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; - - if (triclinic) domain->lamda2x(x, x); -} - -/* ---------------------------------------------------------------------- - create arrays -------------------------------------------------------------------------- */ - -void PairGrid::allocate_grid() -{ - if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { - gridlocal_allocated = 1; - memory->create4d_offset(gridlocal,ndesc,nzlo,nzhi,nylo,nyhi, - nxlo,nxhi,"pair/grid:gridlocal"); - memory->create(alocal, ngridlocal, ndesc, "pair/grid:alocal"); - memory->create(beta, ngridlocal, ndesc-ndesc_base, "pair/grid:beta"); - } -} - -/* ---------------------------------------------------------------------- - free arrays -------------------------------------------------------------------------- */ - -void PairGrid::deallocate_grid() -{ - if (gridlocal_allocated) { - gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); - memory->destroy(alocal); - memory->destroy(beta); - } -} - -/* ---------------------------------------------------------------------- - set global grid -------------------------------------------------------------------------- */ - -void PairGrid::set_grid_global() -{ - // calculate grid layout - - triclinic = domain->triclinic; - - if (triclinic == 0) { - prd = domain->prd; - boxlo = domain->boxlo; - sublo = domain->sublo; - subhi = domain->subhi; - } else { - prd = domain->prd_lamda; - boxlo = domain->boxlo_lamda; - sublo = domain->sublo_lamda; - subhi = domain->subhi_lamda; - } - - double xprd = prd[0]; - double yprd = prd[1]; - double zprd = prd[2]; - - delxinv = nx/xprd; - delyinv = ny/yprd; - delzinv = nz/zprd; - - delx = 1.0/delxinv; - dely = 1.0/delyinv; - delz = 1.0/delzinv; -} - -/* ---------------------------------------------------------------------- - set local subset of grid that I own - n xyz lo/hi = 3d brick that I own (inclusive) -------------------------------------------------------------------------- */ - -void PairGrid::set_grid_local() -{ - // nx,ny,nz = extent of global grid - // indices into the global grid range from 0 to N-1 in each dim - // if grid point is inside my sub-domain I own it, - // this includes sub-domain lo boundary but excludes hi boundary - // ixyz lo/hi = inclusive lo/hi bounds of global grid sub-brick I own - // if proc owns no grid cells in a dim, then ilo > ihi - // if 2 procs share a boundary a grid point is exactly on, - // the 2 equality if tests insure a consistent decision - // as to which proc owns it - - double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; - - if (comm->layout != Comm::LAYOUT_TILED) { - xfraclo = comm->xsplit[comm->myloc[0]]; - xfrachi = comm->xsplit[comm->myloc[0]+1]; - yfraclo = comm->ysplit[comm->myloc[1]]; - yfrachi = comm->ysplit[comm->myloc[1]+1]; - zfraclo = comm->zsplit[comm->myloc[2]]; - zfrachi = comm->zsplit[comm->myloc[2]+1]; - } else { - xfraclo = comm->mysplit[0][0]; - xfrachi = comm->mysplit[0][1]; - yfraclo = comm->mysplit[1][0]; - yfrachi = comm->mysplit[1][1]; - zfraclo = comm->mysplit[2][0]; - zfrachi = comm->mysplit[2][1]; - } - - nxlo = static_cast (xfraclo * nx); - if (1.0*nxlo != xfraclo*nx) nxlo++; - nxhi = static_cast (xfrachi * nx); - if (1.0*nxhi == xfrachi*nx) nxhi--; - - nylo = static_cast (yfraclo * ny); - if (1.0*nylo != yfraclo*ny) nylo++; - nyhi = static_cast (yfrachi * ny); - if (1.0*nyhi == yfrachi*ny) nyhi--; - - nzlo = static_cast (zfraclo * nz); - if (1.0*nzlo != zfraclo*nz) nzlo++; - nzhi = static_cast (zfrachi * nz); - if (1.0*nzhi == zfrachi*nz) nzhi--; - - ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); -} - -/* ---------------------------------------------------------------------- - copy coords to local array -------------------------------------------------------------------------- */ - -void PairGrid::assign_coords() -{ - int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) - for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { - alocal[igrid][0] = ix; - alocal[igrid][1] = iy; - alocal[igrid][2] = iz; - double xgrid[3]; - grid2x(ix, iy, iz, xgrid); - alocal[igrid][3] = xgrid[0]; - alocal[igrid][4] = xgrid[1]; - alocal[igrid][5] = xgrid[2]; - igrid++; - } -} - -/* ---------------------------------------------------------------------- - copy the 4d gridlocal array values to the 2d local array -------------------------------------------------------------------------- */ - -void PairGrid::copy_gridlocal_to_local_array() -{ - int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) - for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { - for (int icol = ndesc_base; icol < ndesc; icol++) - alocal[igrid][icol] = gridlocal[icol][iz][iy][ix]; - igrid++; - } -} - -/* ---------------------------------------------------------------------- - calculate beta -------------------------------------------------------------------------- */ - - // this is a proxy for a call to the energy model - // beta is dE/dB^i, the derivative of the total - // energy w.r.t. to descriptors of grid point i - -void PairGrid::compute_beta() -{ - int igrid = 0; - for (int iz = nzlo; iz <= nzhi; iz++) - for (int iy = nylo; iy <= nyhi; iy++) - for (int ix = nxlo; ix <= nxhi; ix++) { - for (int icol = 0; icol < ndesc-ndesc_base; icol++) - beta[igrid][icol] = BETA_CONST; - igrid++; - } -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairGrid::allocate() -{ - allocated = 1; - int n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - map = new int[n+1]; -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairGrid::settings(int narg, char ** arg) -{ - if (narg < 4) error->all(FLERR,"Illegal pair style command"); - int iarg0 = 0; - int iarg = iarg0; - if (strcmp(arg[iarg],"grid") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal pair grid command"); - nx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - ny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - nz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); - if (nx <= 0 || ny <= 0 || nz <= 0) - error->all(FLERR,"All grid/local dimensions must be positive"); - iarg += 4; - } else error->all(FLERR,"Illegal pair grid command"); - nargbase = iarg - iarg0; -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type pairs -------------------------------------------------------------------------- */ - -void PairGrid::coeff(int narg, char **arg) -{ - if (!allocated) allocate(); - if (narg < 2) error->all(FLERR,"Incorrect args for pair coefficients"); - // if (narg != 2 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); - - map_element2type(narg-2,arg+2); - // map_element2type(0,nullptr); - -} - -/* ---------------------------------------------------------------------- - return maximum force cut off distance -------------------------------------------------------------------------- */ - -double PairGrid::init_one(int i, int j) -{ - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - return cutmax; -} - -/* ---------------------------------------------------------------------- - memory usage of local data -------------------------------------------------------------------------- */ - -double PairGrid::memory_usage() -{ - int nbytes = ndesc*ngridlocal*sizeof(double); // gridlocal - return nbytes; -} diff --git a/src/pair_grid.h b/src/pair_grid.h deleted file mode 100644 index b5bf7ad9ef..0000000000 --- a/src/pair_grid.h +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS -// clang-format off -PairStyle(grid,PairGrid); -// clang-format on -#else - -#ifndef LMP_PAIR_GRID_H -#define LMP_PAIR_GRID_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairGrid : public Pair { - public: - PairGrid(class LAMMPS *); - virtual ~PairGrid(); - virtual void init_style(){}; - void setup(); - virtual void compute(int, int) { - printf("DANGER! This function should always be overridden by child\n"); - }; - - void settings(int, char **); - virtual void coeff(int, char **); - virtual double init_one(int, int); - double memory_usage(); - - protected: - int nx, ny, nz; // global grid dimensions - int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive - int ngridlocal; // number of local grid points - int nvalues; // number of values per grid point - double ****gridlocal; // local grid, redundant w.r.t. alocal - double **alocal; // pointer to Compute::array_local - int triclinic; // triclinic flag - double *boxlo, *prd; // box info (units real/ortho or reduced/tri) - double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) - double delxinv,delyinv,delzinv; // inverse grid spacing - double delx,dely,delz; // grid spacing - int nargbase; // number of base class args - double cutmax; // largest cutoff distance - int ndesc; // number of descriptors - int ndesc_base; // number of columns used for coords, etc. - int gridlocal_allocated; // shows if gridlocal allocated - double **beta; // betas for all local grid points in list - int beta_max; // length of beta - - void allocate(); // allocate pairstyle arrays - void allocate_grid(); // create grid arrays - void deallocate_grid(); // free grid arrays - void grid2x(int, int, int, double*); // convert global indices to coordinates - void set_grid_global(); // set global grid - void set_grid_local(); // set bounds for local grid - void assign_coords(); // assign coords for grid - void copy_gridlocal_to_local_array();// copy 4d gridlocal array to 2d local array - void compute_beta(); // get betas from someplace - private: -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -*/ From f27e9941ae839c28f123f58df497ae2ec38acb81 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 12:48:24 -0400 Subject: [PATCH 082/153] fix homepage urls, tabs & trailing whitespace, remove errors from headers --- doc/src/compute.rst | 4 +- doc/src/compute_sna_atom.rst | 10 +- src/ML-SNAP/compute_sna_grid.cpp | 136 ++++++++++++------------- src/ML-SNAP/compute_sna_grid.h | 18 +--- src/ML-SNAP/compute_sna_grid_local.cpp | 132 ++++++++++++------------ src/ML-SNAP/compute_sna_grid_local.h | 16 +-- src/compute_grid.cpp | 10 +- src/compute_grid.h | 14 +-- src/compute_grid_local.cpp | 46 ++++----- src/compute_grid_local.h | 14 +-- 10 files changed, 175 insertions(+), 225 deletions(-) diff --git a/doc/src/compute.rst b/doc/src/compute.rst index cf17433035..508c440e78 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -284,8 +284,8 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`smd/vol ` - per-particle volumes and their sum in Smooth Mach Dynamics * :doc:`snap ` - gradients of SNAP energy and forces w.r.t. linear coefficients and related quantities for fitting SNAP potentials * :doc:`sna/atom ` - bispectrum components for each atom -* :doc:`sna/grid ` - global array of bispectrum components on a regular grid -* :doc:`sna/grid/local ` - local array of bispectrum components on a regular grid +* :doc:`sna/grid ` - global array of bispectrum components on a regular grid +* :doc:`sna/grid/local ` - local array of bispectrum components on a regular grid * :doc:`snad/atom ` - derivative of bispectrum components for each atom * :doc:`snav/atom ` - virial contribution from bispectrum components for each atom * :doc:`sph/e/atom ` - per-atom internal energy of Smooth-Particle Hydrodynamics atoms diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 2bbee1e6b6..5f777685fd 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -35,7 +35,7 @@ Syntax * twojmax = band limit for bispectrum components (non-negative integer) * R_1, R_2,... = list of cutoff radii, one for each type (distance units) * w_1, w_2,... = list of neighbor weights, one for each type -* nx, ny, nz = number of grid points in x, y, and z directions (positive integer) +* nx, ny, nz = number of grid points in x, y, and z directions (positive integer) * zero or more keyword/value pairs may be appended * keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* or *chem* or *bnormflag* or *wselfallflag* or *bikflag* or *switchinnerflag* or *sinner* or *dinner* @@ -223,7 +223,7 @@ These are calculated from the local density of nearby atoms *i'* around each grid point, as if there was a central atom *i* at the grid point. This is useful for characterizing fine-scale structure in a configuration of atoms, and it has been used -to build a machine-learning surrogate for finite-temperature Kohn-Sham +to build a machine-learning surrogate for finite-temperature Kohn-Sham density functional theory (:ref:`Ellis et al. `). Neighbor atoms not in the group do not contribute to the bispectrum components of the grid points. The distance cutoff :math:`R_{ii'}` @@ -231,7 +231,7 @@ and other parameters are defined as for a central atom with the same type as the neighbor atoms *i'*. Compute *sna/grid* calculates a global array containing bispectrum -components for a regular grid of points. +components for a regular grid of points. The grid is aligned with the current box dimensions, with the first point at the box origin, and forming a regular 3d array with *nx*, *ny*, and *nz* points in the x, y, and z directions. For triclinic @@ -720,7 +720,7 @@ The array contains one row for each of the :math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest, then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*, and *z* coordinates of the grid point, followed by the bispectrum -components. +components. Compute *sna/grid/local* evaluates a local array. The array contains one row for each of the @@ -754,7 +754,7 @@ The optional keyword defaults are *rmin0* = 0, .. _Thompson20141: **(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, J Comp Phys, 285, 316, (2015). - + .. _Bartok20101: **(Bartok)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 1d868ba769..8247771493 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -41,7 +41,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; // skip over arguments used by base class - // so that argument positions are identical to + // so that argument positions are identical to // regular per-atom compute arg += nargbase; @@ -63,7 +63,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : wselfallflag = 0; switchinnerflag = 0; nelements = 1; - + // process required arguments memory->create(radelem,ntypes+1,"sna/grid:radelem"); // offset by 1 to match up with types @@ -175,14 +175,14 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all(FLERR,"Illegal compute sna/grid command: switchinnerflag = 1, missing sinner/dinner keyword"); - + if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all(FLERR,"Illegal compute sna/grid command: switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + nelements, switchinnerflag); ncoeff = snaptr->ncoeff; nvalues = ncoeff; @@ -236,83 +236,83 @@ void ComputeSNAGrid::compute_array() const int ntotal = atom->nlocal + atom->nghost; // insure rij, inside, and typej are of size jnum - + snaptr->grow_rij(ntotal); for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - double xgrid[3]; - const int igrid = iz*(nx*ny) + iy*nx + ix; - grid2x(igrid, xgrid); - const double xtmp = xgrid[0]; - const double ytmp = xgrid[1]; - const double ztmp = xgrid[2]; + double xgrid[3]; + const int igrid = iz*(nx*ny) + iy*nx + ix; + grid2x(igrid, xgrid); + const double xtmp = xgrid[0]; + const double ytmp = xgrid[1]; + const double ztmp = xgrid[2]; - // currently, all grid points are type 1 - - const int itype = 1; - int ielem = 0; - if (chemflag) - ielem = map[itype]; - const double radi = radelem[itype]; + // currently, all grid points are type 1 - // rij[][3] = displacements between atom I and those neighbors - // inside = indices of neighbors of I within cutoff - // typej = types of neighbors of I within cutoff + const int itype = 1; + int ielem = 0; + if (chemflag) + ielem = map[itype]; + const double radi = radelem[itype]; - int ninside = 0; - for (int j = 0; j < ntotal; j++) { + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff - // check that j is in compute group + int ninside = 0; + for (int j = 0; j < ntotal; j++) { - if (!(mask[j] & groupbit)) continue; + // check that j is in compute group - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - int jtype = type[j]; - int jelem = 0; - if (chemflag) + if (!(mask[j] & groupbit)) continue; + + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + int jelem = 0; + if (chemflag) jelem = map[jtype]; - if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { - snaptr->rij[ninside][0] = delx; - snaptr->rij[ninside][1] = dely; - snaptr->rij[ninside][2] = delz; - snaptr->inside[ninside] = j; - snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - if (switchinnerflag) { - snaptr->sinnerij[ninside] = sinnerelem[jelem]; - snaptr->dinnerij[ninside] = dinnerelem[jelem]; - } - if (chemflag) snaptr->element[ninside] = jelem; - ninside++; - } - } + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + if (switchinnerflag) { + snaptr->sinnerij[ninside] = sinnerelem[jelem]; + snaptr->dinnerij[ninside] = dinnerelem[jelem]; + } + if (chemflag) snaptr->element[ninside] = jelem; + ninside++; + } + } - snaptr->compute_ui(ninside, ielem); - snaptr->compute_zi(); - snaptr->compute_bi(ielem); + snaptr->compute_ui(ninside, ielem); + snaptr->compute_zi(); + snaptr->compute_bi(ielem); - // linear contributions + // linear contributions - for (int icoeff = 0; icoeff < ncoeff; icoeff++) - gridlocal[size_array_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; - - // quadratic contributions + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + gridlocal[size_array_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; - if (quadraticflag) { - int ncount = ncoeff; - for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bveci = snaptr->blist[icoeff]; - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bveci*bveci; - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bveci*snaptr->blist[jcoeff]; - } - } + // quadratic contributions + + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bveci = snaptr->blist[icoeff]; + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bveci*bveci; + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bveci*snaptr->blist[jcoeff]; + } + } } memset(&grid[0][0],0,size_array_rows*size_array_cols*sizeof(double)); @@ -320,9 +320,9 @@ void ComputeSNAGrid::compute_array() for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - const int igrid = iz*(nx*ny) + iy*nx + ix; - for (int j = 0; j < nvalues; j++) - grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; + const int igrid = iz*(nx*ny) + iy*nx + ix; + for (int j = 0; j < nvalues; j++) + grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; } MPI_Allreduce(&grid[0][0],&gridall[0][0],size_array_rows*size_array_cols,MPI_DOUBLE,MPI_SUM,world); assign_coords_all(); diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index c203ce8bb4..9bc3da8112 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -54,19 +54,3 @@ class ComputeSNAGrid : public ComputeGrid { #endif #endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -Self-explanatory. - -W: More than one compute sna/grid - -Self-explanatory. - -*/ diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 1dacc28617..70b5b362d8 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -41,7 +41,7 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; // skip over arguments used by base class - // so that argument positions are identical to + // so that argument positions are identical to // regular per-atom compute arg += nargbase; @@ -63,7 +63,7 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : wselfallflag = 0; switchinnerflag = 0; nelements = 1; - + // set local input checks int sinnerflag = 0; @@ -175,14 +175,14 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all(FLERR,"Illegal compute sna/grid/local command: switchinnerflag = 1, missing sinner/dinner keyword"); - + if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all(FLERR,"Illegal compute sna/grid/local command: switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + nelements, switchinnerflag); ncoeff = snaptr->ncoeff; nvalues = ncoeff; @@ -235,84 +235,84 @@ void ComputeSNAGridLocal::compute_local() const int ntotal = atom->nlocal + atom->nghost; // insure rij, inside, and typej are of size jnum - + snaptr->grow_rij(ntotal); int igrid = 0; for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - double xgrid[3]; - grid2x(ix, iy, iz, xgrid); - const double xtmp = xgrid[0]; - const double ytmp = xgrid[1]; - const double ztmp = xgrid[2]; + double xgrid[3]; + grid2x(ix, iy, iz, xgrid); + const double xtmp = xgrid[0]; + const double ytmp = xgrid[1]; + const double ztmp = xgrid[2]; - // currently, all grid points are type 1 - - const int itype = 1; - int ielem = 0; - if (chemflag) - ielem = map[itype]; - const double radi = radelem[itype]; + // currently, all grid points are type 1 - // rij[][3] = displacements between atom I and those neighbors - // inside = indices of neighbors of I within cutoff - // typej = types of neighbors of I within cutoff + const int itype = 1; + int ielem = 0; + if (chemflag) + ielem = map[itype]; + const double radi = radelem[itype]; - int ninside = 0; - for (int j = 0; j < ntotal; j++) { + // rij[][3] = displacements between atom I and those neighbors + // inside = indices of neighbors of I within cutoff + // typej = types of neighbors of I within cutoff - // check that j is in compute group + int ninside = 0; + for (int j = 0; j < ntotal; j++) { - if (!(mask[j] & groupbit)) continue; + // check that j is in compute group - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - int jtype = type[j]; - int jelem = 0; - if (chemflag) - jelem = map[jtype]; - if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { - snaptr->rij[ninside][0] = delx; - snaptr->rij[ninside][1] = dely; - snaptr->rij[ninside][2] = delz; - snaptr->inside[ninside] = j; - snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; - if (switchinnerflag) { - snaptr->sinnerij[ninside] = sinnerelem[jelem]; - snaptr->dinnerij[ninside] = dinnerelem[jelem]; - } - if (chemflag) snaptr->element[ninside] = jelem; // element index for multi-element snap - ninside++; - } - } + if (!(mask[j] & groupbit)) continue; - snaptr->compute_ui(ninside, ielem); - snaptr->compute_zi(); - snaptr->compute_bi(ielem); + const double delx = xtmp - x[j][0]; + const double dely = ytmp - x[j][1]; + const double delz = ztmp - x[j][2]; + const double rsq = delx*delx + dely*dely + delz*delz; + int jtype = type[j]; + int jelem = 0; + if (chemflag) + jelem = map[jtype]; + if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { + snaptr->rij[ninside][0] = delx; + snaptr->rij[ninside][1] = dely; + snaptr->rij[ninside][2] = delz; + snaptr->inside[ninside] = j; + snaptr->wj[ninside] = wjelem[jtype]; + snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + if (switchinnerflag) { + snaptr->sinnerij[ninside] = sinnerelem[jelem]; + snaptr->dinnerij[ninside] = dinnerelem[jelem]; + } + if (chemflag) snaptr->element[ninside] = jelem; // element index for multi-element snap + ninside++; + } + } - // linear contributions + snaptr->compute_ui(ninside, ielem); + snaptr->compute_zi(); + snaptr->compute_bi(ielem); - for (int icoeff = 0; icoeff < ncoeff; icoeff++) - alocal[igrid][size_local_cols_base+icoeff] = snaptr->blist[icoeff]; + // linear contributions - // quadratic contributions + for (int icoeff = 0; icoeff < ncoeff; icoeff++) + alocal[igrid][size_local_cols_base+icoeff] = snaptr->blist[icoeff]; - if (quadraticflag) { - int ncount = ncoeff; - for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bveci = snaptr->blist[icoeff]; - alocal[igrid][size_local_cols_base+ncount++] = 0.5*bveci*bveci; - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - alocal[igrid][size_local_cols_base+ncount++] = - bveci*snaptr->blist[jcoeff]; - } - } - igrid++; + // quadratic contributions + + if (quadraticflag) { + int ncount = ncoeff; + for (int icoeff = 0; icoeff < ncoeff; icoeff++) { + double bveci = snaptr->blist[icoeff]; + alocal[igrid][size_local_cols_base+ncount++] = 0.5*bveci*bveci; + for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) + alocal[igrid][size_local_cols_base+ncount++] = + bveci*snaptr->blist[jcoeff]; + } + } + igrid++; } } diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h index 5ce40069ee..69a2c528fc 100644 --- a/src/ML-SNAP/compute_sna_grid_local.h +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -54,17 +54,3 @@ class ComputeSNAGridLocal : public ComputeGridLocal { #endif #endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -W: More than one compute sna/grid/local - -Self-explanatory. - -*/ diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index dd21b731e8..60c9987cbc 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -128,7 +128,7 @@ void ComputeGrid::allocate() if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, - nxlo,nxhi,"grid:gridlocal"); + nxlo,nxhi,"grid:gridlocal"); } array = gridall; } @@ -179,7 +179,7 @@ void ComputeGrid::set_grid_global() delxinv = nx/xprd; delyinv = ny/yprd; delzinv = nz/zprd; - + delx = 1.0/delxinv; dely = 1.0/delyinv; delz = 1.0/delzinv; @@ -245,9 +245,9 @@ void ComputeGrid::set_grid_local() double ComputeGrid::memory_usage() { - double nbytes = size_array_rows*size_array_cols * + double nbytes = size_array_rows*size_array_cols * sizeof(double); // grid - nbytes += size_array_rows*size_array_cols * + nbytes += size_array_rows*size_array_cols * sizeof(double); // gridall nbytes += size_array_cols*ngridlocal*sizeof(double); // gridlocal return nbytes; diff --git a/src/compute_grid.h b/src/compute_grid.h index 7bda1a89fa..b0214b2b15 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -42,7 +42,7 @@ class ComputeGrid : public Compute { double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) double delxinv,delyinv,delzinv; // inverse grid spacing double delx,dely,delz; // grid spacing - int nargbase; // number of base class args + int nargbase; // number of base class args double cutmax; // largest cutoff distance int size_array_cols_base; // number of columns used for coords, etc. int gridlocal_allocated; // shows if gridlocal allocated @@ -59,13 +59,3 @@ class ComputeGrid : public Compute { } #endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -*/ diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index bcc56c3abd..e30d06fe45 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -164,7 +164,7 @@ void ComputeGridLocal::set_grid_global() delxinv = nx/xprd; delyinv = ny/yprd; delzinv = nz/zprd; - + delx = 1.0/delxinv; dely = 1.0/delyinv; delz = 1.0/delzinv; @@ -233,34 +233,34 @@ void ComputeGridLocal::assign_coords() for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - alocal[igrid][0] = ix; - alocal[igrid][1] = iy; - alocal[igrid][2] = iz; - double xgrid[3]; + alocal[igrid][0] = ix; + alocal[igrid][1] = iy; + alocal[igrid][2] = iz; + double xgrid[3]; - // for triclinic: create gridpoint in lamda coordinates and transform after check. - // for orthorombic: create gridpoint in box coordinates. + // for triclinic: create gridpoint in lamda coordinates and transform after check. + // for orthorombic: create gridpoint in box coordinates. - if (triclinic) - grid2lamda(ix, iy, iz, xgrid); - else - grid2x(ix, iy, iz, xgrid); + if (triclinic) + grid2lamda(ix, iy, iz, xgrid); + else + grid2x(ix, iy, iz, xgrid); - // ensure gridpoint is not strictly outside subdomain + // ensure gridpoint is not strictly outside subdomain - if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || - (sublo[1]-xgrid[1]) > EPSILON || (xgrid[1]-subhi[1]) > EPSILON || - (sublo[2]-xgrid[2]) > EPSILON || (xgrid[2]-subhi[2]) > EPSILON) - error->one(FLERR,"Invalid gridpoint position in compute grid/local"); + if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || + (sublo[1]-xgrid[1]) > EPSILON || (xgrid[1]-subhi[1]) > EPSILON || + (sublo[2]-xgrid[2]) > EPSILON || (xgrid[2]-subhi[2]) > EPSILON) + error->one(FLERR,"Invalid gridpoint position in compute grid/local"); - // convert lamda to x, y, z, after sudomain check + // convert lamda to x, y, z, after sudomain check - if (triclinic) domain->lamda2x(xgrid, xgrid); + if (triclinic) domain->lamda2x(xgrid, xgrid); - alocal[igrid][3] = xgrid[0]; - alocal[igrid][4] = xgrid[1]; - alocal[igrid][5] = xgrid[2]; - igrid++; + alocal[igrid][3] = xgrid[0]; + alocal[igrid][4] = xgrid[1]; + alocal[igrid][5] = xgrid[2]; + igrid++; } } diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index 15ea8ca47f..5c5611250b 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -39,7 +39,7 @@ class ComputeGridLocal : public Compute { double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) double delxinv,delyinv,delzinv; // inverse grid spacing double delx,dely,delz; // grid spacing - int nargbase; // number of base class args + int nargbase; // number of base class args double cutmax; // largest cutoff distance int size_local_cols_base; // number of columns used for coords, etc. int gridlocal_allocated; // shows if gridlocal allocated @@ -57,13 +57,3 @@ class ComputeGridLocal : public Compute { } #endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -*/ From 185d5cdc0fda9d6511b3084ff718998aff7eba09 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 12:50:54 -0400 Subject: [PATCH 083/153] update .gitignore --- src/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index de157734fc..198dcdc290 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -179,6 +179,10 @@ /compute_snad_atom.h /compute_snav_atom.cpp /compute_snav_atom.h +/compute_sna_grid.cpp +/compute_sna_grid.h +/compute_sna_grid_local.cpp +/compute_sna_grid_local.h /compute_snap.cpp /compute_snap.h /openmp_snap.h From db3363649a9765a8dd6043132221a3bb0553cc7b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 17 Jun 2022 11:00:59 -0600 Subject: [PATCH 084/153] dated example files --- examples/mdi/README | 55 +- examples/mdi/Run.sh | 8 +- examples/mdi/dump.17Jun22.series.alone.1 | 1527 +++++++++++++ examples/mdi/dump.17Jun22.series.driver.mpi.1 | 1527 +++++++++++++ examples/mdi/dump.17Jun22.series.driver.mpi.4 | 1527 +++++++++++++ .../mdi/dump.17Jun22.series.driver.plugin.1 | 1527 +++++++++++++ .../mdi/dump.17Jun22.series.driver.plugin.3 | 1527 +++++++++++++ examples/mdi/dump.17Jun22.series.driver.tcp.1 | 1527 +++++++++++++ examples/mdi/dump.17Jun22.series.driver.tcp.4 | 1527 +++++++++++++ examples/mdi/dump.17Jun22.snapshot.alone.1 | 2036 +++++++++++++++++ .../mdi/dump.17Jun22.snapshot.driver.mpi.1 | 2036 +++++++++++++++++ .../mdi/dump.17Jun22.snapshot.driver.mpi.4 | 2036 +++++++++++++++++ .../mdi/dump.17Jun22.snapshot.driver.plugin.1 | 2036 +++++++++++++++++ .../mdi/dump.17Jun22.snapshot.driver.plugin.3 | 2036 +++++++++++++++++ .../mdi/dump.17Jun22.snapshot.driver.tcp.1 | 2036 +++++++++++++++++ .../mdi/dump.17Jun22.snapshot.driver.tcp.4 | 2036 +++++++++++++++++ examples/mdi/log.17Jun22.aimd.alone.1 | 95 + examples/mdi/log.17Jun22.aimd.driver.mpi.1 | 83 + examples/mdi/log.17Jun22.aimd.driver.mpi.3 | 83 + examples/mdi/log.17Jun22.aimd.driver.plugin.1 | 84 + examples/mdi/log.17Jun22.aimd.driver.plugin.3 | 84 + examples/mdi/log.17Jun22.aimd.driver.tcp.1 | 83 + examples/mdi/log.17Jun22.aimd.driver.tcp.3 | 83 + examples/mdi/log.17Jun22.aimd.engine.mpi.1 | 55 + examples/mdi/log.17Jun22.aimd.engine.mpi.4 | 55 + examples/mdi/log.17Jun22.aimd.engine.plugin.1 | 55 + examples/mdi/log.17Jun22.aimd.engine.plugin.3 | 55 + examples/mdi/log.17Jun22.aimd.engine.tcp.1 | 55 + examples/mdi/log.17Jun22.aimd.engine.tcp.4 | 55 + examples/mdi/log.17Jun22.aimdpy.driver.mpi.1 | 77 + examples/mdi/log.17Jun22.aimdpy.driver.mpi.2 | 77 + examples/mdi/log.17Jun22.aimdpy.driver.tcp.1 | 11 + examples/mdi/log.17Jun22.aimdpy.driver.tcp.2 | 11 + examples/mdi/log.17Jun22.aimdpy.mm.mpi.1 | 49 + examples/mdi/log.17Jun22.aimdpy.mm.mpi.2 | 49 + examples/mdi/log.17Jun22.aimdpy.mm.tcp.1 | 49 + examples/mdi/log.17Jun22.aimdpy.mm.tcp.2 | 49 + examples/mdi/log.17Jun22.aimdpy.qm.mpi.1 | 60 + examples/mdi/log.17Jun22.aimdpy.qm.mpi.3 | 60 + examples/mdi/log.17Jun22.aimdpy.qm.tcp.1 | 60 + examples/mdi/log.17Jun22.aimdpy.qm.tcp.3 | 60 + .../mdi/log.17Jun22.sequence.engine.mpi.1 | 90 + .../mdi/log.17Jun22.sequence.engine.mpi.4 | 90 + .../mdi/log.17Jun22.sequence.engine.plugin.1 | 90 + .../mdi/log.17Jun22.sequence.engine.plugin.3 | 90 + .../mdi/log.17Jun22.sequence.engine.tcp.1 | 90 + .../mdi/log.17Jun22.sequence.engine.tcp.4 | 90 + examples/mdi/log.17Jun22.series.alone.1 | 248 ++ examples/mdi/log.17Jun22.series.driver.mpi.1 | 213 ++ examples/mdi/log.17Jun22.series.driver.mpi.3 | 213 ++ .../mdi/log.17Jun22.series.driver.plugin.1 | 212 ++ .../mdi/log.17Jun22.series.driver.plugin.3 | 212 ++ examples/mdi/log.17Jun22.series.driver.tcp.1 | 213 ++ examples/mdi/log.17Jun22.series.driver.tcp.3 | 213 ++ examples/mdi/log.17Jun22.series.engine.mpi.1 | 58 + examples/mdi/log.17Jun22.series.engine.mpi.4 | 58 + .../mdi/log.17Jun22.series.engine.plugin.1 | 42 + .../mdi/log.17Jun22.series.engine.plugin.3 | 42 + examples/mdi/log.17Jun22.series.engine.tcp.1 | 58 + examples/mdi/log.17Jun22.series.engine.tcp.4 | 58 + examples/mdi/log.17Jun22.snapshot.alone.1 | 82 + .../mdi/log.17Jun22.snapshot.driver.mpi.1 | 105 + .../mdi/log.17Jun22.snapshot.driver.mpi.3 | 105 + .../mdi/log.17Jun22.snapshot.driver.plugin.1 | 118 + .../mdi/log.17Jun22.snapshot.driver.plugin.3 | 118 + .../mdi/log.17Jun22.snapshot.driver.tcp.1 | 105 + .../mdi/log.17Jun22.snapshot.driver.tcp.3 | 105 + .../mdi/log.17Jun22.snapshot.engine.mpi.1 | 45 + .../mdi/log.17Jun22.snapshot.engine.mpi.3 | 45 + .../mdi/log.17Jun22.snapshot.engine.plugin.1 | 45 + .../mdi/log.17Jun22.snapshot.engine.plugin.3 | 45 + .../mdi/log.17Jun22.snapshot.engine.tcp.1 | 45 + .../mdi/log.17Jun22.snapshot.engine.tcp.4 | 45 + 73 files changed, 29906 insertions(+), 23 deletions(-) create mode 100644 examples/mdi/dump.17Jun22.series.alone.1 create mode 100644 examples/mdi/dump.17Jun22.series.driver.mpi.1 create mode 100644 examples/mdi/dump.17Jun22.series.driver.mpi.4 create mode 100644 examples/mdi/dump.17Jun22.series.driver.plugin.1 create mode 100644 examples/mdi/dump.17Jun22.series.driver.plugin.3 create mode 100644 examples/mdi/dump.17Jun22.series.driver.tcp.1 create mode 100644 examples/mdi/dump.17Jun22.series.driver.tcp.4 create mode 100644 examples/mdi/dump.17Jun22.snapshot.alone.1 create mode 100644 examples/mdi/dump.17Jun22.snapshot.driver.mpi.1 create mode 100644 examples/mdi/dump.17Jun22.snapshot.driver.mpi.4 create mode 100644 examples/mdi/dump.17Jun22.snapshot.driver.plugin.1 create mode 100644 examples/mdi/dump.17Jun22.snapshot.driver.plugin.3 create mode 100644 examples/mdi/dump.17Jun22.snapshot.driver.tcp.1 create mode 100644 examples/mdi/dump.17Jun22.snapshot.driver.tcp.4 create mode 100644 examples/mdi/log.17Jun22.aimd.alone.1 create mode 100644 examples/mdi/log.17Jun22.aimd.driver.mpi.1 create mode 100644 examples/mdi/log.17Jun22.aimd.driver.mpi.3 create mode 100644 examples/mdi/log.17Jun22.aimd.driver.plugin.1 create mode 100644 examples/mdi/log.17Jun22.aimd.driver.plugin.3 create mode 100644 examples/mdi/log.17Jun22.aimd.driver.tcp.1 create mode 100644 examples/mdi/log.17Jun22.aimd.driver.tcp.3 create mode 100644 examples/mdi/log.17Jun22.aimd.engine.mpi.1 create mode 100644 examples/mdi/log.17Jun22.aimd.engine.mpi.4 create mode 100644 examples/mdi/log.17Jun22.aimd.engine.plugin.1 create mode 100644 examples/mdi/log.17Jun22.aimd.engine.plugin.3 create mode 100644 examples/mdi/log.17Jun22.aimd.engine.tcp.1 create mode 100644 examples/mdi/log.17Jun22.aimd.engine.tcp.4 create mode 100644 examples/mdi/log.17Jun22.aimdpy.driver.mpi.1 create mode 100644 examples/mdi/log.17Jun22.aimdpy.driver.mpi.2 create mode 100644 examples/mdi/log.17Jun22.aimdpy.driver.tcp.1 create mode 100644 examples/mdi/log.17Jun22.aimdpy.driver.tcp.2 create mode 100644 examples/mdi/log.17Jun22.aimdpy.mm.mpi.1 create mode 100644 examples/mdi/log.17Jun22.aimdpy.mm.mpi.2 create mode 100644 examples/mdi/log.17Jun22.aimdpy.mm.tcp.1 create mode 100644 examples/mdi/log.17Jun22.aimdpy.mm.tcp.2 create mode 100644 examples/mdi/log.17Jun22.aimdpy.qm.mpi.1 create mode 100644 examples/mdi/log.17Jun22.aimdpy.qm.mpi.3 create mode 100644 examples/mdi/log.17Jun22.aimdpy.qm.tcp.1 create mode 100644 examples/mdi/log.17Jun22.aimdpy.qm.tcp.3 create mode 100644 examples/mdi/log.17Jun22.sequence.engine.mpi.1 create mode 100644 examples/mdi/log.17Jun22.sequence.engine.mpi.4 create mode 100644 examples/mdi/log.17Jun22.sequence.engine.plugin.1 create mode 100644 examples/mdi/log.17Jun22.sequence.engine.plugin.3 create mode 100644 examples/mdi/log.17Jun22.sequence.engine.tcp.1 create mode 100644 examples/mdi/log.17Jun22.sequence.engine.tcp.4 create mode 100644 examples/mdi/log.17Jun22.series.alone.1 create mode 100644 examples/mdi/log.17Jun22.series.driver.mpi.1 create mode 100644 examples/mdi/log.17Jun22.series.driver.mpi.3 create mode 100644 examples/mdi/log.17Jun22.series.driver.plugin.1 create mode 100644 examples/mdi/log.17Jun22.series.driver.plugin.3 create mode 100644 examples/mdi/log.17Jun22.series.driver.tcp.1 create mode 100644 examples/mdi/log.17Jun22.series.driver.tcp.3 create mode 100644 examples/mdi/log.17Jun22.series.engine.mpi.1 create mode 100644 examples/mdi/log.17Jun22.series.engine.mpi.4 create mode 100644 examples/mdi/log.17Jun22.series.engine.plugin.1 create mode 100644 examples/mdi/log.17Jun22.series.engine.plugin.3 create mode 100644 examples/mdi/log.17Jun22.series.engine.tcp.1 create mode 100644 examples/mdi/log.17Jun22.series.engine.tcp.4 create mode 100644 examples/mdi/log.17Jun22.snapshot.alone.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.driver.mpi.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.driver.mpi.3 create mode 100644 examples/mdi/log.17Jun22.snapshot.driver.plugin.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.driver.plugin.3 create mode 100644 examples/mdi/log.17Jun22.snapshot.driver.tcp.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.driver.tcp.3 create mode 100644 examples/mdi/log.17Jun22.snapshot.engine.mpi.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.engine.mpi.3 create mode 100644 examples/mdi/log.17Jun22.snapshot.engine.plugin.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.engine.plugin.3 create mode 100644 examples/mdi/log.17Jun22.snapshot.engine.tcp.1 create mode 100644 examples/mdi/log.17Jun22.snapshot.engine.tcp.4 diff --git a/examples/mdi/README b/examples/mdi/README index 9ab3a3baf6..4976e33f00 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -19,7 +19,8 @@ LAMMPS supports operating in all these MDI modes. It can be an engine operating either as a stand-alone code or as a plugin. It can also be a driver and couple to an engine that is either a stand-alone code or a plugin. Examples for all these use cases are in this directory. -The example commands below illustrate how to run all the variants. +The Run.sh file shows how run in all the modes. Type "sh Run.sh" +to try them all out. To use LAMMPS as a plugin engine, you must build it as a shared library. Something like this with make, which also builds the normal @@ -33,10 +34,7 @@ To use the serial_driver.py example you will need Python 3 with Numpy and mpi4py available in your Python. Make sure LAMMPS and Python are using same the same version of MPI. -5 use-case examples are explained below. - -See the Run.sh file for commands to run each of the examples -in all the different modes. Type "sh Run.sh" to run them all. +5 example use-cases are explained below. In the first 3 examples, results running with MDI should be identical to running without MDI (alone log files). Example #4 has no non-MDI @@ -47,43 +45,52 @@ run. Example #5 results should match the non-MDI run of example #1. * Example #1 = run ab initio MD (AIMD) -See the log aimd files. - Two instances of LAMMPS operate as a driver and engine. As an engine, LAMMPS is a surrogate for a quantum code. -Note that the 2 input scripts in.aimd.alone and in.aimd.driver -have an option for running in NVE vs NPT mode. Comment in/out -the appropriate line to change modes. Nothing needs to be -changed in the in.aimd.engine or in.aimd.engine.plugin scripts. +You can compare the thermo output in log.aimd.alone.1 to the thermo output in +any of the log.aimd.driver* files. It should be identical. + +Note that the "alone" and "driver" input scripts have options for +running in NVE vs NPT Comment in/out the appropriate line to make +change. Nothing needs to be changed in the "engine" scripts. ------------------------------------------------- ------------------------------------------------- * Example #2 = run LAMMPS, compute QM forces on snapshots from a long run -See the log snapshot and dump snapshot files. - Two instances of LAMMPS operate as a driver and engine. As an engine, LAMMPS is a surrogate for a quantum code +You can compare the thermo output in log.snapshot.alone.1 to the +thermo output in any of the log.snapshot.driver* files. It should be +identical. + +You can compare the dumped forces in dump.snapshot.alone.1 to the +forces in any of the dump.snapshot.* files. They should be identical, +although at step 0 the forces are "zero" and may be epsilon different. + ------------------------------------------------- ------------------------------------------------- * Example #3 = run LAMMPS, compute QM forces on series of independent systems -files See the log series and dump series files. - Two instances of LAMMPS operate as a driver and engine. As an engine, LAMMPS is a surrogate for a quantum code +You can compare the thermo output in log.series.alone.1 to the thermo +output in any of the log.series.driver* files. It should be +identical. + +You can compare the dumped forces in dump.series.alone.1 to the forces +in any of the dump.series.* files. They should be identical, + ------------------------------------------------- ------------------------------------------------- * Example #4 = Python driver runs a sequence of unrelated LAMMPS calculations -See the log sequence files. - Each calculation can be a single-point evaluation, MD run, or minimization @@ -114,13 +121,14 @@ copied here: # -seed 12345 # random number seed > 0, default = 12345 +You can compare the thermo output in any of the log.sequence.engine.* +files. It should be identical. + ------------------------------------------------- ------------------------------------------------- * Example #5 = run AIMD with Python driver code and 2 LAMMPS instances as engines -See the log aimdpy files. - First LAMMPS instance performs the MD timestepping. Second LAMMPS instance is surrogate QM to compute forces. @@ -132,3 +140,12 @@ switch is also explained the top of the file; the info is copied here: # -nsteps 10 # number of timesteps in dynamics runs, default = 10 + +This calculation is the same as Example #1 with a LAMMPS driver and a +LAMMPS engine. Now there is a Python driver and two LAMMPS engines. + +You can compare the thermo output in log.aimd.alone.1 output to the +thermo output is any of the log.sequence.engine.* files. It should be +identical for the Total Energy printed out by the Python driver script. + +E.g. Step 10: MM energy 1.69875, QM energy -6.31535, Total energy -4.6166 diff --git a/examples/mdi/Run.sh b/examples/mdi/Run.sh index 934b25d4e1..3817841103 100644 --- a/examples/mdi/Run.sh +++ b/examples/mdi/Run.sh @@ -81,7 +81,7 @@ mv dump.snapshot.driver dump.snapshot.driver.tcp.1 mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.3 -in in.snapshot.driver & mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.4 -in in.snapshot.engine -mv dump.snapshot.driver dump.snapshot.driver.tcp.3 +mv dump.snapshot.driver dump.snapshot.driver.tcp.4 # --- @@ -95,7 +95,7 @@ mv dump.snapshot.driver dump.snapshot.driver.mpi.1 # Run with MPI: 3 procs + 4 procs mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.3 -in in.snapshot.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.3 -in in.snapshot.engine -mv dump.snapshot.driver dump.snapshot.driver.mpi.3 +mv dump.snapshot.driver dump.snapshot.driver.mpi.4 # --- @@ -141,7 +141,7 @@ mv dump.series.driver dump.series.driver.tcp.1 mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.3 -in in.series.driver & mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.4 -in in.series.engine -mv dump.series.driver dump.series.driver.tcp.3 +mv dump.series.driver dump.series.driver.tcp.4 # --- @@ -155,7 +155,7 @@ mv dump.series.driver dump.series.driver.mpi.1 # Run with MPI: 3 procs + 4 procs mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.3 -in in.series.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.4 -in in.series.engine -mv dump.series.driver dump.series.driver.mpi.3 +mv dump.series.driver dump.series.driver.mpi.4 # --- diff --git a/examples/mdi/dump.17Jun22.series.alone.1 b/examples/mdi/dump.17Jun22.series.alone.1 new file mode 100644 index 0000000000..0184de5802 --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.alone.1 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.series.driver.mpi.1 b/examples/mdi/dump.17Jun22.series.driver.mpi.1 new file mode 100644 index 0000000000..847432833a --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.driver.mpi.1 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.series.driver.mpi.4 b/examples/mdi/dump.17Jun22.series.driver.mpi.4 new file mode 100644 index 0000000000..847432833a --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.driver.mpi.4 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.series.driver.plugin.1 b/examples/mdi/dump.17Jun22.series.driver.plugin.1 new file mode 100644 index 0000000000..847432833a --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.driver.plugin.1 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.series.driver.plugin.3 b/examples/mdi/dump.17Jun22.series.driver.plugin.3 new file mode 100644 index 0000000000..847432833a --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.driver.plugin.3 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.series.driver.tcp.1 b/examples/mdi/dump.17Jun22.series.driver.tcp.1 new file mode 100644 index 0000000000..847432833a --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.driver.tcp.1 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.series.driver.tcp.4 b/examples/mdi/dump.17Jun22.series.driver.tcp.4 new file mode 100644 index 0000000000..847432833a --- /dev/null +++ b/examples/mdi/dump.17Jun22.series.driver.tcp.4 @@ -0,0 +1,1527 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +0.0000000000000000e+00 8.9390353509656766e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.91109 8.87705 -0.258023 0.625273 0.429284 +2 1 0.983178 0.93542 8.91066 -2.88593 0.281032 -1.95154 +3 1 0.886776 0.00353842 0.964105 -0.27179 0.383251 0.443719 +4 1 0.0722273 0.817966 0.815708 -0.663834 1.25489 -0.35451 +5 1 1.82919 8.8603 8.91164 0.346262 0.966337 0.327185 +6 1 2.71374 0.850558 0.0977971 -1.53533 0.952301 -0.539148 +7 1 2.75443 8.9152 0.943835 0.200679 -0.0265554 -0.862232 +8 1 1.72161 0.971413 0.796705 7.79754 -6.0811 1.58835 +9 1 3.47837 0.0294075 0.0515782 2.76325 -2.21894 -0.80311 +10 1 4.43186 0.961325 8.89919 -0.387918 -0.444884 0.950878 +11 1 4.37764 0.00631327 0.801109 0.844344 -0.87322 -0.116598 +12 1 3.59567 0.80748 0.974874 -0.705778 1.85625 -1.80855 +13 1 5.35026 8.89566 0.0208816 -0.442875 -0.272596 -0.473028 +14 1 6.3022 0.978028 0.0782288 -3.05518 -2.94099 -0.889505 +15 1 6.27707 0.0297536 0.962734 -0.0515917 0.772188 -1.05602 +16 1 5.30223 0.918655 0.899444 1.33545 0.759601 -1.29769 +17 1 7.0769 0.0948096 0.0649153 0.098645 -1.06535 0.292165 +18 1 8.09537 0.913626 0.0774105 -0.154847 0.414543 -0.451754 +19 1 8.08165 0.0818588 0.895196 -0.689773 -1.28143 0.929968 +20 1 7.14638 0.885276 0.891299 0.487793 0.733541 0.918445 +21 1 8.89456 1.84483 0.0434425 0.886905 -0.621358 -0.495646 +22 1 0.935681 2.64324 0.0406455 -1.34335 0.213362 -1.25695 +23 1 0.966071 1.69976 0.948945 -7.88058 11.3257 -7.25569 +24 1 0.0121607 2.66637 0.881115 -0.232812 0.533689 1.18415 +25 1 1.85044 1.81859 0.00192994 -1.7495 0.19048 0.1992 +26 1 2.68148 2.7251 0.0685109 -1.25528 -0.916148 -1.01459 +27 1 2.62716 1.70715 0.839166 0.688023 2.33788 1.05919 +28 1 1.6905 2.59418 0.903739 1.58905 0.257971 0.508129 +29 1 3.57454 1.77719 8.88663 0.186742 -0.0628404 0.80372 +30 1 4.38099 2.63699 8.92556 0.253897 0.0578989 -0.178058 +31 1 4.45919 1.78484 0.892793 0.372262 0.580252 -1.28381 +32 1 3.55804 2.657 0.821946 0.208194 0.440929 1.42052 +33 1 5.39579 1.85576 0.0513097 -2.11231 -0.770148 -0.833202 +34 1 6.28486 2.68552 0.0861957 -0.390024 -0.099671 -1.25573 +35 1 6.16167 1.79587 0.852166 3.13123 -0.282736 3.8241 +36 1 5.43841 2.67896 0.926914 -0.906522 -0.132525 -0.585389 +37 1 7.09214 1.72405 8.83985 3.26876 6.20695 4.03515 +38 1 7.96694 2.76043 0.0935037 2.29966 -0.680397 -1.28039 +39 1 8.06525 1.69772 0.940378 0.498274 0.445905 0.0355574 +40 1 7.16698 2.58338 0.88179 -1.8895 -0.0707859 1.12114 +41 1 0.0210451 3.48041 0.0428158 0.862491 -0.329006 -0.681709 +42 1 0.874431 4.40275 0.0131769 0.218928 -0.148848 0.324321 +43 1 0.851364 3.60752 0.914082 0.352487 -0.527665 -0.410754 +44 1 0.0749717 4.51844 0.974577 -0.257295 -0.287753 -0.288054 +45 1 1.76248 3.58626 0.0539576 0.480316 -2.29368 -1.63127 +46 1 2.72367 4.4241 0.0474256 0.0272964 0.241712 -0.452415 +47 1 2.73289 3.61199 0.901343 -0.0645249 -1.94992 -0.502421 +48 1 1.8456 4.38069 0.843492 -0.349918 1.31176 2.27682 +49 1 3.50387 3.55674 0.0315796 1.56114 -0.0224047 0.116984 +50 1 4.49692 4.37908 0.0780585 -4.54206 0.213106 -5.58215 +51 1 4.46671 3.57478 0.880458 -0.334204 -0.938728 0.874478 +52 1 3.58815 4.43 0.950374 0.652985 -1.92511 -1.59862 +53 1 5.3866 3.58372 8.92789 -1.19711 -2.22155 0.617325 +54 1 6.17276 4.37217 8.86047 6.00842 1.34471 4.78274 +55 1 6.27432 3.53871 0.907449 -0.148389 -0.137473 -0.523414 +56 1 5.27909 4.47835 0.809401 8.23917 -3.14067 4.34956 +57 1 7.09737 3.53698 8.87413 0.14026 -0.233191 0.941929 +58 1 7.96586 4.56922 8.84208 6.8748 -6.48505 1.75868 +59 1 8.1189 3.63425 0.96148 -3.00277 -1.46323 -4.15536 +60 1 7.14279 4.43222 0.962078 -0.0459577 0.247999 0.321752 +61 1 8.89637 5.43177 8.92691 0.327116 0.812268 0.0679643 +62 1 0.854018 6.30348 0.0813318 1.06274 -7.24911 -7.87042 +63 1 0.873415 5.41923 0.812761 -0.31071 -0.409433 0.423823 +64 1 8.88236 6.35419 0.863575 -0.753758 -3.06962 -0.690381 +65 1 1.76334 5.40934 8.88249 1.8326 1.29836 1.91996 +66 1 2.68777 6.21767 8.90577 0.0461489 1.51967 -0.262666 +67 1 2.66088 5.41906 0.821357 0.262109 -0.890774 -0.241847 +68 1 1.86017 6.31332 0.804602 -1.38053 -1.13952 0.850174 +69 1 3.64435 5.42051 8.90358 -2.6101 -2.17442 -0.370474 +70 1 4.37466 6.25131 8.85278 3.71832 2.70453 0.946098 +71 1 4.53047 5.2708 0.824393 -3.54051 3.8431 0.931364 +72 1 3.61222 6.27635 0.96909 -4.05414 0.604922 -3.58471 +73 1 5.40042 5.34751 8.8935 -0.719369 -0.36085 0.212296 +74 1 6.18215 6.3156 0.0196993 0.267387 0.110688 0.223648 +75 1 6.27516 5.37868 0.90209 -1.0642 -0.241069 0.481931 +76 1 5.31268 6.25584 0.875522 0.133781 0.115172 0.026661 +77 1 7.20113 5.30633 8.84474 -4.87308 6.78349 0.0391413 +78 1 7.95512 6.30497 0.092705 6.00614 -6.0265 -0.649957 +79 1 8.08767 5.35538 0.811364 -1.15126 0.392579 0.741715 +80 1 7.08607 6.1919 0.926051 0.630581 3.46407 -2.46157 +81 1 8.92405 7.0566 8.88782 -1.53371 0.564813 -0.0213323 +82 1 0.905011 8.13513 0.0600006 -0.504969 -0.194195 -0.00181653 +83 1 0.816253 7.07033 0.801556 1.36958 7.74762 7.34595 +84 1 8.83925 8.07727 0.907684 2.46931 1.67506 1.17354 +85 1 1.86043 7.09328 8.91972 -0.773441 0.857837 1.39948 +86 1 2.76541 7.99166 0.0440794 -0.77809 1.05822 0.425741 +87 1 2.67654 7.18636 0.91183 2.62219 -2.00002 -0.219028 +88 1 1.8788 7.9677 0.915621 -0.894934 2.07357 -1.21117 +89 1 3.59357 7.13026 0.0332195 -0.388167 0.00237965 -0.544686 +90 1 4.38663 8.07233 8.88382 0.174711 -0.440379 0.0897133 +91 1 4.5359 7.22854 0.936578 -2.37627 -1.04519 -2.35662 +92 1 3.63538 7.97981 0.824881 -1.61206 1.29888 2.0997 +93 1 5.3271 7.23059 8.92328 -0.111431 -0.20975 0.289951 +94 1 6.30867 8.05581 8.84577 0.0946421 0.0525728 2.57365 +95 1 6.32003 7.15576 0.891457 -0.2569 -0.483959 0.0547371 +96 1 5.40661 7.9868 0.968462 0.415884 0.0845497 -0.268424 +97 1 7.22798 7.08713 0.0563741 -5.45853 5.72078 -0.51002 +98 1 8.05735 8.06186 0.0753342 -0.611004 1.73052 -2.95918 +99 1 8.10922 7.21906 0.806609 -0.400473 -2.4357 2.42821 +100 1 7.16998 8.08498 0.846622 0.253892 0.388538 0.000271703 +101 1 8.88419 0.00785958 1.88382 0.148531 -0.55276 -3.06718 +102 1 0.806706 0.963107 1.6981 0.146821 -6.1479 7.24676 +103 1 0.81371 8.93107 2.59291 1.58623 0.25767 2.66866 +104 1 0.0914118 0.851308 2.7806 -2.96193 1.34432 -3.85013 +105 1 1.70908 0.055279 1.86232 -0.26684 0.0875329 -0.306957 +106 1 2.72497 0.940903 1.70203 -0.757536 -0.918748 1.71384 +107 1 2.71129 0.0639965 2.67102 -0.311468 0.261861 0.646041 +108 1 1.73889 0.96912 2.64369 0.123913 0.173982 0.666446 +109 1 3.52533 0.0194588 1.83263 1.01391 -0.00454228 -0.284845 +110 1 4.50633 0.992013 1.70842 -3.51938 -2.99082 2.23564 +111 1 4.49463 8.9275 2.60712 -6.23135 -0.421499 6.59704 +112 1 3.51061 0.932206 2.63613 0.265327 0.172351 0.555119 +113 1 5.26459 0.0845656 1.88118 6.41483 1.44516 -5.35427 +114 1 6.26822 0.943133 1.78953 -0.172034 -0.0988047 -0.238973 +115 1 6.20352 0.0931252 2.63772 -0.251863 0.451194 0.97073 +116 1 5.33497 0.961022 2.74861 1.85573 -2.10168 -0.655218 +117 1 7.15143 8.91799 1.69931 0.631991 0.791476 -0.168042 +118 1 8.1075 0.884637 1.85069 -0.145764 0.238097 -0.736312 +119 1 8.10277 0.00424992 2.71008 -1.61591 0.00687295 -1.36275 +120 1 7.06485 0.985537 2.76239 8.19773 -7.92397 -1.18231 +121 1 8.91698 1.83538 1.78872 0.656642 -0.0731624 0.0431027 +122 1 0.901335 2.58954 1.84197 -0.375827 -0.324571 -2.7055 +123 1 0.839546 1.79651 2.68072 1.09251 -0.901613 -0.242728 +124 1 0.0205195 2.75315 2.62687 -0.478759 -0.0106512 -0.67727 +125 1 1.78258 1.70562 1.69835 1.31189 0.545066 2.20675 +126 1 2.77409 2.6552 1.77928 -3.71202 0.456863 -3.25075 +127 1 2.62583 1.79361 2.77487 3.4762 0.328618 -3.48584 +128 1 1.71155 2.69761 2.62919 0.862289 -1.38539 2.38335 +129 1 3.5477 1.79572 1.86096 1.43061 -0.605958 -0.978191 +130 1 4.46749 2.5924 1.76238 -0.0494618 -0.0821277 -0.176353 +131 1 4.52929 1.74324 2.59829 -2.00749 0.662049 0.061349 +132 1 3.48188 2.69682 2.61959 1.88694 -0.141301 3.78311 +133 1 5.34711 1.71486 1.76809 1.96327 2.17405 -0.830705 +134 1 6.24637 2.73306 1.80484 3.10489 -2.12999 -0.788559 +135 1 6.31443 1.71423 2.71392 -8.21546 8.18972 -0.602972 +136 1 5.26572 2.69815 2.75971 0.0267628 0.10355 -0.216257 +137 1 7.18953 1.75159 1.71849 -0.576203 -0.36263 1.38792 +138 1 8.05027 2.77408 1.76451 0.439173 -0.587966 -0.341117 +139 1 8.01591 1.69661 2.74434 0.366947 0.0491547 0.134545 +140 1 7.14772 2.69371 2.58907 0.0738449 -1.92773 2.13155 +141 1 8.86781 3.66165 1.74517 3.90719 -1.47472 3.87657 +142 1 0.936621 4.42773 1.79512 -0.401045 -0.147867 0.321366 +143 1 0.948846 3.59531 2.72105 -0.571635 -0.0105131 -1.06193 +144 1 0.0834486 4.38982 2.63588 -0.524533 1.06652 0.75481 +145 1 1.83432 3.4799 1.75691 0.359017 0.665628 -0.818381 +146 1 2.69175 4.37077 1.75144 0.14004 0.214725 0.925417 +147 1 2.74153 3.6404 2.67912 -0.708299 -3.83642 -3.24565 +148 1 1.87968 4.54846 2.67269 -0.684796 -0.993828 -0.138535 +149 1 3.5441 3.51573 1.77434 0.186245 0.881611 -0.696526 +150 1 4.55171 4.52396 1.79145 -2.75839 -2.91024 -1.57263 +151 1 4.49896 3.65335 2.59498 -1.96388 -1.7196 0.869652 +152 1 3.49741 4.47737 2.77344 8.37692 1.8085 -7.7175 +153 1 5.44145 3.48872 1.74764 -3.05421 3.82286 1.14399 +154 1 6.1743 4.53053 1.74574 0.463366 -1.70291 0.122224 +155 1 6.30198 3.67131 2.70975 -1.07292 -0.185523 -2.51985 +156 1 5.34196 4.38653 2.7007 1.29125 2.52938 -0.102964 +157 1 7.1691 3.54339 1.87445 -0.749456 2.7751 -2.56091 +158 1 7.97266 4.40051 1.79603 0.56071 1.27489 1.72891 +159 1 7.99234 3.49992 2.67525 0.940044 2.40885 0.128516 +160 1 7.18063 4.50303 2.68825 -0.923025 -2.40154 0.0954191 +161 1 8.91159 5.33038 1.82507 -0.0203349 -0.241672 0.333237 +162 1 0.8958 6.32359 1.78851 0.38501 -0.14702 -0.347965 +163 1 0.943571 5.31749 2.71754 -0.318578 -0.34148 0.397124 +164 1 0.0864418 6.28418 2.68726 -1.86154 0.137969 -3.27119 +165 1 1.71465 5.37463 1.6949 -0.232891 -0.268012 0.301526 +166 1 2.72852 6.31988 1.88644 -2.78715 -2.37305 -5.95735 +167 1 2.64735 5.41101 2.73193 1.7471 0.192556 0.973026 +168 1 1.84919 6.27948 2.72157 -0.39498 0.808971 -0.0974847 +169 1 3.48336 5.2657 1.71665 0.625214 2.24561 1.33995 +170 1 4.39296 6.19435 1.72952 3.81534 -0.586193 2.86006 +171 1 4.52517 5.37564 2.62027 -1.99502 -0.45422 2.59567 +172 1 3.56333 6.24537 2.5877 2.83084 0.938216 3.4987 +173 1 5.32581 5.29562 1.86847 5.13697 3.80601 -2.04537 +174 1 6.24758 6.22298 1.79203 0.477004 0.378689 0.56244 +175 1 6.25283 5.44934 2.73731 1.14422 -0.830366 -0.337224 +176 1 5.45416 6.25624 2.6996 -2.42774 -1.74418 -0.22606 +177 1 7.22676 5.41803 1.71412 0.223451 -2.28899 2.0191 +178 1 8.0979 6.3518 1.78861 -0.44204 -0.435572 -0.338725 +179 1 8.01325 5.26918 2.64973 1.18264 0.878361 -0.124926 +180 1 7.11991 6.34415 2.69936 -1.3293 -2.66755 2.78128 +181 1 0.0635545 7.11209 1.72165 -0.371894 2.049 0.790012 +182 1 0.857409 8.07873 1.82753 -0.608672 -0.60495 -0.46291 +183 1 0.930573 7.24697 2.65225 -4.55248 -4.69883 0.513873 +184 1 8.8491 7.95414 2.58819 0.570786 1.09764 -0.00497061 +185 1 1.71811 7.19809 1.77835 0.893245 -0.692356 0.118249 +186 1 2.78024 8.04523 1.70672 -2.88976 2.48107 0.040135 +187 1 2.67012 7.13476 2.61708 -1.16009 2.6938 3.43626 +188 1 1.72659 7.99584 2.64342 2.19305 3.0992 -0.0129086 +189 1 3.48631 7.23394 1.84989 5.35093 -4.92393 -2.00054 +190 1 4.4261 8.04744 1.77118 -0.338387 -0.0128497 0.448007 +191 1 4.41287 7.13619 2.73708 2.81119 1.17101 -3.79683 +192 1 3.52255 7.96143 2.73527 1.04353 0.896155 0.0445218 +193 1 5.31509 7.09458 1.73703 1.75862 -0.357986 2.37379 +194 1 6.31592 8.04277 1.87992 0.07968 -0.344084 0.021952 +195 1 6.19476 7.08883 2.7194 5.13464 2.37882 -2.53303 +196 1 5.31616 7.97076 2.64032 0.139732 0.0575338 -0.0995313 +197 1 7.13779 7.0901 1.87785 -0.856279 1.84142 -1.45962 +198 1 8.00182 8.12007 1.73344 0.812689 0.333431 -0.248462 +199 1 8.01591 7.08327 2.73264 -0.0756439 0.769292 0.331432 +200 1 7.15074 8.00152 2.76416 1.82643 0.942676 -3.56152 +201 1 8.89655 8.9304 3.48678 1.65951 -0.447815 3.8493 +202 1 0.950495 0.819015 3.5162 -1.29532 1.69106 1.16913 +203 1 0.81801 0.0539921 4.51501 3.2278 -0.258036 -5.15445 +204 1 8.85177 0.90744 4.37372 14 -2.90794 10.8129 +205 1 1.78019 0.0426842 3.56938 1.84169 -0.836001 -0.350651 +206 1 2.63146 0.926366 3.57031 0.012479 0.082004 0.331715 +207 1 2.70742 0.0633514 4.41591 -1.37547 -1.33331 0.456319 +208 1 1.7142 0.801654 4.43761 0.662356 1.10176 0.272549 +209 1 3.65397 8.84382 3.54877 -3.56671 5.39916 0.463391 +210 1 4.3911 0.894602 3.52171 0.595814 -0.346452 0.321605 +211 1 4.50401 0.046887 4.49909 -1.14502 -0.949582 -0.274225 +212 1 3.51809 0.843433 4.41351 1.90854 2.37085 -0.229306 +213 1 5.34066 0.0102546 3.52427 -0.108558 0.828678 0.2339 +214 1 6.2908 0.991162 3.59141 -5.23018 -9.53106 -1.9323 +215 1 6.23033 0.0280237 4.46344 1.30838 0.516693 -1.50043 +216 1 5.29132 0.919899 4.38256 0.973507 -2.91573 1.14051 +217 1 7.06389 8.92307 3.63529 1.41369 0.894395 -0.0234904 +218 1 8.13244 0.926287 3.63848 -11.0259 -0.689673 -11.6462 +219 1 8.07431 0.0396355 4.42295 -0.0998371 -0.343464 -0.2111 +220 1 7.15426 0.902415 4.51611 0.37609 -0.87238 -0.174942 +221 1 0.0547819 1.70767 3.52402 -0.0990054 0.634623 1.9504 +222 1 0.990251 2.59589 3.64321 -1.70133 -1.15531 -1.34459 +223 1 0.876254 1.75025 4.46545 0.108846 -0.46015 0.445192 +224 1 8.851 2.6248 4.52232 3.89545 -0.330965 -5.02573 +225 1 1.83233 1.81735 3.53725 -2.40083 -0.602726 2.24699 +226 1 2.73685 2.66072 3.63237 -1.34367 -0.0545412 -0.555358 +227 1 2.76889 1.75912 4.53924 -5.46261 0.887424 -6.31803 +228 1 1.79935 2.60963 4.48075 0.43952 -0.293553 0.768966 +229 1 3.51296 1.81737 3.56522 0.159577 -1.35984 0.863711 +230 1 4.48313 2.73941 3.65804 -0.990489 -8.98093 -5.87222 +231 1 4.37894 1.70897 4.40451 -1.1595 -0.0369555 -0.272198 +232 1 3.5578 2.69572 4.44594 -0.0317478 -0.740538 0.514717 +233 1 5.41644 1.73157 3.63972 -0.214907 2.94643 -2.78853 +234 1 6.22995 2.60145 3.56616 -0.0106554 -0.60109 0.383738 +235 1 6.30303 1.6885 4.42264 -3.32083 3.037 6.44969 +236 1 5.43404 2.73282 4.52181 -0.69148 0.715375 -0.475461 +237 1 7.08666 1.7162 3.65955 7.29974 4.17951 -2.48105 +238 1 8.0318 2.68816 3.49666 -0.181832 0.425298 0.461358 +239 1 8.08432 1.70749 4.5149 -2.31295 1.75558 0.820722 +240 1 7.18431 2.71452 4.51289 0.136997 -0.067144 0.521486 +241 1 8.84691 3.61245 3.64188 4.42683 -0.879675 -3.24184 +242 1 0.916797 4.43325 3.62545 -0.842258 -0.010797 0.0107287 +243 1 0.871748 3.60004 4.51194 -0.301498 0.107107 -0.324598 +244 1 8.92426 4.51452 4.44006 -0.00859866 -1.77564 -0.547037 +245 1 1.68965 3.48331 3.5995 1.50205 1.26015 1.14935 +246 1 2.74619 4.38356 3.49878 -7.16717 1.90489 10.07 +247 1 2.74519 3.65012 4.52097 -2.02388 -3.55766 -1.13857 +248 1 1.75432 4.38414 4.53252 -0.421779 0.409337 0.409015 +249 1 3.58997 3.49254 3.52387 -0.821723 1.10659 0.0739307 +250 1 4.40569 4.52296 3.53187 0.545495 -0.966363 -0.0502063 +251 1 4.38156 3.4874 4.39271 -0.289264 8.2647 7.79533 +252 1 3.54333 4.42257 4.55563 2.80723 11.1106 -9.83606 +253 1 5.27331 3.5295 3.65482 2.61308 2.66186 -0.969787 +254 1 6.16108 4.46828 3.59956 0.599894 -1.41883 -0.240371 +255 1 6.22639 3.63251 4.44985 -0.305031 -0.480252 0.0742084 +256 1 5.31568 4.40222 4.46767 -0.344747 -0.443719 0.00587924 +257 1 7.10015 3.56367 3.49443 2.55034 0.169304 1.35525 +258 1 8.02171 4.37546 3.5697 -1.76106 3.37709 -2.28074 +259 1 8.069 3.64942 4.40708 -2.31714 -3.33053 6.18677 +260 1 7.18438 4.37135 4.52245 -1.79563 0.274401 -0.392524 +261 1 0.0758128 5.3487 3.5652 0.184463 -0.360483 0.192319 +262 1 0.795174 6.30898 3.53894 9.14413 -6.75396 2.48214 +263 1 0.867482 5.30202 4.453 0.791187 0.0370161 0.388706 +264 1 0.00225224 6.31064 4.52093 0.402626 -0.0990512 0.0415993 +265 1 1.75224 5.26394 3.64332 0.696547 0.221295 -0.114908 +266 1 2.74065 6.24856 3.64631 -0.500385 1.40459 -1.64071 +267 1 2.73855 5.4528 4.44688 -5.40773 -5.67129 2.9343 +268 1 1.74472 6.17623 4.53641 0.82995 0.717951 -0.0718944 +269 1 3.48421 5.34442 3.61728 1.66736 -1.06074 -1.09811 +270 1 4.41383 6.35055 3.60638 9.51906 -9.2799 1.43724 +271 1 4.38632 5.26464 4.48258 -0.919101 0.504742 0.900072 +272 1 3.55793 6.1617 4.49469 4.34711 2.82736 -0.340092 +273 1 5.36863 5.28325 3.49178 -0.734818 0.617922 -0.744768 +274 1 6.26503 6.19943 3.66319 0.429882 1.55809 -2.03015 +275 1 6.35487 5.3413 4.44757 0.561767 -0.978785 -0.133344 +276 1 5.27408 6.24166 4.56754 6.98603 1.54355 -5.42942 +277 1 7.19701 5.44828 3.47564 -5.73363 -4.54905 0.0826653 +278 1 7.95668 6.19688 3.55501 6.31824 5.03885 -1.22951 +279 1 8.09251 5.32103 4.3972 -0.525971 0.388914 -0.470954 +280 1 7.21521 6.34275 4.38759 -5.30552 -2.8442 0.851377 +281 1 0.0775826 7.08234 3.53581 -5.46769 7.72822 0.0708503 +282 1 0.933572 7.95134 3.59844 -0.0755868 -0.81045 -0.0294233 +283 1 0.967321 7.07254 4.42487 -1.68738 -0.0136546 1.81969 +284 1 8.87247 7.95576 4.3937 0.743652 0.272325 -0.92866 +285 1 1.76917 7.11669 3.64005 0.930468 -0.723585 -1.50003 +286 1 2.76456 8.10499 3.62233 -0.317456 0.121935 0.766743 +287 1 2.61456 7.10311 4.56718 0.759736 -0.536182 -1.28605 +288 1 1.85332 7.96709 4.49102 -0.903085 0.0612931 0.171005 +289 1 3.6668 7.06536 3.52857 -12.7314 9.15268 1.72289 +290 1 4.37522 8.04334 3.61636 3.8155 -4.43194 -0.0509001 +291 1 4.53661 7.19684 4.42303 -0.089737 0.0836956 0.326132 +292 1 3.62847 8.06443 4.56174 -6.53673 1.14979 -7.53287 +293 1 5.44626 7.09379 3.53396 -2.70855 0.0837127 2.61511 +294 1 6.30058 8.08668 3.48692 -3.50797 -0.210369 1.40313 +295 1 6.24642 7.05504 4.56658 1.23504 0.486666 -1.51311 +296 1 5.40389 8.14153 4.41484 -1.1149 -1.90428 -2.07503 +297 1 7.0793 7.23572 3.56625 0.390898 -5.13728 0.366365 +298 1 8.02564 8.11993 3.55841 -0.989908 -0.0289504 0.0817166 +299 1 7.96341 7.11444 4.5691 3.18586 3.20848 -0.902141 +300 1 7.14662 7.9965 4.39373 -0.0363915 0.663241 1.28885 +301 1 0.0665117 0.0620058 5.29566 -4.76408 0.0634028 3.8487 +302 1 0.920378 0.847838 5.33345 0.704711 1.73157 1.07432 +303 1 0.90733 0.0507073 6.29492 -0.256865 0.383558 -0.568888 +304 1 0.0695806 0.935871 6.21245 0.520609 -0.18085 0.460935 +305 1 1.7158 8.90069 5.2688 0.480844 0.845699 -0.0820744 +306 1 2.72956 0.862321 5.35582 -0.666933 0.680843 -0.243728 +307 1 2.75788 8.89573 6.26927 0.729554 0.867268 -0.717865 +308 1 1.87787 0.918127 6.17945 -0.463015 -0.230718 0.375845 +309 1 3.57292 0.0827463 5.28099 -0.282881 -3.17985 0.660183 +310 1 4.39889 0.831174 5.46088 -0.653335 9.17872 -7.1909 +311 1 4.53367 0.077487 6.1821 0.157227 -8.03625 7.38236 +312 1 3.56635 0.935389 6.31146 0.221361 0.0036999 -1.2625 +313 1 5.44773 8.84526 5.27719 -1.51548 1.46139 3.00719 +314 1 6.272 0.802404 5.33609 -0.667532 1.91594 -0.251293 +315 1 6.22537 8.89219 6.16591 -0.245349 -0.895062 1.43446 +316 1 5.33827 0.94153 6.32303 -1.13614 0.583964 -0.338203 +317 1 7.11863 0.0577427 5.44516 0.0248025 -1.55594 -0.512164 +318 1 7.97781 0.796351 5.39903 0.844611 2.54625 -2.84321 +319 1 8.06017 8.92765 6.18069 -0.104306 -2.31947 1.77241 +320 1 7.18164 0.989783 6.31023 -0.163547 -0.192109 -0.79717 +321 1 0.0916103 1.88258 5.39516 -1.00186 -1.43206 -0.661702 +322 1 0.982314 2.60245 5.42151 0.964023 2.57135 -1.73713 +323 1 0.897632 1.84422 6.25233 0.598171 -0.657266 0.69786 +324 1 0.0925235 2.7239 6.16577 -1.60764 0.211114 1.61705 +325 1 1.82959 1.77578 5.39133 -0.293694 0.755656 -0.589776 +326 1 2.69272 2.74727 5.44011 1.7292 -2.84836 -1.30998 +327 1 2.6889 1.83234 6.17525 0.647659 -0.90616 0.231454 +328 1 1.77521 2.70825 6.28078 0.536701 -0.406727 0.0293567 +329 1 3.51954 1.69427 5.29216 6.69261 0.0739574 6.33581 +330 1 4.4097 2.73314 5.34432 0.344675 0.135757 -0.187596 +331 1 4.40444 1.82369 6.16689 4.836 -4.97823 0.364517 +332 1 3.67178 2.60038 6.25743 -5.49724 5.54416 -0.00203516 +333 1 5.35146 1.77827 5.39473 -0.235283 0.213892 0.835574 +334 1 6.28399 2.77802 5.42862 -0.340126 -0.250486 -0.411738 +335 1 6.23134 1.81375 6.22687 0.0223138 0.244736 0.523936 +336 1 5.32351 2.70513 6.28288 3.08354 -1.69468 -3.77436 +337 1 7.14617 1.80036 5.35567 0.0919136 -0.311209 -0.475968 +338 1 8.0974 2.70612 5.29285 -7.26474 -2.41437 5.10983 +339 1 8.1011 1.88391 6.31294 0.0553936 -2.83177 -2.84321 +340 1 7.18351 2.67214 6.17899 0.615225 -0.197791 1.28477 +341 1 8.87232 3.47935 5.28683 2.9021 4.26792 0.541835 +342 1 0.935261 4.37233 5.44726 0.629241 0.918492 -0.917538 +343 1 0.919878 3.52494 6.23281 0.869805 0.127506 1.01894 +344 1 0.00431382 4.37186 6.33532 0.0302966 1.00444 -0.578346 +345 1 1.87251 3.50381 5.42034 -2.4415 2.77086 0.0779929 +346 1 2.70362 4.48406 5.3041 -1.90814 0.882252 2.42793 +347 1 2.75055 3.50273 6.30756 -1.47013 1.25632 -0.795276 +348 1 1.84448 4.4497 6.22456 -0.665656 -0.501499 -0.145372 +349 1 3.61741 3.6732 5.27884 1.4909 -8.59965 8.97662 +350 1 4.55362 4.53069 5.43699 -1.55164 -1.28771 -1.47171 +351 1 4.52256 3.52483 6.1944 -1.86903 1.10409 1.578 +352 1 3.65361 4.51782 6.21866 -3.39722 -3.70857 0.481797 +353 1 5.32088 3.65892 5.41856 2.55855 -1.45769 -1.45685 +354 1 6.25422 4.4123 5.33119 0.406295 0.346858 0.292537 +355 1 6.15978 3.47786 6.34128 0.227911 3.77427 -2.75081 +356 1 5.33342 4.43001 6.30433 -0.582231 -0.0994195 -0.382533 +357 1 7.19473 3.56016 5.44441 -0.898652 0.294925 -2.64663 +358 1 7.98682 4.41046 5.33513 1.4916 0.0945815 1.20731 +359 1 7.97947 3.58929 6.2697 1.92008 -1.0462 0.640867 +360 1 7.19164 4.45465 6.22659 0.298273 0.832684 -0.26134 +361 1 8.91866 5.33922 5.43231 0.972904 -0.678404 -1.89043 +362 1 0.863832 6.24178 5.44793 2.40494 -1.34388 -3.01765 +363 1 0.840212 5.37684 6.26703 1.52144 -3.32025 -2.26664 +364 1 0.0375152 6.17563 6.19921 -3.52547 2.50803 1.96141 +365 1 1.71406 5.31325 5.33193 0.359992 -0.20317 1.05182 +366 1 2.70446 6.22369 5.28953 -1.67496 -0.128385 2.17513 +367 1 2.62094 5.31478 6.20919 0.620292 0.0770975 0.0647467 +368 1 1.78318 6.16446 6.20286 -0.707464 0.30734 -0.850222 +369 1 3.5001 5.34304 5.42111 1.18155 0.33408 -1.88423 +370 1 4.48409 6.21311 5.27474 -6.47906 -0.498054 6.10955 +371 1 4.40434 5.30746 6.24861 3.30032 4.47126 1.95885 +372 1 3.65651 6.23636 6.35732 0.258101 -0.821502 -0.539452 +373 1 5.37686 5.39062 5.45706 -0.495794 0.303868 0.87367 +374 1 6.27665 6.3275 5.44876 0.578726 -4.19567 -0.915026 +375 1 6.28987 5.34918 6.28481 -0.689441 0.646514 -0.025026 +376 1 5.38856 6.30438 6.29204 -0.62461 -0.174266 -0.144794 +377 1 7.10303 5.36134 5.39788 0.303084 -0.453051 0.575398 +378 1 7.97278 6.2689 5.34555 1.29349 -0.0892034 0.239307 +379 1 8.1123 5.2681 6.25774 -0.648694 -0.661016 0.761589 +380 1 7.23419 6.34793 6.22344 -1.98134 -0.75315 1.10815 +381 1 0.0530217 7.08624 5.43675 -2.76329 0.356415 -1.34254 +382 1 0.891502 8.07734 5.33574 -0.449954 -0.433341 -0.0145848 +383 1 0.859902 7.08778 6.21702 1.22817 0.316603 2.39974 +384 1 8.86723 7.96664 6.28254 0.557062 3.16551 -3.15026 +385 1 1.77928 7.05564 5.34292 -1.2854 -0.797113 0.726349 +386 1 2.74792 8.05162 5.34603 0.580474 -0.247926 -0.00393627 +387 1 2.61984 7.13654 6.2076 0.1179 0.00397349 -0.327299 +388 1 1.73531 7.99204 6.32624 -0.619957 1.84241 -1.57732 +389 1 3.59984 7.17613 5.43634 -0.452415 0.706682 -0.14784 +390 1 4.39821 8.05962 5.28157 7.32724 0.749963 7.12774 +391 1 4.53389 7.20586 6.21186 -1.71384 -1.49003 0.809357 +392 1 3.66572 8.09269 6.23368 0.381787 -1.59697 -1.53597 +393 1 5.43811 7.11751 5.40192 -5.5589 -0.00418968 -4.06356 +394 1 6.35445 7.96959 5.31467 -2.59984 2.44569 0.360222 +395 1 6.17375 7.13942 6.18142 5.31103 3.8936 7.8957 +396 1 5.29125 8.02549 6.29493 1.99742 1.43167 0.441829 +397 1 7.11664 7.15874 5.38774 1.63444 -2.12611 -0.430051 +398 1 8.12983 8.0005 5.26693 -0.350623 0.791023 2.07438 +399 1 8.11089 7.10521 6.29529 -1.02761 -0.414645 -0.639575 +400 1 7.1542 8.04467 6.33119 -0.716395 -2.97685 -2.97233 +401 1 0.0455321 0.0581059 7.13785 -2.59331 -3.08955 0.589456 +402 1 0.853998 0.797568 7.23372 2.25232 12.9399 -9.25923 +403 1 0.893883 0.0531987 7.95582 -0.265032 -9.78891 10.4341 +404 1 0.0979374 0.927475 8.08374 -1.27945 -0.625441 0.909779 +405 1 1.70883 0.0184568 7.15475 0.947479 -0.211015 -0.0644084 +406 1 2.65212 0.910749 7.07723 -0.301347 -0.213339 -0.337826 +407 1 2.6305 8.90469 8.0727 2.55272 1.71066 0.384582 +408 1 1.75018 0.91387 8.02574 -0.526684 -0.686186 -0.483147 +409 1 3.61403 8.84934 7.06612 1.02988 1.44024 1.76178 +410 1 4.42034 0.91943 7.17223 0.522178 -1.61468 -2.10925 +411 1 4.37056 0.0516865 8.14003 0.0263315 0.189467 -0.466418 +412 1 3.59 0.934896 8.00045 0.0371044 1.00787 1.05016 +413 1 5.2816 0.0108877 7.14004 0.0410715 -0.366939 -0.311788 +414 1 6.23624 0.898837 7.05965 1.021 0.941131 0.654753 +415 1 6.246 8.87468 8.06175 -0.280098 0.535663 -1.1759 +416 1 5.31648 0.815501 8.12607 -0.78801 0.243527 -0.599256 +417 1 7.10707 8.84874 7.08197 -0.468775 2.08644 1.86713 +418 1 8.05013 0.946529 7.22788 -1.5208 -0.582053 0.186559 +419 1 8.1301 8.84043 8.01457 0.052244 0.715074 -0.282442 +420 1 7.06838 0.987221 8.03414 10.0415 -13.6791 -1.19755 +421 1 8.86835 1.70934 7.22731 2.54892 2.22649 -0.22541 +422 1 0.866325 2.76414 7.15029 -0.0137847 -2.49225 -3.8584 +423 1 0.826708 1.83336 8.03111 1.70357 -1.53255 0.309164 +424 1 0.0511912 2.65175 8.02861 -1.53037 1.53618 -0.152554 +425 1 1.7237 1.71044 7.1133 -0.3904 -0.435435 -0.731182 +426 1 2.66636 2.72018 7.14295 0.547793 -0.274295 0.648117 +427 1 2.70105 1.80209 8.13576 -0.0852062 -0.133841 -0.000493208 +428 1 1.77492 2.76081 8.10399 0.564357 -0.308093 0.985398 +429 1 3.66205 1.87543 7.16799 0.15905 -2.5091 -2.55207 +430 1 4.55348 2.70177 7.05301 -5.50098 -2.53366 3.01389 +431 1 4.46818 1.71608 7.96441 0.32513 1.80226 3.00161 +432 1 3.56091 2.58808 8.02945 0.396266 1.95642 2.12785 +433 1 5.36149 1.84637 7.16969 0.516803 -0.0610583 -0.802699 +434 1 6.28291 2.77184 7.1854 -0.512674 -3.17359 2.22694 +435 1 6.3427 1.71551 7.9726 -15.2061 11.4078 1.6664 +436 1 5.45463 2.61593 8.09933 0.73198 1.12429 -0.810915 +437 1 7.14617 1.80598 7.24022 4.03182 0.503759 -4.81039 +438 1 8.07521 2.6756 7.07092 -0.336894 3.22322 3.478 +439 1 8.11875 1.8373 8.10797 -1.57974 -0.493075 -0.537868 +440 1 7.09714 2.63714 8.02739 -0.0173147 0.820696 1.90431 +441 1 8.85027 3.56499 7.15253 3.00565 -1.27064 -0.682205 +442 1 0.885235 4.38222 7.18774 -1.842 1.22146 -0.226395 +443 1 0.884771 3.48141 7.97536 -0.530218 4.3971 3.23625 +444 1 0.0419078 4.41462 8.04436 -0.806344 -0.262731 -0.956831 +445 1 1.73746 3.66699 7.09267 1.85773 -3.96877 -1.41987 +446 1 2.66489 4.55163 7.19564 0.399017 -1.47837 -0.325749 +447 1 2.68401 3.61278 8.06372 0.262338 -0.0680464 0.329915 +448 1 1.80878 4.38262 7.9551 -1.46544 1.49945 2.09645 +449 1 3.55441 3.63471 7.17184 -0.0924634 0.45212 0.606799 +450 1 4.40759 4.53436 7.23701 0.160045 0.252781 -1.03281 +451 1 4.47938 3.49218 8.04219 0.177099 0.0940276 0.00712601 +452 1 3.55379 4.48752 8.06012 -0.927856 0.341505 -0.0833457 +453 1 5.30335 3.52949 7.1279 2.00125 1.71282 0.0663191 +454 1 6.19233 4.44015 7.09395 -0.123778 -0.82645 0.684973 +455 1 6.31698 3.55227 8.05766 -1.80584 -0.932697 -1.1518 +456 1 5.41804 4.43351 8.09204 -4.30063 -0.218755 -3.96516 +457 1 7.232 3.50321 7.24512 -0.569054 0.129485 -1.05452 +458 1 8.04777 4.39134 7.10023 -0.415559 1.27013 1.1937 +459 1 8.09921 3.54644 7.99275 -0.904288 0.185761 1.62031 +460 1 7.15284 4.38151 8.0646 -0.281528 0.0795406 -1.17401 +461 1 8.85944 5.36104 7.19522 1.71386 -0.372777 -2.67299 +462 1 0.808445 6.15874 7.05432 0.343929 1.70028 2.25424 +463 1 0.99266 5.36055 8.05319 -1.96195 -0.361049 -1.35199 +464 1 8.9228 6.22111 8.03716 -0.328906 0.253391 -0.16959 +465 1 1.7511 5.27554 7.16317 -0.501838 -0.493478 -1.59379 +466 1 2.7323 6.31099 7.08452 0.463177 0.0720173 0.389338 +467 1 2.75106 5.38162 8.09911 0.530948 -0.923774 -0.761524 +468 1 1.80446 6.33727 8.00982 0.567564 -0.353842 0.999402 +469 1 3.53218 5.32026 7.15711 1.3552 1.44822 0.141569 +470 1 4.49512 6.19462 7.20137 -2.95094 2.57244 -4.09211 +471 1 4.4829 5.43783 8.04952 -1.75843 -3.70774 -0.194014 +472 1 3.65767 6.24252 7.97233 -2.18137 -0.334806 -0.189717 +473 1 5.35752 5.46295 7.14871 1.05371 -2.23541 -1.50951 +474 1 6.22804 6.29485 7.12141 -0.370188 0.264704 -0.149428 +475 1 6.34127 5.4593 8.01496 -0.759119 0.239406 -0.0100712 +476 1 5.27101 6.21963 7.98358 4.21356 3.70888 3.53999 +477 1 7.2413 5.39744 7.15422 0.63332 0.408861 0.0765336 +478 1 8.01209 6.33115 7.20214 1.04149 -1.50251 -0.643312 +479 1 8.11155 5.33363 8.02803 -2.08279 1.51127 0.153008 +480 1 7.20203 6.31049 8.06426 -0.105023 -0.935886 0.140492 +481 1 8.92362 7.24394 7.10015 0.0792153 -3.18157 4.09933 +482 1 0.865164 8.02092 7.22606 2.85769 1.65383 -2.61434 +483 1 0.86745 7.15339 8.01815 -0.578541 -0.380635 0.364655 +484 1 0.0284189 8.08161 7.95725 -0.890268 -0.349283 1.10066 +485 1 1.85656 7.22057 7.11535 0.397315 -1.70504 3.16253 +486 1 2.77375 7.96501 7.15423 0.0953595 0.0574297 -0.272157 +487 1 2.64437 7.22314 8.11966 1.48696 -0.179689 -2.12782 +488 1 1.85941 8.11413 7.96635 -2.35368 -2.50728 -0.754549 +489 1 3.67468 7.10829 7.12824 0.65987 0.70298 0.656082 +490 1 4.46621 7.99739 7.2078 2.25404 -0.456947 -2.59682 +491 1 4.48001 7.09955 8.01357 0.0334801 0.324585 -0.290932 +492 1 3.6378 8.02597 7.95299 -1.96867 -0.619231 2.20677 +493 1 5.31589 7.17259 7.15585 0.23145 -0.930936 -0.437425 +494 1 6.20936 8.03122 7.09513 -0.13604 -0.296447 0.152582 +495 1 6.17543 7.22187 8.09898 5.44884 -7.61495 -1.62058 +496 1 5.43883 7.98222 8.0181 -6.37262 6.00913 -1.00537 +497 1 7.14576 7.09705 7.14015 0.407174 1.49093 0.0363952 +498 1 8.02588 8.07609 7.1284 1.43118 -1.40285 -0.689018 +499 1 7.99317 7.15919 8.00286 1.19218 0.601266 0.682892 +500 1 7.2435 8.04597 7.97482 -1.89044 -0.246287 0.1524 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +0.0000000000000000e+00 8.5498797333834844e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.52194 8.48789 1.60777 3.16074 4.93288 +2 1 0.770239 0.886587 0.0775241 5.1148 0.619933 -4.35337 +3 1 0.914855 8.54009 0.795212 -2.54709 2.40671 3.27622 +4 1 8.53949 0.79582 0.824294 -1.87361 -0.316163 2.22706 +5 1 1.68126 8.45058 8.49491 -0.796772 17.9401 13.8601 +6 1 2.49257 0.906431 0.000759221 8.8197 -0.476032 2.96817 +7 1 2.62932 0.0354753 0.888378 -4.43263 -0.45206 -5.76212 +8 1 1.71329 0.913566 0.778252 -3.74188 -4.37189 3.26227 +9 1 3.42175 0.0965993 8.49503 -4.75784 -8.08943 10.1901 +10 1 4.21271 0.889278 8.46971 8.07159 3.26979 7.09905 +11 1 4.30903 0.0721078 0.771319 -2.20196 2.16322 3.01896 +12 1 3.42332 0.912751 0.876126 -1.2014 -0.27869 -2.68959 +13 1 5.04057 8.48132 8.46735 12.114 4.06773 4.60111 +14 1 5.95626 0.830289 0.0884189 2.64036 5.56585 -7.9642 +15 1 5.95178 0.0392781 0.802073 0.496214 -5.11156 5.55524 +16 1 5.1151 0.919125 0.80056 -4.53937 -3.75487 2.57161 +17 1 6.8031 8.46299 8.54479 -1.12262 1.88258 -1.67969 +18 1 7.77702 0.837169 8.46101 -2.81144 0.601723 4.97774 +19 1 7.61766 0.0190488 0.807902 2.02145 -3.01975 -0.996798 +20 1 6.83813 0.841817 0.893784 2.20091 1.15146 -3.46095 +21 1 0.00483518 1.7748 8.45086 3.14001 0.0124508 7.14446 +22 1 0.925315 2.54775 8.47859 -2.14676 3.17757 1.68537 +23 1 0.946475 1.73152 0.932031 -7.90083 -3.0997 -5.49951 +24 1 0.0820864 2.59152 0.95052 -16.5003 -1.1863 -19.4267 +25 1 1.62363 1.68342 8.4651 1.8496 1.86303 2.33818 +26 1 2.56251 2.66233 0.0202936 -6.7309 -4.60627 -0.0436147 +27 1 2.47347 1.71611 0.900003 2.27232 1.93928 0.205074 +28 1 1.66562 2.5538 0.89239 8.29789 -0.0162708 -2.14995 +29 1 3.47808 1.70927 8.49067 -6.21947 -0.00998514 1.91211 +30 1 4.19294 2.51037 0.0787296 16.1199 8.28753 -17.6776 +31 1 4.29711 1.73051 0.787489 0.142042 -5.75402 7.11231 +32 1 3.43681 2.6439 0.75999 -11.309 -9.11906 21.9869 +33 1 5.20599 1.76704 0.0398807 -10.2389 -11.7619 -5.76949 +34 1 5.91436 2.52733 8.51501 10.4145 9.83206 -1.49498 +35 1 5.9033 1.67223 0.919622 10.1161 4.25667 -5.1777 +36 1 5.15205 2.55373 0.788133 -1.76953 2.31199 6.90362 +37 1 6.92232 1.70971 0.0701593 -2.50899 -1.62202 -0.822044 +38 1 7.5955 2.61765 0.0592135 2.55821 0.640647 0.0382532 +39 1 7.74881 1.7729 0.896218 -1.59166 -5.96851 -6.46077 +40 1 6.80231 2.56106 0.910949 5.84287 -4.44794 -4.99646 +41 1 0.028349 3.48236 8.49963 2.5025 -5.04288 3.39467 +42 1 0.836484 4.27887 0.0816773 0.760548 2.93196 -2.43461 +43 1 0.942186 3.3633 0.783926 -3.69777 5.09684 -0.0674025 +44 1 8.51583 4.33027 0.838505 2.60137 -0.826864 1.21094 +45 1 1.65067 3.4812 8.47243 0.730068 -2.57113 1.91442 +46 1 2.5668 4.2649 8.54781 -0.773361 3.29166 6.51609 +47 1 2.51515 3.35935 0.92744 0.397687 12.5391 -13.0985 +48 1 1.73465 4.30243 0.83421 -1.47193 -2.67124 0.923933 +49 1 3.37869 3.37397 0.0291446 3.12688 15.3224 -6.53558 +50 1 4.34738 4.34434 0.00829503 -5.52046 -6.93359 -2.07611 +51 1 4.32411 3.36572 0.836745 -2.16657 1.87946 3.00206 +52 1 3.33524 4.20214 0.9322 3.17725 3.34929 -6.83564 +53 1 5.08499 3.41929 0.036632 4.03928 -2.58738 -4.81317 +54 1 6.04127 4.33974 8.49644 -0.624803 -0.102814 0.982479 +55 1 6.01611 3.33685 0.909561 -5.08671 5.06768 -6.62403 +56 1 5.207 4.2377 0.760733 -1.32975 0.891019 3.81461 +57 1 6.81304 3.47817 0.0178755 -0.843928 -8.06693 -2.50137 +58 1 7.73203 4.2048 0.00740382 -1.99245 1.66716 -1.57857 +59 1 7.78831 3.44874 0.953497 -3.78613 -1.03229 -4.77194 +60 1 6.90781 4.17709 0.825008 -1.46363 4.64194 5.22986 +61 1 8.46845 5.09622 8.47404 12.6898 1.90364 12.9104 +62 1 0.797366 5.93181 8.52222 2.38416 2.33873 2.4531 +63 1 0.806155 5.19524 0.885366 4.86564 -4.44474 -2.27198 +64 1 0.0123025 5.95271 0.830227 -4.90982 1.72838 0.59014 +65 1 1.70825 5.09756 8.50872 2.27411 3.17124 11.7261 +66 1 2.57892 5.99612 8.47434 -1.64581 0.780097 1.78814 +67 1 2.53606 5.08073 0.912891 1.82428 2.12405 0.338003 +68 1 1.76245 6.06361 0.855052 -0.817516 -1.26047 -0.587481 +69 1 3.36815 5.1611 0.0892763 -1.75416 -1.94918 -4.15038 +70 1 4.34388 5.99478 8.53994 -9.12199 -5.82315 -0.643131 +71 1 4.22842 5.14974 0.779802 4.93843 -0.926739 3.98855 +72 1 3.45177 5.94376 0.905424 -5.40353 3.18508 -3.48186 +73 1 5.06545 5.13306 8.4631 8.02458 6.68819 3.23791 +74 1 5.91929 6.01015 8.53548 3.77131 -1.20656 -2.03594 +75 1 5.88805 5.11842 0.816496 5.73582 1.96394 -4.01157 +76 1 5.18785 6.02276 0.820364 -9.36617 -3.77225 -2.84856 +77 1 6.8933 5.1517 8.49766 -1.10898 -0.445881 0.788116 +78 1 7.73242 5.99103 8.48869 1.48322 -7.68495 9.10162 +79 1 7.66553 5.0457 0.7869 0.413505 3.32493 1.60624 +80 1 6.9298 5.9353 0.896867 -3.44217 0.759559 -1.89572 +81 1 0.0757853 6.76414 0.08264 -2.09776 5.63137 -2.35842 +82 1 0.929754 7.68563 0.0937614 -14.24 2.10473 -10.1605 +83 1 0.947372 6.93568 0.898093 -37.7638 -41.2899 -5.14895 +84 1 0.0463649 7.75037 0.902481 -0.259219 -2.38896 -3.08434 +85 1 1.64115 6.89463 8.52754 6.28385 -7.53573 1.49633 +86 1 2.53763 7.75472 8.45351 15.1175 -6.89071 16.4408 +87 1 2.60347 6.88355 0.853331 -4.53589 -3.86491 -4.69681 +88 1 1.61173 7.63221 0.905993 43.7793 33.7511 -1.13346 +89 1 3.3813 6.82692 8.54355 -0.238432 1.95456 2.34043 +90 1 4.24371 7.77989 0.043504 -5.67067 -7.72392 -1.84442 +91 1 4.1828 6.86814 0.818276 1.21815 -0.827933 0.630987 +92 1 3.3368 7.7382 0.923275 7.52639 -2.01137 -4.72269 +93 1 5.071 6.7563 0.010658 5.49209 11.6713 -3.15323 +94 1 5.90188 7.6356 0.0424163 1.86621 0.862931 -1.97936 +95 1 6.03172 6.8673 0.938495 -1.34369 1.09475 -9.39496 +96 1 5.15248 7.77523 0.857214 -2.90101 -1.73408 2.05686 +97 1 6.89959 6.76423 0.01648 -11.1028 0.34724 0.750719 +98 1 7.65506 7.70409 0.0429309 2.74021 -1.34663 -2.67212 +99 1 7.64597 6.8087 0.792436 6.14337 0.285334 5.54838 +100 1 6.81299 7.61529 0.784654 1.50923 3.73377 2.87701 +101 1 0.039157 8.46192 1.76149 -3.85041 1.88762 -2.12951 +102 1 0.799188 0.819633 1.69376 4.21763 0.723161 -3.63495 +103 1 0.763005 0.0408753 2.55669 11.5628 -1.30287 -1.53659 +104 1 0.0652633 0.934891 2.49039 -5.1145 -1.67274 5.33691 +105 1 1.66381 8.45402 1.66249 1.87623 5.22247 1.17986 +106 1 2.503 0.802578 1.65731 0.0918423 3.77669 3.70231 +107 1 2.51579 0.0135642 2.53917 0.463256 0.0266605 -0.815012 +108 1 1.65685 0.926197 2.57259 5.9178 -9.1905 -0.306187 +109 1 3.4242 0.0443963 1.67808 1.33331 -0.794171 2.32841 +110 1 4.23298 0.877511 1.6619 2.15651 0.36791 0.599305 +111 1 4.23114 8.48221 2.59613 0.139704 5.19667 3.26797 +112 1 3.42382 0.825355 2.52764 0.831325 -0.597344 0.750298 +113 1 5.10755 0.098598 1.64667 1.13835 -0.15217 0.418453 +114 1 6.07979 0.861483 1.66377 -9.38879 -3.1028 5.61252 +115 1 6.06362 0.0403691 2.64895 -6.98521 -8.98289 -11.9164 +116 1 5.20913 0.939312 2.59362 -1.28414 -1.16831 -2.67638 +117 1 6.75529 8.52816 1.79359 4.36806 -0.709446 -4.01445 +118 1 7.76101 0.764033 1.62558 -1.73868 3.93794 4.49945 +119 1 7.66206 0.0708021 2.53607 1.47505 -2.32899 1.29594 +120 1 6.92286 0.947435 2.52138 -4.88314 -16.5943 7.22153 +121 1 8.51449 1.72985 1.71942 6.76951 -3.05423 -0.995536 +122 1 0.834691 2.62553 1.61171 16.0236 -0.437826 23.4167 +123 1 0.945534 1.71145 2.53519 -17.6422 5.766 10.6769 +124 1 8.53575 2.60321 2.48391 2.61084 -9.58061 10.2444 +125 1 1.63294 1.72028 1.76938 14.1815 -0.440268 -11.5313 +126 1 2.57682 2.65502 1.67415 2.8611 -15.9615 10.724 +127 1 2.65189 1.65955 2.48962 -4.47742 1.085 2.58429 +128 1 1.79145 2.49644 2.55538 0.0425348 2.96537 1.56716 +129 1 3.45687 1.73281 1.73911 -3.75938 -0.279924 -8.91417 +130 1 4.34908 2.51749 1.7514 -3.12574 5.69408 -7.34516 +131 1 4.21985 1.73239 2.48294 4.56177 -5.44217 8.83153 +132 1 3.39941 2.5984 2.48766 0.0932155 -0.49927 3.02478 +133 1 5.22539 1.80308 1.7328 -5.21779 -2.43895 2.23844 +134 1 6.07426 2.60134 1.71356 -9.82102 -9.11759 6.53349 +135 1 6.06098 1.72463 2.48049 -24.0059 1.32147 25.9525 +136 1 5.04217 2.48583 2.60699 6.13261 3.37855 2.31458 +137 1 6.77443 1.68358 1.80416 26.2694 11.8834 -33.3324 +138 1 7.78345 2.52468 1.65191 -10.0717 7.23238 6.81167 +139 1 7.67217 1.70427 2.51662 7.38759 5.50979 0.483479 +140 1 6.87655 2.54802 2.65887 0.828003 6.30102 -11.6733 +141 1 8.48905 3.38009 1.79052 3.95862 11.358 -4.16794 +142 1 0.904648 4.31805 1.73458 -1.64595 0.0791848 -3.59387 +143 1 0.882159 3.48871 2.5578 -1.47386 -2.40831 0.515883 +144 1 0.0640856 4.36164 2.51005 -1.54232 -2.6948 -1.06039 +145 1 1.78366 3.38548 1.78248 -8.79706 -1.19951 -6.15917 +146 1 2.61647 4.18826 1.75601 -13.6767 13.2656 0.0962066 +147 1 2.49967 3.46972 2.59724 11.287 -7.88562 -0.187146 +148 1 1.72994 4.21494 2.4741 -1.76295 10.5241 6.69302 +149 1 3.35408 3.46945 1.74549 12.0923 -11.3982 2.63093 +150 1 4.33371 4.2573 1.65266 -1.0572 -0.0681575 -0.357999 +151 1 4.25135 3.37501 2.62082 -0.724851 2.23609 -3.08367 +152 1 3.37046 4.34755 2.6064 0.218455 -8.01846 -3.14612 +153 1 5.16664 3.3978 1.80383 -2.26051 -2.46633 -4.30603 +154 1 6.02075 4.21565 1.63908 -0.444656 2.88859 -0.464916 +155 1 6.04443 3.46025 2.46975 -2.50911 -3.21487 7.82311 +156 1 5.06457 4.21348 2.57808 1.01082 5.99339 -2.31274 +157 1 6.80721 3.3694 1.6818 12.0846 7.00158 1.77966 +158 1 7.66426 4.31037 1.75089 1.93845 -1.12426 -1.15071 +159 1 7.67666 3.35746 2.66226 0.0349977 1.35377 -1.51011 +160 1 6.86746 4.18845 2.58559 1.34212 2.76274 1.29577 +161 1 0.0121787 5.21746 1.67805 -1.66136 -3.05338 2.49187 +162 1 0.848043 6.06063 1.634 -1.152 -1.54074 2.03353 +163 1 0.891535 5.1714 2.53903 -1.80088 0.0367987 2.5043 +164 1 8.53141 6.02479 2.48115 1.46529 0.600203 2.28151 +165 1 1.67096 5.18637 1.75513 2.90335 -0.353263 -4.03581 +166 1 2.63344 6.0279 1.70432 -16.3644 -8.57778 -6.55322 +167 1 2.48532 5.10477 2.59913 0.462017 -0.718364 -1.79537 +168 1 1.74617 5.95248 2.59859 0.0442724 3.34654 -0.327538 +169 1 3.3871 5.11741 1.76498 -0.70902 0.100622 -1.55997 +170 1 4.23897 5.91622 1.65627 3.82091 1.24022 3.5679 +171 1 4.18272 5.19526 2.64844 4.07887 -0.154168 -2.99301 +172 1 3.33243 6.04257 2.48749 13.2178 -9.29314 8.76503 +173 1 5.21355 5.13048 1.6694 -5.38913 -0.724028 1.81762 +174 1 5.88731 6.04999 1.61164 27.08 -23.484 7.87668 +175 1 5.91685 5.19555 2.55373 8.22272 -5.32197 -1.91553 +176 1 5.22513 6.01752 2.48789 -6.37641 3.03262 4.81469 +177 1 6.87923 5.14396 1.75241 -1.31228 -0.52571 -0.175031 +178 1 7.66325 6.00346 1.75398 1.55065 0.721262 -1.56625 +179 1 7.71088 5.21107 2.64045 -0.197441 -3.63935 -3.47269 +180 1 6.81367 6.03163 2.50271 -0.887486 -5.65654 8.47366 +181 1 8.45469 6.86312 1.68381 5.32955 -1.93357 -1.0964 +182 1 0.887234 7.64699 1.70441 -8.03342 4.67955 6.65869 +183 1 0.827773 6.84361 2.49826 0.666014 -0.927683 2.41577 +184 1 0.0243326 7.6531 2.64337 -2.41729 -1.59288 -7.26092 +185 1 1.67566 6.82407 1.70759 6.3287 0.149047 4.42322 +186 1 2.51454 7.65687 1.63227 -3.24159 2.2536 7.24906 +187 1 2.61047 6.80534 2.59521 -8.48569 7.62473 -2.75927 +188 1 1.62469 7.75189 2.55083 1.70283 -3.32336 -0.400725 +189 1 3.32845 6.81114 1.68061 10.3844 9.25335 0.5217 +190 1 4.35781 7.7751 1.79868 -7.49989 -3.23754 -13.7369 +191 1 4.19243 6.92819 2.60428 15.2501 -13.591 -1.36339 +192 1 3.43706 7.60555 2.52571 -13.7857 14.6138 -0.968483 +193 1 5.20185 6.77695 1.66316 -21.9331 19.6829 3.32007 +194 1 5.90138 7.62608 1.77842 3.59956 5.50204 -2.20333 +195 1 5.95566 6.93899 2.64467 1.5684 -14.0837 -9.48217 +196 1 5.06902 7.62841 2.55428 6.74225 1.46675 8.63059 +197 1 6.76742 6.8085 1.78801 1.36869 6.36826 -6.59728 +198 1 7.65843 7.62584 1.68675 -2.22178 4.8322 -2.62428 +199 1 7.67415 6.89867 2.52463 2.21143 -5.15334 3.5596 +200 1 6.87662 7.66202 2.55284 -3.26152 2.73313 1.32325 +201 1 0.0405641 8.51038 3.32948 -5.92557 3.54592 8.59039 +202 1 0.809165 0.908392 3.38948 1.71953 -1.70344 0.923667 +203 1 0.901714 8.46653 4.19384 -9.71216 4.93867 8.34322 +204 1 0.069999 0.928448 4.31429 -4.27362 -2.53344 -6.14786 +205 1 1.6264 8.4509 3.42354 8.98155 6.03203 -6.76996 +206 1 2.65602 0.762944 3.43842 -5.54094 5.64927 -11.0802 +207 1 2.61793 0.0468587 4.22961 -1.55064 -6.54911 6.6458 +208 1 1.68094 0.888048 4.32275 0.711784 -4.72688 -3.71581 +209 1 3.43429 8.45723 3.40115 7.64008 12.4108 0.619842 +210 1 4.23416 0.880739 3.42582 5.39503 -6.32873 -0.402512 +211 1 4.18642 8.4609 4.33191 11.6244 16.7018 2.29066 +212 1 3.36155 0.898574 4.22656 4.93072 -1.64922 5.55995 +213 1 5.13206 0.0787666 3.45034 -0.945527 -3.11163 -2.8253 +214 1 6.05542 0.815095 3.33818 0.680768 11.3265 10.7561 +215 1 5.88615 0.068379 4.32153 11.9175 -9.57172 -8.45948 +216 1 5.21525 0.885851 4.19789 -5.15816 5.54694 4.34946 +217 1 6.80589 8.45257 3.40423 5.88256 0.0541198 6.21084 +218 1 7.74454 0.870555 3.46229 0.501904 -4.05279 -5.44709 +219 1 7.62711 0.0144156 4.35804 1.95636 -0.757148 -6.431 +220 1 6.7475 0.756319 4.34542 2.82117 3.60456 -0.442947 +221 1 0.046471 1.74765 3.48426 -2.94726 0.460616 -2.28233 +222 1 0.888532 2.54472 3.37968 0.966992 1.17998 0.546373 +223 1 0.832134 1.79852 4.28422 5.1168 -14.8036 -11.8055 +224 1 0.0855384 2.60849 4.37243 -9.37894 3.13224 -11.0091 +225 1 1.76053 1.64213 3.45381 -3.40447 2.71972 -2.85028 +226 1 2.52635 2.61582 3.43297 3.65437 -1.51294 -3.08517 +227 1 2.50122 1.75788 4.25552 8.72555 -0.689386 -1.86072 +228 1 1.75205 2.6278 4.21833 -8.89154 -5.54607 2.69229 +229 1 3.50205 1.65486 3.36684 -7.50491 6.39615 -0.836562 +230 1 4.28152 2.60594 3.4252 -1.76945 -2.76432 2.53661 +231 1 4.17705 1.67239 4.28707 6.76533 -1.25356 -1.29705 +232 1 3.44438 2.47178 4.25656 -4.81944 5.002 -0.576402 +233 1 5.22486 1.68937 3.43619 -3.28026 2.78772 -4.39101 +234 1 6.02069 2.55292 3.33778 -3.72236 0.507942 3.01424 +235 1 5.96152 1.77008 4.23889 4.98563 -0.248026 3.40967 +236 1 5.17107 2.61009 4.24734 -0.598251 0.473097 -0.376582 +237 1 6.87337 1.72985 3.32607 -2.78397 -6.76638 7.83701 +238 1 7.692 2.50127 3.44714 2.52098 2.71173 -0.194497 +239 1 7.63531 1.64894 4.19535 0.881487 3.19892 6.53537 +240 1 6.92924 2.5559 4.32195 -3.68781 1.74243 -2.92343 +241 1 0.0154582 3.42553 3.38818 0.573657 0.250438 1.11994 +242 1 0.946668 4.34133 3.49534 -14.1263 -16.7645 -9.90419 +243 1 0.911751 3.43019 4.31621 -0.850264 0.755291 -1.68921 +244 1 0.0046042 4.25775 4.34424 -1.31738 -1.24756 -1.54253 +245 1 1.76086 3.48229 3.3966 -12.418 -8.98763 3.21891 +246 1 2.48605 4.22978 3.40508 14.0841 10.3397 -4.15997 +247 1 2.54799 3.33831 4.30225 4.92033 13.8543 -7.00111 +248 1 1.7676 4.3622 4.17566 0.280546 -16.6448 26.3844 +249 1 3.37038 3.45998 3.42173 -0.200746 -1.45028 -1.29578 +250 1 4.20874 4.30541 3.50172 4.65367 -11.48 -19.1828 +251 1 4.21154 3.43635 4.23457 4.19917 -3.40534 2.03948 +252 1 3.45806 4.23712 4.25878 -8.55751 2.75292 6.08306 +253 1 5.11168 3.47839 3.3691 -0.311412 -5.69502 5.70804 +254 1 5.92148 4.26406 3.41002 5.13821 -1.04796 0.0327238 +255 1 6.02264 3.46008 4.23226 -3.02748 -3.55814 1.41554 +256 1 5.17114 4.24863 4.35423 -2.77791 4.93248 -13.0008 +257 1 6.86557 3.34851 3.50434 -4.54964 -0.0741147 -9.06001 +258 1 7.67607 4.29403 3.50495 4.02814 6.65377 -10.7943 +259 1 7.67432 3.49417 4.17544 8.6417 -11.3672 14.2425 +260 1 6.8466 4.22166 4.23144 -3.46256 4.46394 4.938 +261 1 0.0814499 5.05812 3.37338 -2.94602 3.43381 2.0972 +262 1 0.952662 5.9924 3.43554 -2.60446 0.4469 0.54362 +263 1 0.765082 5.07607 4.26673 5.31334 4.0071 5.5605 +264 1 0.0672914 5.95184 4.29838 -1.77164 3.23629 -2.96482 +265 1 1.64676 5.09677 3.49021 9.45599 25.7387 -15.7709 +266 1 2.59524 6.06011 3.441 -1.69946 -11.0916 -4.14222 +267 1 2.46878 5.21999 4.3176 5.41184 -22.6386 -22.4739 +268 1 1.72435 5.99765 4.33067 -8.961 3.18884 -2.81076 +269 1 3.33576 5.13502 3.32819 -1.95672 4.97188 10.3591 +270 1 4.33219 6.01601 3.4905 -3.43576 -1.4684 -1.43775 +271 1 4.2868 5.05318 4.19611 2.54498 12.874 12.0539 +272 1 3.47487 5.92769 4.31716 -1.095 0.823289 -0.856965 +273 1 5.22135 5.10776 3.40172 -8.93936 2.06172 1.30023 +274 1 6.0405 5.92456 3.43523 0.724841 2.24513 0.144002 +275 1 5.92006 5.1314 4.26005 8.25611 -3.42587 -2.20917 +276 1 5.11155 5.91401 4.29084 1.00396 1.28478 -0.181662 +277 1 6.86476 5.07118 3.47111 -5.70253 1.83988 -3.65428 +278 1 7.60709 5.97166 3.43329 1.57958 3.02153 1.22094 +279 1 7.62121 5.17116 4.25108 13.415 -9.76593 -1.32536 +280 1 6.90725 5.93696 4.35438 -12.0061 10.5099 -5.89092 +281 1 0.0158532 6.88433 3.5005 2.50125 -3.66413 -3.15884 +282 1 0.832759 7.6858 3.39159 0.810583 -3.83454 1.16734 +283 1 0.879361 6.87893 4.25184 1.06811 -4.80567 -3.71366 +284 1 8.48025 7.67569 4.32838 6.71448 4.3067 1.89144 +285 1 1.76699 6.83608 3.37875 -3.92913 2.06189 -0.762911 +286 1 2.64337 7.79272 3.38564 -11.5742 -11.6301 0.504133 +287 1 2.51611 6.79594 4.20547 2.9771 6.7763 8.40555 +288 1 1.73472 7.75634 4.30153 3.5376 -4.65751 1.06495 +289 1 3.42458 6.78486 3.36363 0.711862 2.92454 6.30952 +290 1 4.29146 7.78029 3.51531 3.92856 -8.43358 -6.61451 +291 1 4.22796 6.89496 4.356 2.49253 -3.58746 -4.19183 +292 1 3.49073 7.69895 4.31251 -15.4332 -7.21194 0.0843114 +293 1 5.03295 6.88949 3.43613 2.4132 0.715094 1.20127 +294 1 5.9914 7.60738 3.43115 0.166605 10.2994 10.8333 +295 1 6.06057 6.76316 4.28526 -0.682389 0.774521 0.518315 +296 1 5.1506 7.68481 4.35956 -0.587179 -0.831286 -4.17718 +297 1 6.91829 6.87557 3.41173 -2.20287 0.087574 0.74732 +298 1 7.77376 7.66664 3.47631 -5.20912 2.94829 -3.10686 +299 1 7.7733 6.85147 4.2793 -6.28798 -5.26886 2.97867 +300 1 6.79627 7.70864 4.34123 1.13479 0.471756 -2.41754 +301 1 8.47537 0.0666715 5.07785 3.07732 -2.35936 2.36099 +302 1 0.837862 0.824189 5.08442 2.67015 -0.0526079 4.2528 +303 1 0.947354 8.53746 5.97515 -9.44477 -2.06512 3.38353 +304 1 8.45527 0.903487 5.90211 4.35699 -8.49334 13.6006 +305 1 1.71466 0.0614796 5.21675 1.71751 -10.7388 -14.8483 +306 1 2.56545 0.785351 5.1483 1.0332 2.19745 -1.75997 +307 1 2.58448 8.48208 5.91956 0.430753 0.76971 3.58164 +308 1 1.65003 0.816215 5.93197 3.03102 12.7849 8.36083 +309 1 3.46033 0.0141985 5.16494 -4.25366 -0.783326 -0.484155 +310 1 4.20213 0.929517 5.13838 2.42665 -3.78185 -0.152962 +311 1 4.26733 0.0836521 5.92638 3.25998 -1.091 1.74874 +312 1 3.41102 0.861262 6.03148 -0.949591 0.0559607 -1.66554 +313 1 5.1564 8.53616 5.06672 -11.5945 -0.673098 9.37255 +314 1 5.94115 0.761043 5.20173 4.62182 33.122 -29.3364 +315 1 5.93463 0.0696556 5.8868 1.75697 -30.8547 30.3151 +316 1 5.14065 0.9256 5.95741 -0.006185 -4.789 2.4932 +317 1 6.91953 8.50208 5.18386 -10.6338 4.52372 2.129 +318 1 7.72317 0.898909 5.10883 -6.55365 -0.206627 -4.30053 +319 1 7.67728 0.0288812 5.99182 2.50541 0.776267 0.642418 +320 1 6.91834 0.891409 5.91811 -4.13582 -0.84176 -0.41985 +321 1 0.0355634 1.62397 5.15959 0.786537 13.0999 -7.10363 +322 1 0.855042 2.4658 5.05819 10.8208 10.8619 21.426 +323 1 0.798893 1.71459 6.01685 5.79471 -4.43182 -0.915803 +324 1 0.0659206 2.49237 5.91102 -5.57064 6.4328 0.916789 +325 1 1.77633 1.69788 5.04117 -5.55508 3.43302 7.46453 +326 1 2.55086 2.64298 5.08873 0.0193134 -8.77259 6.85672 +327 1 2.49765 1.63315 5.92814 1.12021 1.50275 1.88199 +328 1 1.80539 2.621 5.95731 -6.21714 -3.35524 -0.269961 +329 1 3.34329 1.63256 5.07699 -2.20219 4.06192 2.43743 +330 1 4.31458 2.52073 5.06335 -0.0632538 1.3392 1.20942 +331 1 4.33916 1.68863 5.97126 -3.41941 3.44417 2.01134 +332 1 3.42212 2.64548 5.89276 -0.0280586 -2.67425 3.44656 +333 1 5.16333 1.72803 5.18363 0.62931 0.268233 -3.53629 +334 1 5.97493 2.53755 5.18126 5.42417 -2.99996 -10.5798 +335 1 5.97644 1.77632 6.05208 2.30795 -0.932212 -2.38345 +336 1 5.20771 2.64035 5.9206 -9.19429 -1.91265 5.67918 +337 1 6.82113 1.7288 5.07227 0.319047 -2.27809 2.42075 +338 1 7.76584 2.66005 5.04767 0.36372 -2.98667 3.98468 +339 1 7.68048 1.73285 5.98682 1.83082 2.55026 -3.35109 +340 1 6.77723 2.66049 6.0628 11.9195 -28.0419 -0.192401 +341 1 8.52926 3.48894 5.20725 0.756027 -4.20422 -2.12394 +342 1 0.880496 4.18659 5.21886 -2.21024 5.88812 -5.98946 +343 1 0.823278 3.46696 6.03218 3.03891 -2.5906 1.31712 +344 1 8.45604 4.28238 5.97679 3.43734 -0.298701 2.3281 +345 1 1.66848 3.43018 5.1681 4.45896 -2.65722 -0.776378 +346 1 2.47623 4.29797 5.21376 10.0204 -9.1421 -8.64412 +347 1 2.46945 3.49538 6.0664 15.3766 -12.245 -4.5397 +348 1 1.75883 4.22715 6.00615 -17.7933 12.7993 4.23364 +349 1 3.32535 3.48763 5.18919 1.16348 3.11251 -2.54898 +350 1 4.29953 4.30461 5.21296 -7.48003 6.57243 -13.8987 +351 1 4.32836 3.50006 5.90127 -9.25916 -18.9556 4.88449 +352 1 3.45987 4.23872 6.06433 -4.26661 1.09432 -3.11516 +353 1 5.16317 3.46797 5.05136 -2.20358 -10.3645 8.38524 +354 1 6.01128 4.18674 5.11415 3.72823 2.851 1.21774 +355 1 6.05124 3.32995 5.89897 -17.0823 24.7049 3.10753 +356 1 5.05098 4.23901 5.94533 18.4684 10.5132 6.34816 +357 1 6.93195 3.37363 5.21832 -12.1973 3.61502 -16.8233 +358 1 7.67472 4.24466 5.1448 -0.046387 1.44369 -2.14451 +359 1 7.59877 3.3598 5.99617 16.3705 11.4653 3.48987 +360 1 6.9163 4.33093 6.01136 -0.884888 -0.827495 0.436994 +361 1 8.47485 5.1618 5.06757 4.58611 -6.95556 3.64111 +362 1 0.866551 5.92561 5.22826 -2.4458 0.731452 -4.83922 +363 1 0.856029 5.03088 5.93872 -0.961264 1.16585 2.50638 +364 1 0.025531 6.08363 6.03301 -0.603503 -3.86392 0.433571 +365 1 1.73882 5.05771 5.16436 -7.87894 6.49017 -0.085231 +366 1 2.54586 5.89415 5.04217 4.79689 21.4637 24.3945 +367 1 2.63875 5.11717 5.9033 -10.4096 0.222879 12.4433 +368 1 1.7282 6.02787 5.89482 3.82714 -3.17245 6.07309 +369 1 3.41343 5.11888 5.19776 7.89672 -3.25441 -9.4893 +370 1 4.34849 6.08405 5.13729 -6.43313 -7.37614 1.57014 +371 1 4.30919 5.18003 6.06007 -0.523489 -1.53897 -0.492658 +372 1 3.32135 5.97978 5.88753 6.80953 0.93257 3.29984 +373 1 5.2281 5.04347 5.09516 -5.81719 1.07839 6.76004 +374 1 5.94602 5.8851 5.09539 3.02249 4.44225 2.10278 +375 1 6.04092 5.17575 6.07061 0.50428 -9.39491 -12.3653 +376 1 5.21437 6.06631 6.06016 -6.35945 -8.11006 -13.4627 +377 1 6.91579 5.12007 5.08308 -5.11836 -4.49572 6.409 +378 1 7.70983 5.91053 5.07808 1.5309 9.32926 6.58643 +379 1 7.76683 5.15653 6.01534 -1.66429 -5.18049 -8.59085 +380 1 6.93784 6.03915 5.96221 -25.2768 -19.3137 -6.75792 +381 1 0.0625638 6.74931 5.10819 -0.676634 2.54846 -0.0250987 +382 1 0.86361 7.61298 5.03345 -2.5044 7.0388 6.38474 +383 1 0.851706 6.88156 6.03092 0.201379 -3.97494 -1.33706 +384 1 0.0506067 7.6425 5.89338 -1.769 2.22377 0.622415 +385 1 1.66322 6.86583 5.19561 3.09287 -3.33398 -7.05581 +386 1 2.62799 7.62451 5.17609 -27.9662 28.0267 -4.59006 +387 1 2.66202 6.83135 5.96842 -24.8289 -0.817724 19.495 +388 1 1.64735 7.66733 5.92394 4.49398 5.54382 1.70924 +389 1 3.32274 6.93842 5.22499 45.6897 -26.2601 -20.0997 +390 1 4.28266 7.68312 5.1494 -0.162983 0.307259 3.3477 +391 1 4.21122 6.74188 6.04596 -0.795282 5.66715 -3.63702 +392 1 3.40786 7.67271 6.05784 2.18013 1.35082 -0.335047 +393 1 5.13386 6.80127 5.05013 6.80473 4.27889 3.23937 +394 1 6.0188 7.62146 5.18796 -3.27693 10.2601 -11.1928 +395 1 5.9142 6.93974 5.96821 7.16288 -22.7812 5.828 +396 1 5.1207 7.60724 5.96887 -13.0365 8.36981 -2.80723 +397 1 6.90344 6.91817 5.14994 -0.204819 -5.34708 -0.858742 +398 1 7.6747 7.73724 5.15589 4.74286 -4.17129 0.509029 +399 1 7.64232 6.7419 6.03772 18.4896 23.5989 -0.89996 +400 1 6.75496 7.62762 6.01659 7.03025 5.11039 1.24431 +401 1 0.0963896 0.0201086 6.80553 -1.40648 -0.449972 0.0493894 +402 1 0.835843 0.891839 6.79877 7.20248 -7.32555 0.745706 +403 1 0.918901 8.53581 7.64787 -17.0565 2.54879 17.4592 +404 1 0.0577403 0.896342 7.73471 1.30728 -4.31515 -1.61795 +405 1 1.61051 8.45024 6.92242 29.7484 14.9171 -14.6755 +406 1 2.47578 0.885204 6.88627 1.39053 -1.86497 -2.40181 +407 1 2.50444 0.0274811 7.76899 5.04636 2.83552 -7.66004 +408 1 1.76075 0.832954 7.77629 -9.26653 -0.311946 -7.26081 +409 1 3.50837 8.51457 6.78791 -7.98313 -6.7176 0.868776 +410 1 4.17648 0.757665 6.93195 8.57719 11.9693 -2.56623 +411 1 4.23832 0.0657272 7.77237 -2.00114 -7.83956 -8.62893 +412 1 3.37339 0.86481 7.76894 -4.57993 4.49098 -10.8865 +413 1 5.14407 0.0592801 6.76072 -1.57797 -1.16589 1.03837 +414 1 5.93853 0.879814 6.88423 6.63031 -4.29327 -1.40131 +415 1 6.03919 8.48714 7.63222 -2.96915 1.1039 1.2166 +416 1 5.15255 0.794385 7.73799 -0.425319 2.1861 -1.28188 +417 1 6.89313 0.0918814 6.89086 -1.49841 -3.77335 -3.98868 +418 1 7.61212 0.939213 6.80354 8.77263 -4.1407 2.30253 +419 1 7.70899 8.53849 7.72172 -1.01623 -1.03696 -1.75272 +420 1 6.83169 0.853131 7.69229 0.514071 1.96118 2.47006 +421 1 0.0995377 1.63996 6.92907 -20.9698 6.48021 -16.3567 +422 1 0.856061 2.59196 6.8009 3.6314 -4.45866 -1.95318 +423 1 0.7986 1.79168 7.64825 21.262 -5.45904 12.6361 +424 1 0.086833 2.5674 7.63497 -11.6486 2.30739 1.5806 +425 1 1.65946 1.72494 6.90853 -2.96091 -3.71884 -7.8878 +426 1 2.55175 2.62076 6.77199 1.34599 -1.3093 4.14575 +427 1 2.49264 1.73911 7.61263 5.68035 -0.198489 5.50404 +428 1 1.73023 2.55227 7.60126 -2.61513 6.16936 5.4644 +429 1 3.34887 1.7831 6.78557 0.7181 -0.718938 0.35045 +430 1 4.23104 2.60662 6.78869 6.67274 -5.2978 -0.800832 +431 1 4.35855 1.74494 7.60411 -4.34125 -3.35913 2.62052 +432 1 3.36542 2.60589 7.78048 1.27821 -1.57097 -4.57229 +433 1 5.20004 1.65594 6.83168 -6.03666 5.50106 2.07188 +434 1 5.95504 2.56783 6.93549 0.704503 2.20695 -11.5481 +435 1 6.05448 1.73837 7.6627 -1.83376 -2.83098 2.15288 +436 1 5.1146 2.5438 7.6124 2.3372 -0.290906 4.36925 +437 1 6.88113 1.721 6.77631 -7.16431 5.43568 2.84999 +438 1 7.667 2.62761 6.74793 2.83097 -7.51196 9.4855 +439 1 7.73348 1.72515 7.754 -4.1563 0.657477 -6.03723 +440 1 6.7624 2.63316 7.64937 6.65302 -0.565372 4.94425 +441 1 0.0849859 3.37793 6.84942 -10.0386 4.11872 -3.53604 +442 1 0.857904 4.2895 6.93068 1.24699 0.504054 -2.41984 +443 1 0.822866 3.35005 7.62376 7.62204 5.76535 8.89189 +444 1 0.0609986 4.27823 7.72873 -1.62474 0.278416 -2.41968 +445 1 1.65771 3.45598 6.89789 2.67743 0.0202624 -2.34558 +446 1 2.54508 4.23374 6.86348 0.989961 3.94158 3.39783 +447 1 2.51344 3.50821 7.77131 2.79285 -8.19104 -6.06353 +448 1 1.76675 4.31871 7.74484 -7.62178 -3.47349 -5.94274 +449 1 3.46999 3.3444 6.87805 -6.49672 7.19856 -0.129806 +450 1 4.27761 4.20284 6.7963 2.00695 2.57497 4.55692 +451 1 4.36643 3.33193 7.71738 -5.18938 3.59254 -0.980407 +452 1 3.39117 4.21736 7.78484 2.56803 1.85612 -2.81745 +453 1 5.17851 3.50703 6.80054 -0.562057 -4.69817 1.35476 +454 1 5.91855 4.34694 6.82856 20.1656 -16.4219 -1.68121 +455 1 5.94421 3.41917 7.73472 -0.686701 1.44481 -0.413888 +456 1 5.21752 4.35256 7.70192 -2.57704 -7.73472 4.05334 +457 1 6.81349 3.41173 6.82265 -1.40277 6.3135 5.01717 +458 1 7.75813 4.35693 6.90395 -1.64702 -1.61669 -0.476323 +459 1 7.7614 3.35066 7.72289 -1.59004 1.58238 -2.0122 +460 1 6.90386 4.19648 7.73719 0.143217 3.47184 -3.3084 +461 1 8.51568 5.21538 6.91302 4.27065 -2.85002 -1.50895 +462 1 0.951652 6.01174 6.9207 -11.7991 -7.13131 -18.8927 +463 1 0.936182 5.16144 7.77632 -7.30596 -5.41004 -9.74737 +464 1 0.00163562 6.07485 7.63199 0.624183 -4.07361 5.99132 +465 1 1.66533 5.15284 6.74597 2.96466 -1.56742 2.06772 +466 1 2.61909 5.93515 6.89385 -1.40662 1.18192 -1.24787 +467 1 2.46927 5.13962 7.72554 6.76967 2.2802 -3.81441 +468 1 1.64453 6.02831 7.68681 19.7677 -7.24739 11.5441 +469 1 3.40343 5.06011 6.8889 -0.198511 0.401262 -0.796323 +470 1 4.30752 6.01937 6.85588 -10.789 -11.9311 3.49788 +471 1 4.28416 5.14222 7.62835 0.609452 -0.263512 0.8346 +472 1 3.47645 6.07368 7.70428 -7.22384 -10.7657 -0.906726 +473 1 5.22078 5.0656 6.90915 -18.0053 20.6161 -6.39 +474 1 5.99499 5.93089 6.77083 3.48021 13.0571 15.6598 +475 1 6.05342 5.21794 7.69617 -5.52282 -4.0969 2.40523 +476 1 5.15908 5.93838 7.59985 0.288818 1.34614 5.01043 +477 1 6.82844 5.21514 6.92244 2.6589 -10.3439 -6.80084 +478 1 7.65444 5.90306 6.73997 5.39846 9.09532 17.1635 +479 1 7.73871 5.1328 7.74827 -11.0217 0.411956 -11.9718 +480 1 6.85057 5.9849 7.66627 -2.19779 2.18231 4.19621 +481 1 8.49223 6.85953 6.88515 0.63092 3.61848 -3.8326 +482 1 0.912061 7.72558 6.80554 -14.7372 -15.0451 -0.530208 +483 1 0.94972 6.80465 7.60047 -8.86666 17.9559 7.11774 +484 1 0.0485157 7.69847 7.76952 0.871021 -3.29928 -3.01128 +485 1 1.7395 6.92207 6.74618 -0.216972 -4.99493 2.92958 +486 1 2.48517 7.73307 6.85664 4.02861 0.442708 -0.186237 +487 1 2.60224 6.86957 7.70226 -2.68029 -0.280597 -1.3011 +488 1 1.75659 7.71058 7.78997 -12.217 -12.015 -24.8657 +489 1 3.36601 6.81921 6.83807 2.83617 1.11452 1.50668 +490 1 4.30578 7.6333 6.9198 -11.3388 0.787746 -11.6868 +491 1 4.17656 6.84912 7.75346 9.62737 7.65922 -1.79281 +492 1 3.37828 7.72239 7.62462 0.544776 0.263736 1.68806 +493 1 5.03666 6.75188 6.83201 10.5371 18.8221 7.02157 +494 1 5.88561 7.69892 6.74579 2.44744 2.75196 7.83 +495 1 6.02886 6.89217 7.71335 -1.94107 -2.07696 0.28038 +496 1 5.05253 7.6432 7.63466 10.7152 0.484071 10.517 +497 1 6.76592 6.82276 6.85512 1.71624 -1.12004 -2.46021 +498 1 7.63682 7.73046 6.77254 1.37903 -1.27982 -0.239663 +499 1 7.60482 6.74157 7.76697 8.04118 12.5638 -12.9988 +500 1 6.86424 7.69163 7.60229 0.0588858 0.119654 2.66424 +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +0.0000000000000000e+00 8.2207069144348992e+00 +ITEM: ATOMS id type x y z f_1[1] f_1[2] f_1[3] +1 1 0.0109462 8.19276 8.15872 -2.39444 9.6729 7.55614 +2 1 0.913757 0.79291 0.0997863 -14.8553 6.06953 -19.2131 +3 1 0.922041 0.00329478 0.797424 -4.57303 -13.0314 3.29774 +4 1 0.0667547 0.768895 0.898382 -4.60646 8.57627 -8.38591 +5 1 1.74036 8.13245 0.0766359 -17.8989 17.5469 -5.09772 +6 1 2.47269 0.889925 0.0248853 -5.42566 -21.0007 -17.6291 +7 1 2.46322 8.1233 0.872599 4.75898 11.1097 -4.77186 +8 1 1.65846 0.837491 0.791152 15.1363 -5.40511 14.9864 +9 1 3.32881 8.19546 0.053156 -13.3342 -9.93994 -9.94684 +10 1 4.03279 0.760382 0.00184897 9.91793 7.67217 -5.53917 +11 1 4.13378 8.169 0.732239 -0.574085 -2.22965 11.4349 +12 1 3.20922 0.774467 0.746193 11.6707 -5.4973 20.7036 +13 1 4.84922 8.194 8.14339 7.30804 6.79019 8.16024 +14 1 5.8218 0.772541 8.17358 -10.0231 -1.2549 7.34514 +15 1 5.68256 8.16785 0.77714 3.02512 1.45358 -0.272422 +16 1 4.85759 0.84201 0.746179 4.61671 -0.701957 -1.77598 +17 1 6.62546 8.16087 8.21828 -7.1959 6.90651 13.7327 +18 1 7.47259 0.88807 0.0569708 -4.40901 -2.93179 -3.05075 +19 1 7.47431 0.0411346 0.771198 -11.1102 -3.58532 -4.76152 +20 1 6.57656 0.847149 0.913044 26.339 -17.4997 -36.7448 +21 1 8.18759 1.70398 8.18761 4.1072 -0.492398 0.811998 +22 1 0.899666 2.41042 8.17073 -11.5274 -4.75425 3.68191 +23 1 0.850302 1.72005 0.839978 5.34352 -14.6759 -1.78579 +24 1 0.0603398 2.39798 0.844681 -8.60658 17.5352 -6.64359 +25 1 1.71223 1.59237 0.0242378 -11.0164 14.7761 -6.28233 +26 1 2.39934 2.5183 0.00540478 8.02997 -3.83137 6.03634 +27 1 2.48112 1.56604 0.834626 2.61805 16.1266 0.364368 +28 1 1.6143 2.50502 0.831093 22.9512 -23.9291 -18.4162 +29 1 3.30714 1.5456 0.0352888 3.02185 20.9324 -4.02492 +30 1 4.17998 2.44319 8.21567 -15.5858 -1.30182 -5.2994 +31 1 4.13571 1.72982 0.900024 -11.4398 -17.9409 -9.12775 +32 1 3.31093 2.54257 0.820203 -10.3368 -11.5392 -3.6507 +33 1 5.0044 1.71067 8.16991 -2.52586 -20.2729 12.2321 +34 1 5.83707 2.42978 0.0552544 -9.07217 4.33101 -1.43054 +35 1 5.68958 1.61323 0.87339 20.6627 3.79367 -24.2404 +36 1 4.88712 2.41203 0.783075 18.227 14.4306 8.63131 +37 1 6.51234 1.55641 0.0925838 9.00513 9.77167 -3.15357 +38 1 7.38894 2.55021 8.21638 -3.89162 -5.39246 1.97695 +39 1 7.3932 1.68143 0.910549 14.6159 -16.4356 -32.9418 +40 1 6.52029 2.5195 0.875176 1.21021 -6.27577 -1.18313 +41 1 0.0178952 3.25358 8.17469 3.31384 23.2108 27.1434 +42 1 0.75874 4.10726 8.14569 6.02202 2.9315 8.91628 +43 1 0.895393 3.22207 0.752637 -27.1078 14.1691 0.641871 +44 1 8.18599 4.06691 0.900855 -0.259841 0.495686 -5.35481 +45 1 1.55285 3.22874 8.15747 6.98433 26.3863 8.64396 +46 1 2.49624 4.20319 8.19485 -11.6121 -5.75058 -7.87094 +47 1 2.42547 3.30302 0.888339 10.6882 -12.4594 -2.99107 +48 1 1.6862 4.0108 0.835279 -13.347 15.0654 -7.27246 +49 1 3.22 3.33904 0.0153378 4.70565 -17.4148 -11.2872 +50 1 4.15099 4.01359 0.0472035 -3.25232 -0.128895 -8.82814 +51 1 4.06799 3.24916 0.843927 9.3476 8.05351 2.04714 +52 1 3.19501 4.05 0.736238 12.2088 14.8797 22.981 +53 1 4.93359 3.21205 8.21538 5.02686 8.32666 2.39487 +54 1 5.81852 4.10681 0.0313505 -9.96067 16.6194 -8.35941 +55 1 5.78406 3.36669 0.776887 -2.74739 -9.47942 10.9149 +56 1 4.90983 4.0411 0.864362 0.837356 4.14382 -0.368312 +57 1 6.53897 3.36302 8.19911 9.90234 -20.173 11.5285 +58 1 7.46276 4.04697 0.0534703 -5.76424 1.73449 -3.50806 +59 1 7.34501 3.24442 0.827453 2.34892 5.8087 4.09531 +60 1 6.59021 4.15121 0.905225 -2.44603 -12.1461 -5.89568 +61 1 8.13258 4.93013 0.0905402 6.61239 1.0085 -5.83678 +62 1 0.918786 5.84938 8.18896 -100.34 -125.435 4.75603 +63 1 0.733666 4.90689 0.894865 5.0782 -1.1493 -19.9038 +64 1 8.13743 5.78012 0.885656 21.4143 -27.2006 -30.8387 +65 1 1.67225 4.91657 0.0765019 -6.36422 -5.41993 -9.68754 +66 1 2.43163 5.74665 8.16344 0.0454169 7.36314 0.282499 +67 1 2.52248 4.94902 0.779546 -17.0632 -3.92502 5.40756 +68 1 1.68817 5.73221 0.738326 -10.7061 -22.6586 25.0306 +69 1 3.20519 4.98792 8.20267 13.0471 -20.6699 18.764 +70 1 4.1645 5.8475 0.0144516 -41.0284 -51.2746 -22.2701 +71 1 4.12065 4.85332 0.726813 -6.7392 5.54296 9.04283 +72 1 3.22358 5.72978 0.902951 13.2902 6.38408 -11.6219 +73 1 4.86923 4.9681 8.18768 10.2044 -1.77915 -2.81852 +74 1 5.77301 5.70687 8.13281 -22.5863 16.9623 33.7246 +75 1 5.78731 4.97674 0.770243 -6.25016 -2.29075 -2.78772 +76 1 4.89256 5.78932 0.733037 29.9716 -43.8231 39.093 +77 1 6.61696 5.02048 8.19969 -11.3595 -28.891 -1.36328 +78 1 7.33645 5.74186 0.0277988 27.1444 12.1113 -11.7126 +79 1 7.32557 4.92161 0.798933 6.38759 1.63603 8.88722 +80 1 6.60198 5.76847 0.724174 -12.087 6.06842 22.1567 +81 1 0.0632305 6.4911 0.00261304 -6.53376 9.85675 7.22968 +82 1 0.730752 7.3973 8.19101 19.8665 -4.89129 14.6872 +83 1 0.894205 6.53954 0.906348 -15.672 -5.70878 -18.8817 +84 1 0.0916376 7.35116 0.914882 -39.3163 -12.8553 -54.9509 +85 1 1.54844 6.4779 0.0899714 109.204 121.919 -0.90408 +86 1 2.45374 7.43343 8.1677 17.1682 -16.9212 2.53497 +87 1 2.38485 6.48495 0.871503 16.8711 24.0952 -19.5071 +88 1 1.73482 7.30198 0.918245 -4.50526 25.4363 -21.6583 +89 1 3.35837 6.52948 0.00621289 -17.9347 4.05163 8.57797 +90 1 4.15544 7.30314 8.17418 -3.86421 14.3399 10.028 +91 1 4.18078 6.49797 0.807337 -33.0181 25.5019 29.3461 +92 1 3.28881 7.33369 0.840128 0.0678552 -0.60668 -1.16807 +93 1 4.86711 6.50097 0.0644243 55.2704 56.5162 -42.5456 +94 1 5.6807 7.37537 8.15497 2.37339 1.6253 6.06405 +95 1 5.83906 6.54647 0.813774 -8.31017 -0.439493 -0.862375 +96 1 4.90102 7.33548 0.785855 3.38301 3.17369 4.3776 +97 1 6.62594 6.60016 8.16507 -28.5529 -10.5165 29.461 +98 1 7.41236 7.32596 8.18119 12.8158 16.6867 22.5272 +99 1 7.48788 6.57526 0.906715 -17.6408 15.7915 -12.9219 +100 1 6.60846 7.32088 0.891813 -2.23221 1.45701 -6.99196 +101 1 8.17 8.13088 1.54543 21.7946 28.0076 23.7334 +102 1 0.889634 0.755106 1.5647 -2.22366 9.82139 12.4406 +103 1 0.787312 0.00367743 2.47285 9.7959 7.14049 -7.07183 +104 1 0.0399172 0.910289 2.54829 -10.4426 -54.7685 -48.8923 +105 1 1.70161 0.076186 1.70291 0.655659 -5.9987 -1.53887 +106 1 2.5425 0.840944 1.65312 -5.39214 -2.71573 1.42057 +107 1 2.39333 0.0846015 2.56412 19.1459 -13.6703 -26.8796 +108 1 1.62991 0.895915 2.55976 -9.37186 -8.23605 -42.2796 +109 1 3.3255 0.037006 1.60354 -4.30714 4.73223 -3.06839 +110 1 4.20236 0.841896 1.65063 -10.9567 4.39501 -2.76043 +111 1 4.12511 8.16508 2.38147 6.48597 31.2032 29.2026 +112 1 3.37125 0.822661 2.38548 -3.89508 0.169143 6.57094 +113 1 4.86677 0.028066 1.55007 9.3902 -7.55136 2.71818 +114 1 5.8528 0.805894 1.56988 -29.5994 -6.3857 29.2326 +115 1 5.73944 8.2048 2.38025 -0.334985 15.3443 16.2286 +116 1 4.92058 0.739392 2.48512 1.8123 5.57771 -0.399822 +117 1 6.61747 8.14877 1.63757 -7.92973 14.3058 -0.0863647 +118 1 7.37923 0.805843 1.70616 17.0436 -4.06349 -13.2175 +119 1 7.38533 8.17909 2.55221 2.10247 4.05286 -21.3656 +120 1 6.66981 0.91359 2.42776 -18.0385 -1.7859 9.16667 +121 1 8.21433 1.71804 1.64878 9.58557 -8.70073 -6.06848 +122 1 0.91795 2.50647 1.62107 -49.2165 -42.2319 12.3144 +123 1 0.778719 1.62612 2.3667 15.8366 8.16624 0.723179 +124 1 0.0388825 2.56454 2.43408 -0.65123 -11.9302 4.78295 +125 1 1.70614 1.64161 1.56714 -4.83448 1.54656 8.88708 +126 1 2.55772 2.51525 1.68348 -33.0305 -26.0768 -4.05159 +127 1 2.46774 1.68666 2.4295 -0.728639 -2.90689 1.14987 +128 1 1.58495 2.48207 2.53043 32.1395 -14.2129 -42.8967 +129 1 3.28639 1.69638 1.58862 0.141668 -5.07807 4.69228 +130 1 4.07581 2.46356 1.66204 5.75617 5.24573 6.028 +131 1 4.09064 1.65395 2.45941 5.06207 -1.15698 -3.64398 +132 1 3.2978 2.42597 2.51229 -0.392826 8.06961 -8.70923 +133 1 4.99952 1.60143 1.58928 -25.5713 -7.8385 22.8567 +134 1 5.66634 2.3835 1.71386 21.3679 17.6667 -19.1597 +135 1 5.74656 1.70527 2.50917 3.11288 -14.4009 7.07914 +136 1 4.97163 2.46224 2.45828 -14.3686 2.77193 11.4917 +137 1 6.62989 1.62285 1.56611 -20.0211 14.8617 27.1541 +138 1 7.37036 2.42163 1.58976 1.23932 26.194 15.084 +139 1 7.49234 1.71782 2.38524 -11.5645 -3.14792 16.0927 +140 1 6.57493 2.44646 2.50738 3.76278 -0.484364 -1.65815 +141 1 8.13855 3.28395 1.66364 9.95915 -4.6352 -13.1677 +142 1 0.822632 4.13968 1.61013 -1.66869 -18.1546 6.90643 +143 1 0.836195 3.27368 2.50106 -4.0013 3.27813 -2.23185 +144 1 0.00706469 4.04664 2.42415 6.78153 4.66429 11.0832 +145 1 1.56864 3.19926 1.57501 43.2252 54.2341 22.2486 +146 1 2.37435 4.19613 1.65007 19.5365 -23.6872 -5.11708 +147 1 2.53204 3.33272 2.45976 -10.1616 -1.37273 8.96239 +148 1 1.5958 4.02298 2.45513 4.44558 4.83545 -0.957126 +149 1 3.24862 3.20562 1.71329 33.7169 30.1535 -8.86948 +150 1 4.04966 4.11271 1.69147 14.455 0.133261 -16.0308 +151 1 4.17313 3.29199 2.42566 -5.80506 -5.3643 5.35172 +152 1 3.37886 4.04594 2.4591 -12.864 4.86539 14.8631 +153 1 5.00029 3.3715 1.7428 -16.124 -51.6521 -51.6846 +154 1 5.71525 4.10565 1.71106 18.126 11.5713 -25.6554 +155 1 5.67368 3.37853 2.52254 40.5036 -38.7002 16.4445 +156 1 4.98188 4.047 2.42098 -44.4942 70.6847 47.3189 +157 1 6.52567 3.216 1.71371 -0.385424 4.96723 -0.762826 +158 1 7.40007 4.08176 1.73877 -6.32286 -1.56827 -20.7524 +159 1 7.42837 3.30042 2.4503 -10.1629 -6.83382 9.16894 +160 1 6.52178 4.09551 2.40152 8.21405 -5.0269 3.15343 +161 1 0.00699263 4.85762 1.69229 -17.0824 5.05692 -6.94595 +162 1 0.756152 5.6631 1.60232 14.3979 15.6472 -4.59775 +163 1 0.764682 4.99903 2.39299 18.2885 -21.5851 21.4239 +164 1 0.0800264 5.75765 2.41619 -22.1201 11.2764 3.26076 +165 1 1.60226 4.84293 1.69094 -9.96687 23.2298 -5.36928 +166 1 2.38001 5.77059 1.56073 -4.13582 -26.0328 27.2432 +167 1 2.39304 4.87599 2.45449 3.86796 9.40324 7.0282 +168 1 1.5595 5.8443 2.45554 15.3251 -19.3503 -10.1983 +169 1 3.24805 4.8639 1.55208 5.72697 0.833939 9.91621 +170 1 4.12523 5.83768 1.72183 2.66681 -7.18069 -9.93584 +171 1 4.14719 4.98927 2.48442 -5.36599 -4.29088 6.08995 +172 1 3.29103 5.75037 2.41213 -9.14312 -21.8308 11.1485 +173 1 4.88531 4.96658 1.71552 5.62499 -3.03462 -8.19539 +174 1 5.80164 5.66001 1.66617 -22.0309 23.7646 0.752493 +175 1 5.79599 4.88622 2.4436 -18.3543 9.31939 -6.6266 +176 1 4.94007 5.78406 2.4889 7.47518 -6.1933 -6.95152 +177 1 6.50282 4.96059 1.57437 23.9581 -12.4339 8.07292 +178 1 7.43162 5.77666 1.60532 -16.9632 -9.02864 21.2089 +179 1 7.30902 4.88901 2.38072 1.39073 12.4251 10.603 +180 1 6.52191 5.81931 2.5443 7.19321 -57.902 -45.2674 +181 1 0.0825324 6.49799 1.58172 -0.0568703 17.3702 26.5223 +182 1 0.807327 7.40344 1.54436 38.413 9.53604 44.8678 +183 1 0.85313 6.5885 2.46372 -17.206 13.7674 -10.0743 +184 1 0.0766958 7.42441 2.49843 -14.0409 -5.69227 -10.6889 +185 1 1.56626 6.64679 1.65111 17.2201 -21.881 29.7832 +186 1 2.51758 7.48828 1.7101 -1.12703 -9.37355 7.34939 +187 1 2.48642 6.48139 2.37761 -17.45 9.10758 18.4987 +188 1 1.62607 7.39059 2.4668 5.47881 2.11068 -4.08662 +189 1 3.22096 6.48273 1.68127 15.0894 18.1205 -19.6751 +190 1 4.01435 7.47003 1.70259 9.92584 -36.0532 -31.9009 +191 1 4.01053 6.48307 2.56537 4.58494 43.5966 -38.8488 +192 1 3.31708 7.46346 2.49246 -11.1632 -6.704 4.9273 +193 1 4.97912 6.56412 1.70872 -0.0323444 1.40088 -5.51009 +194 1 5.76314 7.42951 1.73429 -4.71194 -18.4847 -18.3917 +195 1 5.75053 6.57569 2.52583 -15.5416 2.95473 -19.9489 +196 1 4.86788 7.33538 2.51839 21.348 1.25465 -21.9702 +197 1 6.54919 6.48383 1.72129 1.36669 8.74928 -8.3147 +198 1 7.40692 7.48075 1.59274 -4.17636 -24.5364 8.08039 +199 1 7.31105 6.49008 2.55841 18.9084 8.98379 -5.81349 +200 1 6.56124 7.4093 2.46898 3.88266 -3.866 3.64736 +201 1 0.0467578 0.0587236 3.25639 -2.58837 -3.06001 8.14477 +202 1 0.919472 0.840587 3.2901 -13.7955 -3.94396 11.0802 +203 1 0.913851 8.17129 4.10222 -17.0314 2.36091 -15.061 +204 1 8.12452 0.831674 4.11824 2.96137 1.66258 0.705395 +205 1 1.72266 8.12268 3.2983 -16.5809 -0.000561518 15.0322 +206 1 2.36681 0.848699 3.23189 33.3023 -3.20785 26.2082 +207 1 2.52451 0.093755 4.0501 -20.4816 -4.23237 16.7496 +208 1 1.57332 0.89934 4.17862 1.65408 -10.4059 -4.79402 +209 1 3.23411 8.18086 3.33998 20.9401 7.85353 -15.8307 +210 1 4.12777 0.912462 3.28751 -3.54395 -8.15241 -0.704223 +211 1 4.05479 8.16789 4.17086 6.43266 7.42359 -18.6916 +212 1 3.3412 0.763098 4.14988 -8.17365 16.5822 -19.2151 +213 1 4.85923 8.19378 3.30398 3.75427 6.29815 -1.39384 +214 1 5.723 0.836221 3.31262 4.07436 -7.7371 -12.3645 +215 1 5.78765 0.0695661 4.10746 2.41957 -4.40965 -1.14115 +216 1 4.97909 0.892899 4.12401 -13.5931 -16.8127 1.66952 +217 1 6.57108 0.0657357 3.30807 -10.4223 -10.045 -0.47006 +218 1 7.35373 0.738008 3.24493 15.9915 16.7978 9.43624 +219 1 7.34677 0.0332152 4.15763 12.3358 5.5849 -5.20193 +220 1 6.67147 0.918341 4.12524 -9.23951 -11.4667 0.577623 +221 1 0.0788919 1.58016 3.21314 -1.55258 49.5779 50.5391 +222 1 0.904188 2.40885 3.22233 -31.0956 -2.82504 30.7646 +223 1 0.877149 1.74225 4.15165 7.55452 -10.7555 -4.03202 +224 1 0.0936835 2.40444 4.16194 -19.0736 7.56858 -3.47745 +225 1 1.71236 1.61805 3.29179 -19.7602 28.7111 2.45155 +226 1 2.5486 2.41776 3.31547 -43.6679 25.9149 -16.2942 +227 1 2.39734 1.55251 4.06577 15.8032 7.53109 12.4652 +228 1 1.72237 2.5181 4.15876 -10.7679 -10.2774 -3.05137 +229 1 3.23039 1.71099 3.29502 25.8646 -44.0791 -9.55739 +230 1 4.12827 2.45813 3.1934 -6.48806 -10.3202 8.62038 +231 1 4.19407 1.63495 4.09603 -15.4993 6.39445 10.1662 +232 1 3.20761 2.36838 4.07177 19.5744 11.0493 29.9438 +233 1 4.94979 1.63514 3.37535 1.21152 5.67416 -27.5114 +234 1 5.82776 2.47766 3.34313 -3.66364 1.42568 -1.20833 +235 1 5.76542 1.58538 4.03513 14.4098 19.4192 12.2978 +236 1 4.95489 2.43394 4.07273 -1.13246 5.06376 7.36624 +237 1 6.661 1.60077 3.30919 -3.43354 8.94885 -5.94598 +238 1 7.49515 2.56092 3.28033 -10.5336 -12.2625 1.51454 +239 1 7.39275 1.71767 4.16117 3.5537 3.96098 0.811537 +240 1 6.54244 2.56469 4.20941 11.0399 -32.6669 -26.4629 +241 1 8.2116 3.30444 3.37137 5.74747 4.63382 -14.2394 +242 1 0.840624 4.14226 3.27407 -5.48884 -5.61804 0.498093 +243 1 0.734437 3.23139 4.08576 22.8281 5.93798 4.2063 +244 1 0.0471721 4.13123 4.11158 -4.3827 3.27424 0.087671 +245 1 1.70286 3.20807 3.23042 -2.96775 14.0769 10.9943 +246 1 2.38769 4.13105 3.27446 4.88078 -2.82576 -1.60425 +247 1 2.4087 3.28686 4.02353 16.6104 0.201322 7.1777 +248 1 1.69983 4.0678 4.13415 -10.6977 3.91895 2.19645 +249 1 3.34377 3.23634 3.36851 -11.3528 1.51526 -17.2895 +250 1 4.2055 4.03294 3.37597 -23.3492 5.34016 -26.85 +251 1 4.03955 3.26203 4.11941 11.7033 -4.94552 16.1773 +252 1 3.21963 4.01243 4.16102 5.66091 6.82551 -5.40832 +253 1 4.83261 3.19517 3.32313 20.1816 8.52525 -2.26656 +254 1 5.77148 4.16495 3.28824 -31.489 -26.7787 -6.90732 +255 1 5.82425 3.30115 4.19401 -37.1473 -6.40083 -11.3511 +256 1 4.87724 4.09609 4.11549 36.2568 -10.3151 3.06059 +257 1 6.58329 3.33973 3.22197 0.0461967 -7.66729 -2.40242 +258 1 7.43644 4.05966 3.30265 -3.56999 5.92726 -1.37248 +259 1 7.48286 3.29775 4.19646 -3.89008 -9.4431 -11.0777 +260 1 6.47907 4.03353 4.01383 29.8324 22.3851 15.73 +261 1 8.15241 5.02846 3.31122 10.6595 -5.28085 -5.36552 +262 1 0.804631 5.8376 3.20576 13.4276 -32.1322 14.0647 +263 1 0.877129 4.8969 4.13251 -1.47043 5.42126 -0.0257482 +264 1 0.0651636 5.75976 4.1954 -9.31697 -6.72952 -15.907 +265 1 1.57617 4.92532 3.28718 5.51341 5.68743 -3.59864 +266 1 2.42583 5.72219 3.30114 4.35376 1.25963 -4.44713 +267 1 2.4551 4.89394 4.08913 0.180251 2.9051 2.6698 +268 1 1.67099 5.80732 4.08057 -5.18981 -1.73911 5.86888 +269 1 3.33413 4.84944 3.32334 -2.55875 1.02427 -1.99572 +270 1 4.20493 5.83452 3.24979 -21.4386 -63.3893 34.6056 +271 1 4.19181 4.8901 4.01924 -15.0952 14.1984 13.5631 +272 1 3.36551 5.83759 4.08786 -9.40985 -16.2604 3.57159 +273 1 4.9921 4.89151 3.36329 -7.1819 8.21085 -25.7306 +274 1 5.77026 5.74279 3.2372 -19.2661 -13.3988 15.8911 +275 1 5.68576 4.90444 4.10854 12.1482 9.27276 4.35592 +276 1 4.84395 5.80423 4.20869 23.9245 -11.025 -23.296 +277 1 6.4858 4.83859 3.18898 36.5327 24.7135 15.3623 +278 1 7.30315 5.68446 3.36881 -0.385614 18.5722 -20.0571 +279 1 7.37309 4.9455 4.05168 -2.3203 -17.2743 20.9328 +280 1 6.63896 5.83294 4.18727 -7.1922 -10.1498 -0.517575 +281 1 0.0942908 6.52233 3.3159 -35.7657 14.4096 -15.937 +282 1 0.836387 7.40457 3.20726 4.47284 -0.4112 17.4557 +283 1 0.739312 6.64758 4.08638 39.4722 -18.3951 12.5032 +284 1 8.21631 7.30153 4.06221 -15.2581 27.9702 -0.672668 +285 1 1.58758 6.54973 3.25882 10.9016 11.7867 8.01769 +286 1 2.56536 7.3619 3.34369 -76.1678 6.55793 -73.9603 +287 1 2.52556 6.61112 4.10224 -30.5256 -34.6487 7.0656 +288 1 1.62124 7.32393 4.18622 0.536802 -1.56833 -6.92191 +289 1 3.3681 6.64037 3.37818 -8.53205 -51.1792 -62.7851 +290 1 4.15298 7.36163 3.20593 -21.9528 4.612 22.3686 +291 1 4.12464 6.54108 4.035 14.4356 20.1369 22.2034 +292 1 3.19906 7.31073 4.01315 82.3215 73.9575 117.35 +293 1 4.9065 6.52075 3.26638 28.3768 26.425 6.32862 +294 1 5.74138 7.36096 3.25092 -0.970474 8.69807 4.03129 +295 1 5.81652 6.58456 4.03756 -14.737 -0.580193 0.741413 +296 1 4.87586 7.39212 4.03191 6.20313 -4.00572 5.92319 +297 1 6.48611 6.49412 3.21889 20.5434 47.1119 52.8917 +298 1 7.41876 7.4098 3.23912 -0.409624 -8.77258 11.2401 +299 1 7.35972 6.63444 4.07034 1.58562 -5.33459 -2.2315 +300 1 6.64271 7.48657 4.18074 -12.6903 -3.8877 -6.90745 +301 1 8.18545 0.00495327 4.98201 0.835961 10.4978 -8.83054 +302 1 0.830861 0.760813 4.98094 -9.95647 8.66756 -7.1447 +303 1 0.808969 0.00641337 5.74397 -4.48252 1.30502 4.67537 +304 1 0.018812 0.795135 5.84676 0.988121 0.902183 -11.1018 +305 1 1.60862 0.0119183 4.84308 17.0508 -2.91068 17.4808 +306 1 2.50239 0.876955 4.96833 -9.09304 -5.08176 -4.69214 +307 1 2.44832 8.14323 5.81234 6.77585 9.13889 -19.0494 +308 1 1.56911 0.731109 5.75394 17.4698 11.7404 -4.99849 +309 1 3.28793 0.0458368 4.91142 -7.08209 -9.95818 14.0315 +310 1 4.07208 0.823519 4.87126 26.6153 -9.6486 13.2451 +311 1 4.06672 0.0477209 5.80002 10.3282 0.566915 -15.466 +312 1 3.2042 0.88056 5.78404 3.8932 -8.75566 -1.61055 +313 1 5.02696 0.0222739 4.88991 -12.0715 4.27124 3.2294 +314 1 5.73734 0.886325 4.85298 9.71713 -6.59089 13.6933 +315 1 5.79543 0.0389128 5.76135 -3.4407 3.92019 -0.496418 +316 1 4.85161 0.780997 5.82861 2.47749 38.2945 -34.2513 +317 1 6.64858 0.0906911 4.97808 -13.982 -18.784 -13.0607 +318 1 7.30429 0.900733 5.00382 63.7384 -13.5798 -32.445 +319 1 7.4114 8.15633 5.76261 6.64498 1.40027 -2.33346 +320 1 6.66824 0.783026 5.72649 -29.5414 5.85716 47.7215 +321 1 0.0281683 1.66949 4.95949 -0.425666 -3.96058 2.91208 +322 1 0.893447 2.47998 4.9969 -1.93266 1.10148 -5.4469 +323 1 0.843715 1.6221 5.7589 -0.766033 4.56211 -3.21682 +324 1 0.0782454 2.53663 5.73256 -1.35265 -11.3593 -4.90859 +325 1 1.65079 1.66704 4.93767 -0.533365 0.139965 4.11876 +326 1 2.51601 2.38441 4.90805 0.649871 6.98133 -0.140965 +327 1 2.41175 1.72195 5.72474 2.84663 -8.86686 7.73621 +328 1 1.61538 2.54316 5.81674 -0.089029 -19.7728 -12.4678 +329 1 3.35891 1.54703 4.95536 -9.48818 22.4331 -2.56554 +330 1 4.08195 2.54313 5.01426 16.1748 -2.70068 -21.0768 +331 1 4.12034 1.74262 5.81366 10.5637 -13.2904 -3.74489 +332 1 3.37175 2.4672 5.72729 -31.5422 -3.32565 13.6818 +333 1 5.0033 1.68848 4.95948 -13.0392 -13.8401 -3.80319 +334 1 5.66589 2.47997 4.89515 25.4212 2.24436 -8.70857 +335 1 5.79028 1.55903 5.82666 2.05757 18.2253 -24.3713 +336 1 5.0311 2.46113 5.68951 -16.9377 1.04 21.5338 +337 1 6.57827 1.56896 5.01204 -21.5711 32.5342 -4.2816 +338 1 7.31623 2.52382 4.98258 18.6955 -8.52314 -2.25127 +339 1 7.45461 1.64332 5.76278 -16.0261 1.47893 -16.982 +340 1 6.64089 2.42957 5.78128 -11.0128 0.688597 0.00936653 +341 1 0.0932375 3.33117 4.94446 -5.57952 -6.38154 1.87127 +342 1 0.757472 4.19176 4.95128 10.4651 -6.09524 -1.36969 +343 1 0.907905 3.31127 5.7437 -27.4593 -10.6172 -1.55436 +344 1 0.042027 4.05791 5.75958 -12.212 5.31553 -4.25834 +345 1 1.73758 3.25237 5.02547 -7.72352 0.251809 -15.9993 +346 1 2.4871 4.0191 4.9543 -17.108 24.4302 2.09179 +347 1 2.45668 3.23081 5.78465 2.15315 9.79763 4.28788 +348 1 1.58106 4.05092 5.80356 25.1427 18.6418 -4.49313 +349 1 3.19249 3.31456 5.03239 24.0259 -22.2006 -10.8088 +350 1 4.20707 4.15779 4.866 -22.1265 -5.11578 15.6203 +351 1 4.10653 3.22389 5.85277 -11.4198 11.552 -29.8203 +352 1 3.32529 4.01575 5.8236 -9.29377 10.539 -6.33768 +353 1 5.02426 3.35158 5.01899 -31.0395 -2.45923 -24.1365 +354 1 5.68644 4.17189 4.85403 7.36649 -6.63658 10.5871 +355 1 5.74132 3.29275 5.69662 23.2126 4.63385 22.4488 +356 1 4.92531 4.19073 5.71088 -1.56015 -9.54037 12.8094 +357 1 6.54444 3.23385 4.93781 3.72392 28.1796 29.5331 +358 1 7.41233 4.02229 4.92924 -1.20364 12.0626 9.54412 +359 1 7.4663 3.28529 5.82942 -29.7597 -4.87929 -37.7444 +360 1 6.60644 4.05138 5.75927 -5.95188 5.2753 -7.63938 +361 1 8.20344 4.97671 5.0085 -9.77785 -27.0171 -16.098 +362 1 0.764125 5.65629 4.97235 19.2848 26.171 -13.514 +363 1 0.873777 4.9677 5.68286 -0.798932 -14.5746 27.2238 +364 1 8.1297 5.72693 5.67887 36.2224 14.0656 51.1647 +365 1 1.7318 5.02959 5.01529 -5.49043 -14.6131 -16.8314 +366 1 2.44542 5.85219 4.93063 19.3822 -11.3762 -19.1618 +367 1 2.55143 4.96012 5.6972 2.49476 -2.70049 4.14057 +368 1 1.7425 5.82205 5.68004 -17.6493 -28.263 45.9708 +369 1 3.3219 4.92271 4.83646 -0.36054 0.182371 1.57441 +370 1 4.15401 5.67616 4.9285 -21.3575 6.09757 11.4691 +371 1 4.07715 4.94174 5.74451 -0.595544 -7.12056 -1.40506 +372 1 3.31639 5.79418 5.70206 -6.4923 -7.4901 3.07645 +373 1 4.92581 4.94202 4.97984 -0.22012 5.90431 -14.5879 +374 1 5.73821 5.69855 4.88283 0.98112 8.81137 -0.251897 +375 1 5.70683 4.9474 5.70386 9.48927 0.653977 8.8924 +376 1 4.96412 5.79635 5.67508 -8.29845 -17.1654 19.2091 +377 1 6.48765 4.91573 4.91811 9.87445 -1.02048 -0.929801 +378 1 7.42803 5.76565 5.01887 -36.8924 9.29378 -39.8178 +379 1 7.31535 5.01349 5.75729 -2.96639 -15.6116 3.19898 +380 1 6.51112 5.80276 5.76292 -0.511839 0.0343249 -1.86567 +381 1 0.0752499 6.50198 4.93503 -9.95853 14.5519 3.18185 +382 1 0.749032 7.44313 4.93057 9.36322 -4.26106 -6.17112 +383 1 0.799308 6.59761 5.72007 7.23025 -2.947 1.48543 +384 1 0.0646916 7.47006 5.72188 -15.7332 -12.5303 9.25543 +385 1 1.64476 6.54961 5.03014 -20.9538 30.4927 -38.3434 +386 1 2.45435 7.39325 4.88002 3.42796 3.8663 5.03137 +387 1 2.4342 6.59097 5.67369 23.2905 17.249 22.0616 +388 1 1.54778 7.4679 5.8363 19.3115 -12.9738 -21.1698 +389 1 3.32159 6.57391 4.94635 0.920374 5.37222 -4.76541 +390 1 4.12734 7.43087 4.87631 0.0949958 -12.9619 14.1535 +391 1 4.03648 6.57336 5.82487 9.67898 -2.57585 -4.33725 +392 1 3.37401 7.44443 5.83215 -8.90767 -10.0262 -16.7558 +393 1 4.95785 6.5313 4.96795 -5.28369 20.3288 -12.6073 +394 1 5.72446 7.44815 4.95617 -0.295615 -4.81227 -6.28599 +395 1 5.67507 6.56368 5.75557 19.5363 2.36566 3.12879 +396 1 4.99604 7.36578 5.82253 -12.0795 7.56208 -16.0156 +397 1 6.47952 6.65183 4.84549 7.81673 -1.192 17.7565 +398 1 7.49045 7.38842 4.86267 -3.31154 -1.72952 10.3926 +399 1 7.31515 6.64393 5.7627 1.65473 -7.46902 -9.80451 +400 1 6.51213 7.44705 5.67942 6.88055 -5.46286 6.12471 +401 1 0.0806264 0.0886591 6.67061 2.86389 -53.8636 -44.0246 +402 1 0.883633 0.899989 6.55658 -11.6958 -11.9156 5.39561 +403 1 0.88757 0.0447352 7.4623 -6.5852 -8.63148 -1.54458 +404 1 0.00589996 0.782701 7.30583 -3.57511 51.2033 48.3924 +405 1 1.70878 0.0185969 6.53425 -9.91562 -0.171369 19.1044 +406 1 2.47179 0.820184 6.65916 -10.0875 0.778119 -25.3377 +407 1 2.53937 0.0160974 7.34796 -3.95783 -6.52463 5.98309 +408 1 1.62994 0.765044 7.35659 9.0133 10.535 7.11032 +409 1 3.30704 0.041501 6.48376 -12.5346 2.59741 23.4233 +410 1 4.02443 0.849646 6.63591 28.9911 -27.1685 -8.99322 +411 1 4.05271 0.0416361 7.37632 0.533135 -1.75778 -2.17869 +412 1 3.19386 0.898466 7.37702 15.4736 -11.3366 18.5812 +413 1 4.93306 0.0872445 6.49555 4.8751 -33.7979 36.6921 +414 1 5.84884 0.883258 6.55834 -5.60524 -28.829 17.1111 +415 1 5.81564 0.024621 7.40384 -2.36039 -5.56484 -6.47242 +416 1 4.961 0.816895 7.40894 -1.64345 1.03662 -2.05135 +417 1 6.67176 0.000709987 6.50931 -8.49107 -0.789231 11.0199 +418 1 7.42872 0.868407 6.55728 -5.95092 -10.3429 1.39671 +419 1 7.36138 8.18623 7.46478 9.04825 4.48366 -10.7424 +420 1 6.59985 0.825831 7.39669 4.88737 -2.34866 2.27965 +421 1 8.14416 1.67759 6.49013 32.825 -1.32457 17.7447 +422 1 0.9037 2.40379 6.60352 -22.6991 13.3728 -5.6252 +423 1 0.83815 1.6821 7.34463 -6.45777 -9.82884 14.5288 +424 1 8.19206 2.55987 7.48041 1.09967 -24.6646 -31.5822 +425 1 1.61029 1.6565 6.61062 19.3859 -4.50632 -8.40911 +426 1 2.39042 2.47779 6.49991 10.3869 -7.14038 20.8685 +427 1 2.43336 1.66264 7.31159 -0.298923 7.67874 9.60508 +428 1 1.68521 2.53757 7.43341 0.0908995 -20.3899 -19.4953 +429 1 3.34574 1.55658 6.57542 -29.1499 40.141 -5.99747 +430 1 4.09567 2.50385 6.58715 2.92988 -17.1157 8.90269 +431 1 4.06967 1.60141 7.36073 8.28003 9.68724 13.2999 +432 1 3.26291 2.44686 7.41755 -1.72761 -1.27824 0.484775 +433 1 5.02343 1.63061 6.57358 -10.9076 3.24904 2.06921 +434 1 5.8117 2.52535 6.48584 -2.10788 -3.23133 8.48842 +435 1 5.76381 1.64883 7.37339 7.06147 -0.584215 3.21917 +436 1 4.99697 2.44099 7.45915 -1.75923 11.2498 -19.4182 +437 1 6.62044 1.59458 6.63611 -5.65576 11.9066 -13.6974 +438 1 7.40085 2.40641 6.52565 -4.26631 17.0681 5.6259 +439 1 7.4086 1.68173 7.30269 7.67403 -2.22025 20.1658 +440 1 6.56414 2.4958 7.48155 2.02857 -0.65966 -9.40352 +441 1 8.16172 3.22 6.50779 31.0613 6.17733 37.0029 +442 1 0.778923 4.13348 6.47989 7.10682 -1.13444 17.3069 +443 1 0.731543 3.38344 7.32104 8.57141 -10.8353 -0.596329 +444 1 8.20703 4.11651 7.39737 -10.5501 6.3503 -2.89453 +445 1 1.5556 3.22612 6.62242 10.8567 18.3759 1.80723 +446 1 2.43596 4.07218 6.65191 19.5996 1.93234 -23.7547 +447 1 2.42128 3.38357 7.48855 6.46322 -13.7769 -4.42002 +448 1 1.70183 4.1306 7.3251 -28.6202 8.98318 18.3174 +449 1 3.23368 3.21004 6.55845 -1.66335 0.810928 5.98502 +450 1 4.02817 4.01745 6.59179 9.73332 14.3603 -1.234 +451 1 4.04024 3.24371 7.33596 9.19519 -2.61436 13.2612 +452 1 3.33578 4.03204 7.3761 -11.8519 11.1256 7.31388 +453 1 4.84615 3.34919 6.50516 30.474 -3.21025 16.5113 +454 1 5.79338 4.10407 6.63223 -1.4488 4.34379 -6.9657 +455 1 5.71769 3.33306 7.36343 3.56485 -8.31237 5.17357 +456 1 4.89884 4.06687 7.36632 1.94898 -1.38193 2.81677 +457 1 6.61297 3.34048 6.58436 -38.9416 -40.8203 -5.50523 +458 1 7.30794 4.01061 6.56591 40.2005 61.5018 -17.6954 +459 1 7.37741 3.36957 7.31145 38.0889 -52.6112 27.9446 +460 1 6.66665 4.01974 7.42717 -35.3166 42.1921 1.19147 +461 1 0.0452175 4.90338 6.62118 -6.71352 5.92623 -3.01906 +462 1 0.869367 5.66645 6.62279 -29.6122 19.3042 -24.6336 +463 1 0.858776 5.03104 7.45654 -16.814 -24.2615 8.51744 +464 1 8.14658 5.74936 7.4724 2.5583 -5.40279 -7.71149 +465 1 1.59957 4.95319 6.53572 14.873 -15.6204 -6.12191 +466 1 2.54529 5.66468 6.59785 -23.4011 43.3591 -27.461 +467 1 2.4961 5.03005 7.34302 -11.668 -32.1864 28.6337 +468 1 1.60544 5.69113 7.30132 37.8442 13.2739 23.8753 +469 1 3.24356 4.96073 6.59142 26.8133 -25.0989 -5.08933 +470 1 4.09781 5.67439 6.52285 2.63557 7.15813 7.05447 +471 1 4.18105 4.86276 7.35501 -9.07005 4.72655 -1.53462 +472 1 3.36767 5.65499 7.49749 6.09099 26.0319 -27.9028 +473 1 5.01795 4.94278 6.59504 -2.00637 0.995546 -1.6799 +474 1 5.7841 5.85399 6.63871 4.06216 -12.0086 -14.5693 +475 1 5.83404 5.02565 7.38856 -29.8707 -40.8918 -9.03319 +476 1 4.9605 5.83878 7.31445 -12.603 -27.5006 25.6094 +477 1 6.59477 4.88222 6.67554 -4.07568 1.88148 -17.9737 +478 1 7.35313 5.77701 6.52551 0.181186 3.4052 7.13046 +479 1 7.348 4.89641 7.37973 13.5892 1.99375 8.82978 +480 1 6.49663 5.74982 7.4422 46.6685 29.9241 -18.7201 +481 1 0.0491078 6.53098 6.47716 -5.83531 -0.141054 6.60445 +482 1 0.791488 7.40292 6.50563 -8.70546 -0.874788 22.49 +483 1 0.919931 6.51323 7.45776 -11.5314 25.4002 -28.1718 +484 1 0.0481113 7.40468 7.43229 -11.5944 -5.37754 -18.7674 +485 1 1.63473 6.52345 6.62888 -0.301482 5.86022 -13.1885 +486 1 2.54325 7.3746 6.52095 -7.01617 -1.6126 8.94816 +487 1 2.42821 6.65367 7.34715 -0.0947462 -6.49261 12.3075 +488 1 1.66344 7.43005 7.38619 -4.64698 1.83667 -2.7903 +489 1 3.21223 6.51896 6.65614 12.5802 -0.344258 -7.45446 +490 1 4.18524 7.3836 6.50889 -0.948752 5.15796 16.6381 +491 1 4.03479 6.58867 7.43482 10.4531 -7.07785 -21.0648 +492 1 3.31132 7.44815 7.43351 -1.0832 -4.66317 -4.42978 +493 1 5.00814 6.58691 6.66459 -15.2308 20.9466 -24.4589 +494 1 5.70889 7.39626 6.56563 14.4769 6.85637 10.1092 +495 1 5.73775 6.567 7.43094 6.72915 9.63092 8.95959 +496 1 4.91068 7.49261 7.37168 0.330155 -8.28614 -9.94049 +497 1 6.53726 6.65021 6.66417 -1.59265 -6.08794 -3.67401 +498 1 7.37246 7.29875 6.57444 7.56141 13.3939 8.59342 +499 1 7.35261 6.58373 7.49207 23.0737 -16.5957 -35.2353 +500 1 6.60589 7.39349 7.49219 -10.7096 3.92482 -19.5185 diff --git a/examples/mdi/dump.17Jun22.snapshot.alone.1 b/examples/mdi/dump.17Jun22.snapshot.alone.1 new file mode 100644 index 0000000000..3e7ef0a29b --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.alone.1 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 0 0 0 -1.06581e-14 -1.06581e-14 -1.00753e-14 +2 1 0.839798 0.839798 0 2.66454e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -1.05471e-14 4.56579e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -4.09395e-16 -9.76996e-15 -1.04361e-14 +6 1 2.51939 0.839798 0 -4.23273e-16 2.66454e-15 -1.06581e-14 +7 1 2.51939 0 0.839798 -7.00828e-16 -1.06581e-14 2.9976e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.28439e-14 -1.06581e-14 -1.04361e-14 +10 1 4.19899 0.839798 0 -2.25236e-14 2.66454e-15 -7.99361e-15 +11 1 4.19899 0 0.839798 -2.34118e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 2.77556e-17 -7.99361e-15 -7.99361e-15 +14 1 5.87859 0.839798 0 2.26555e-14 2.66454e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.16702e-14 -7.99361e-15 2.66454e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.33067e-15 -9.63118e-15 -9.74221e-15 +18 1 7.55818 0.839798 0 4.44089e-16 2.55351e-15 -9.32587e-15 +19 1 7.55818 0 0.839798 0 -1.02141e-14 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 2.88658e-15 -2.77556e-17 -9.76996e-15 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -5.06539e-16 6.245e-17 -9.76996e-15 +26 1 2.51939 2.51939 0 -2.11636e-15 -1.72778e-15 -9.76996e-15 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.88658e-15 +29 1 3.35919 1.6796 0 1.34545e-14 3.46945e-17 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.30926e-14 -1.85268e-15 -7.99361e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.33067e-15 +33 1 5.03879 1.6796 0 2.01228e-16 1.66533e-16 -7.10543e-15 +34 1 5.87859 2.51939 0 2.12677e-14 -1.74166e-15 -7.99361e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.88658e-15 +37 1 6.71838 1.6796 0 -3.10862e-15 -1.66533e-16 -8.10463e-15 +38 1 7.55818 2.51939 0 8.88178e-16 -1.33227e-15 -9.32587e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.56659e-15 +41 1 0 3.35919 0 -1.06581e-14 1.28786e-14 -9.54792e-15 +42 1 0.839798 4.19899 0 2.66454e-15 -2.24404e-14 -8.88178e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -8.88178e-15 -2.32037e-14 2.55351e-15 +45 1 1.6796 3.35919 0 -8.53484e-16 1.47174e-14 -9.76996e-15 +46 1 2.51939 4.19899 0 -1.79717e-15 -2.32175e-14 -7.10543e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51476e-14 3.55271e-15 +48 1 1.6796 4.19899 0.839798 -2.08167e-16 -2.40918e-14 3.33067e-15 +49 1 3.35919 3.35919 0 1.2608e-14 1.419e-14 -7.99361e-15 +50 1 4.19899 4.19899 0 -2.28706e-14 -2.25653e-14 -5.32907e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13937e-14 2.88658e-15 +52 1 3.35919 4.19899 0.839798 1.249e-14 -2.21975e-14 2.88658e-15 +53 1 5.03879 3.35919 0 -2.22045e-16 1.14422e-14 -6.21725e-15 +54 1 5.87859 4.19899 0 2.22322e-14 -2.22461e-14 -5.32907e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27467e-14 2.88658e-15 +56 1 5.03879 4.19899 0.839798 -2.08167e-16 -2.11983e-14 3.10862e-15 +57 1 6.71838 3.35919 0 -3.60822e-15 1.32949e-14 -8.04912e-15 +58 1 7.55818 4.19899 0 8.88178e-16 -2.44249e-14 -7.10543e-15 +59 1 7.55818 3.35919 0.839798 1.66533e-16 1.40443e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -3.05311e-15 -2.40641e-14 2.45637e-15 +61 1 0 5.03879 0 -7.10543e-15 6.66134e-16 -7.32747e-15 +62 1 0.839798 5.87859 0 2.66454e-15 2.28706e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -2.77556e-16 2.67841e-15 +64 1 0 5.87859 0.839798 -9.76996e-15 2.18159e-14 2.66454e-15 +65 1 1.6796 5.03879 0 8.32667e-17 -9.92262e-16 -6.21725e-15 +66 1 2.51939 5.87859 0 -2.08167e-15 2.16008e-14 -7.10543e-15 +67 1 2.51939 5.03879 0.839798 -1.72085e-15 3.81639e-16 3.10862e-15 +68 1 1.6796 5.87859 0.839798 -8.74301e-16 2.02824e-14 3.10862e-15 +69 1 3.35919 5.03879 0 1.08871e-14 -1.80411e-16 -6.21725e-15 +70 1 4.19899 5.87859 0 -2.27804e-14 2.17187e-14 -4.44089e-15 +71 1 4.19899 5.03879 0.839798 -1.95469e-14 -1.15186e-15 2.88658e-15 +72 1 3.35919 5.87859 0.839798 1.19973e-14 2.21143e-14 2.88658e-15 +73 1 5.03879 5.03879 0 1.17961e-16 6.8695e-16 -3.55271e-15 +74 1 5.87859 5.87859 0 2.17604e-14 2.22114e-14 -5.32907e-15 +75 1 5.87859 5.03879 0.839798 1.9415e-14 3.747e-16 2.88658e-15 +76 1 5.03879 5.87859 0.839798 -6.52256e-16 1.92069e-14 2.88658e-15 +77 1 6.71838 5.03879 0 -2.38698e-15 4.64906e-16 -6.43929e-15 +78 1 7.55818 5.87859 0 0 2.26485e-14 -7.54952e-15 +79 1 7.55818 5.03879 0.839798 1.11022e-16 1.44329e-15 2.498e-15 +80 1 6.71838 5.87859 0.839798 -2.94209e-15 2.15661e-14 2.45637e-15 +81 1 0 6.71838 0 -1.06581e-14 -3.77476e-15 -9.60343e-15 +82 1 0.839798 7.55818 0 2.44249e-15 7.91034e-16 -1.00892e-14 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.80251e-15 +84 1 0 7.55818 0.839798 -8.88178e-15 -2.22045e-16 3.05311e-15 +85 1 1.6796 6.71838 0 -8.04912e-16 -1.72085e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -1.51268e-15 6.66134e-16 -9.54792e-15 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 2.08167e-16 2.77556e-16 3.33067e-15 +89 1 3.35919 6.71838 0 1.24623e-14 -2.22045e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.45221e-14 0 -7.99361e-15 +91 1 4.19899 6.71838 0.839798 -2.33563e-14 -4.89886e-15 2.45637e-15 +92 1 3.35919 7.55818 0.839798 1.30868e-14 8.88178e-16 2.88658e-15 +93 1 5.03879 6.71838 0 -4.02456e-16 -2.83107e-15 -6.43929e-15 +94 1 5.87859 7.55818 0 2.33563e-14 8.88178e-16 -7.10543e-15 +95 1 5.87859 6.71838 0.839798 2.1913e-14 -1.74166e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -2.08167e-16 -5.27356e-16 2.498e-15 +97 1 6.71838 6.71838 0 -2.83107e-15 -3.42781e-15 -7.10543e-15 +98 1 7.55818 7.55818 0 4.44089e-16 0 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 5.55112e-17 -3.10862e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -2.88658e-15 5.27356e-16 2.56739e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -1.11022e-15 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -1.05471e-14 1.80411e-16 +104 1 0 0.839798 2.51939 -1.15463e-14 2.9976e-15 3.88578e-16 +105 1 1.6796 0 1.6796 1.73472e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.6584e-15 -1.06581e-14 -1.4988e-15 +108 1 1.6796 0.839798 2.51939 2.63678e-16 3.10862e-15 -1.67227e-15 +109 1 3.35919 0 1.6796 1.41623e-14 -8.88178e-15 6.66134e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.30371e-14 -7.99361e-15 -1.66533e-15 +112 1 3.35919 0.839798 2.51939 1.4419e-14 2.88658e-15 -1.90126e-15 +113 1 5.03879 0 1.6796 8.67362e-16 -8.88178e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.01159e-14 -8.88178e-15 -1.38778e-15 +116 1 5.03879 0.839798 2.51939 2.91434e-16 3.10862e-15 -1.45023e-15 +117 1 6.71838 0 1.6796 -2.52576e-15 -8.77076e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 1.33227e-15 -9.76996e-15 -1.9984e-15 +120 1 6.71838 0.839798 2.51939 -3.10862e-15 2.90046e-15 -2.10942e-15 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.66454e-15 7.35523e-16 -1.30451e-15 +124 1 0 2.51939 2.51939 -1.06581e-14 -7.49401e-16 -1.44329e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -9.22873e-16 1.38778e-17 -1.17267e-15 +128 1 1.6796 2.51939 2.51939 1.38778e-16 -1.26982e-15 -2.16493e-15 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.2024e-14 4.64906e-16 -2.11636e-15 +132 1 3.35919 2.51939 2.51939 1.47937e-14 -1.33227e-15 -2.23432e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.02546e-14 -2.56739e-16 -2.07473e-15 +136 1 5.03879 2.51939 2.51939 5.82867e-16 -1.91513e-15 -2.16493e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 4.44089e-16 -6.93889e-18 -2.22045e-15 +140 1 6.71838 2.51939 2.51939 -3.27516e-15 -1.67921e-15 -2.38698e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.44249e-15 -2.1684e-14 -6.10623e-16 +143 1 0.839798 3.35919 2.51939 2.44249e-15 1.49047e-14 -1.83187e-15 +144 1 0 4.19899 2.51939 -8.88178e-15 -2.22322e-14 -1.60982e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.72778e-15 -2.28081e-14 -1.32533e-15 +147 1 2.51939 3.35919 2.51939 -9.92262e-16 1.42247e-14 -1.29757e-15 +148 1 1.6796 4.19899 2.51939 6.93889e-18 -2.16632e-14 -2.92821e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1684e-14 -2.2142e-14 -1.26982e-15 +151 1 4.19899 3.35919 2.51939 -2.27457e-14 1.10675e-14 -2.81025e-15 +152 1 3.35919 4.19899 2.51939 1.17337e-14 -2.23849e-14 -3.15026e-15 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.0213e-14 -2.25167e-14 2.28983e-16 +155 1 5.87859 3.35919 2.51939 2.08236e-14 1.21292e-14 -2.5327e-15 +156 1 5.03879 4.19899 2.51939 1.38778e-17 -1.97481e-14 -3.59435e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 2.22045e-16 -2.33147e-14 -4.996e-16 +159 1 7.55818 3.35919 2.51939 1.33227e-15 1.33227e-14 -2.66454e-15 +160 1 6.71838 4.19899 2.51939 -3.27516e-15 -2.33147e-14 -2.84495e-15 +161 1 0 5.03879 1.6796 -7.10543e-15 4.44089e-16 0 +162 1 0.839798 5.87859 1.6796 2.44249e-15 2.08375e-14 7.21645e-16 +163 1 0.839798 5.03879 2.51939 2.88658e-15 2.63678e-16 -1.13798e-15 +164 1 0 5.87859 2.51939 -7.99361e-15 2.03171e-14 -1.44329e-15 +165 1 1.6796 5.03879 1.6796 2.56739e-16 8.60423e-16 8.04912e-16 +166 1 2.51939 5.87859 1.6796 -9.64506e-16 2.08375e-14 -7.35523e-16 +167 1 2.51939 5.03879 2.51939 -2.04003e-15 -4.57967e-16 -2.84495e-16 +168 1 1.6796 5.87859 2.51939 6.93889e-18 2.03101e-14 -7.91034e-16 +169 1 3.35919 5.03879 1.6796 1.12549e-14 2.08167e-17 1.08247e-15 +170 1 4.19899 5.87859 1.6796 -2.15591e-14 2.06987e-14 9.57567e-16 +171 1 4.19899 5.03879 2.51939 -1.96579e-14 4.30211e-16 -2.72699e-15 +172 1 3.35919 5.87859 2.51939 1.23929e-14 2.06432e-14 -2.2482e-15 +173 1 5.03879 5.03879 1.6796 2.77556e-17 -1.38778e-16 1.20737e-15 +174 1 5.87859 5.87859 1.6796 2.07542e-14 2.02408e-14 7.70217e-16 +175 1 5.87859 5.03879 2.51939 1.86587e-14 6.52256e-16 -1.7833e-15 +176 1 5.03879 5.87859 2.51939 -2.08167e-16 1.92762e-14 -1.33227e-15 +177 1 6.71838 5.03879 1.6796 -2.42167e-15 -1.31839e-16 -3.33067e-16 +178 1 7.55818 5.87859 1.6796 -2.22045e-16 2.19824e-14 2.22045e-16 +179 1 7.55818 5.03879 2.51939 -4.44089e-16 1.22125e-15 -1.9984e-15 +180 1 6.71838 5.87859 2.51939 -3.10862e-15 2.20657e-14 -2.19269e-15 +181 1 0 6.71838 1.6796 -1.02141e-14 -2.88658e-15 -6.66134e-16 +182 1 0.839798 7.55818 1.6796 1.9984e-15 6.38378e-16 2.22045e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -3.10862e-15 -2.08167e-15 +184 1 0 7.55818 2.51939 -9.76996e-15 4.44089e-16 -1.88738e-15 +185 1 1.6796 6.71838 1.6796 1.94289e-16 -2.31759e-15 1.249e-16 +186 1 2.51939 7.55818 1.6796 -1.249e-15 -6.17562e-16 5.55112e-17 +187 1 2.51939 6.71838 2.51939 -1.19349e-15 -3.10862e-15 -2.08167e-15 +188 1 1.6796 7.55818 2.51939 -2.22045e-16 1.33227e-15 -2.66454e-15 +189 1 3.35919 6.71838 1.6796 1.34198e-14 -2.02616e-15 -6.245e-17 +190 1 4.19899 7.55818 1.6796 -2.38282e-14 -4.71845e-16 1.45717e-16 +191 1 4.19899 6.71838 2.51939 -2.43278e-14 -4.60743e-15 -3.88578e-15 +192 1 3.35919 7.55818 2.51939 1.29896e-14 1.9984e-15 -2.22045e-15 +193 1 5.03879 6.71838 1.6796 -6.245e-17 -1.65146e-15 2.35922e-16 +194 1 5.87859 7.55818 1.6796 2.23294e-14 1.13798e-15 -6.93889e-18 +195 1 5.87859 6.71838 2.51939 2.15869e-14 -2.9976e-15 -2.63678e-15 +196 1 5.03879 7.55818 2.51939 -2.22045e-16 -2.22045e-16 -1.77636e-15 +197 1 6.71838 6.71838 1.6796 -2.62984e-15 -2.59515e-15 -1.47798e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 2.22045e-16 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 8.88178e-16 -2.27596e-15 -2.66454e-15 +200 1 6.71838 7.55818 2.51939 -2.9976e-15 7.91034e-16 -1.91513e-15 +201 1 0 0 3.35919 -1.06581e-14 -1.04361e-14 1.35447e-14 +202 1 0.839798 0.839798 3.35919 2.66454e-15 2.67841e-15 1.50435e-14 +203 1 0.839798 0 4.19899 2.66454e-15 -8.77076e-15 -2.26139e-14 +204 1 0 0.839798 4.19899 -8.88178e-15 2.88658e-15 -2.24265e-14 +205 1 1.6796 0 3.35919 1.73472e-16 -8.88178e-15 1.42109e-14 +206 1 2.51939 0.839798 3.35919 -1.83881e-15 2.77556e-15 1.55431e-14 +207 1 2.51939 0 4.19899 -1.67227e-15 -7.99361e-15 -2.32037e-14 +208 1 1.6796 0.839798 4.19899 -1.8735e-16 3.33067e-15 -2.28637e-14 +209 1 3.35919 0 3.35919 1.37182e-14 -7.99361e-15 1.44329e-14 +210 1 4.19899 0.839798 3.35919 -2.30232e-14 2.66454e-15 1.19071e-14 +211 1 4.19899 0 4.19899 -2.27665e-14 -5.32907e-15 -2.27041e-14 +212 1 3.35919 0.839798 4.19899 1.24276e-14 2.88658e-15 -2.27457e-14 +213 1 5.03879 0 3.35919 -2.08167e-17 -7.99361e-15 1.11022e-14 +214 1 5.87859 0.839798 3.35919 2.2489e-14 2.55351e-15 1.36002e-14 +215 1 5.87859 0 4.19899 2.21143e-14 -5.32907e-15 -2.24265e-14 +216 1 5.03879 0.839798 4.19899 -1.08941e-15 3.55271e-15 -2.22461e-14 +217 1 6.71838 0 3.35919 -2.47025e-15 -8.77076e-15 1.29619e-14 +218 1 7.55818 0.839798 3.35919 -1.11022e-15 2.60902e-15 1.4766e-14 +219 1 7.55818 0 4.19899 1.33227e-15 -6.43929e-15 -2.4647e-14 +220 1 6.71838 0.839798 4.19899 -2.38698e-15 2.67841e-15 -2.39531e-14 +221 1 0 1.6796 3.35919 -1.11022e-14 -2.22045e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -4.64906e-16 1.52378e-14 +223 1 0.839798 1.6796 4.19899 2.88658e-15 2.498e-16 -2.32592e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -1.60982e-15 -2.32592e-14 +225 1 1.6796 1.6796 3.35919 2.22045e-16 -7.91034e-16 1.5779e-14 +226 1 2.51939 2.51939 3.35919 -1.4086e-15 -1.02002e-15 1.46133e-14 +227 1 2.51939 1.6796 4.19899 -1.39472e-15 3.95517e-16 -2.30857e-14 +228 1 1.6796 2.51939 4.19899 -8.67362e-16 -1.45023e-15 -2.42237e-14 +229 1 3.35919 1.6796 3.35919 1.39888e-14 -2.77556e-17 1.57235e-14 +230 1 4.19899 2.51939 3.35919 -2.32939e-14 -1.64452e-15 1.24276e-14 +231 1 4.19899 1.6796 4.19899 -2.19755e-14 -9.08995e-16 -2.30302e-14 +232 1 3.35919 2.51939 4.19899 1.17822e-14 -2.00534e-15 -2.40433e-14 +233 1 5.03879 1.6796 3.35919 -2.498e-16 -9.22873e-16 1.29757e-14 +234 1 5.87859 2.51939 3.35919 2.13649e-14 -8.67362e-16 1.27398e-14 +235 1 5.87859 1.6796 4.19899 2.08236e-14 -7.42462e-16 -2.31828e-14 +236 1 5.03879 2.51939 4.19899 -4.30211e-16 -1.67227e-15 -2.22253e-14 +237 1 6.71838 1.6796 3.35919 -3.19883e-15 -4.996e-16 1.39264e-14 +238 1 7.55818 2.51939 3.35919 -4.44089e-16 -1.9984e-15 1.24345e-14 +239 1 7.55818 1.6796 4.19899 -4.44089e-16 -5.06539e-16 -2.39808e-14 +240 1 6.71838 2.51939 4.19899 -2.44249e-15 -1.47105e-15 -2.40641e-14 +241 1 0 3.35919 3.35919 -1.11022e-14 1.33227e-14 1.31006e-14 +242 1 0.839798 4.19899 3.35919 2.66454e-15 -2.26555e-14 1.12133e-14 +243 1 0.839798 3.35919 4.19899 2.44249e-15 1.28925e-14 -2.26208e-14 +244 1 0 4.19899 4.19899 -6.21725e-15 -2.26485e-14 -2.26485e-14 +245 1 1.6796 3.35919 3.35919 2.08167e-16 1.3281e-14 1.52794e-14 +246 1 2.51939 4.19899 3.35919 -2.17187e-15 -2.33494e-14 1.22957e-14 +247 1 2.51939 3.35919 4.19899 -1.94983e-15 1.21569e-14 -2.20726e-14 +248 1 1.6796 4.19899 4.19899 -5.20417e-16 -2.2489e-14 -2.38767e-14 +249 1 3.35919 3.35919 3.35919 1.28092e-14 1.24345e-14 1.42109e-14 +250 1 4.19899 4.19899 3.35919 -2.29677e-14 -2.35575e-14 8.33361e-15 +251 1 4.19899 3.35919 4.19899 -2.33702e-14 9.08301e-15 -2.33355e-14 +252 1 3.35919 4.19899 4.19899 9.67976e-15 -2.36547e-14 -2.46539e-14 +253 1 5.03879 3.35919 3.35919 -2.28983e-16 1.06026e-14 1.14353e-14 +254 1 5.87859 4.19899 3.35919 2.19408e-14 -2.21698e-14 8.51402e-15 +255 1 5.87859 3.35919 4.19899 2.15522e-14 1.01238e-14 -2.328e-14 +256 1 5.03879 4.19899 4.19899 -5.20417e-16 -2.11775e-14 -2.23085e-14 +257 1 6.71838 3.35919 3.35919 -3.1225e-15 1.22957e-14 1.31978e-14 +258 1 7.55818 4.19899 3.35919 -1.11022e-15 -2.4647e-14 1.05471e-14 +259 1 7.55818 3.35919 4.19899 -8.88178e-16 1.113e-14 -2.53131e-14 +260 1 6.71838 4.19899 4.19899 -3.60822e-15 -2.5091e-14 -2.32731e-14 +261 1 0 5.03879 3.35919 -7.10543e-15 -2.22045e-16 1.15463e-14 +262 1 0.839798 5.87859 3.35919 2.55351e-15 2.28359e-14 1.37113e-14 +263 1 0.839798 5.03879 4.19899 2.88658e-15 -1.05471e-15 -2.20102e-14 +264 1 0 5.87859 4.19899 -5.32907e-15 2.21212e-14 -2.25375e-14 +265 1 1.6796 5.03879 3.35919 2.56739e-16 -2.498e-16 1.26843e-14 +266 1 2.51939 5.87859 3.35919 -1.31145e-15 2.16702e-14 1.30659e-14 +267 1 2.51939 5.03879 4.19899 -2.06085e-15 8.04912e-16 -2.10873e-14 +268 1 1.6796 5.87859 4.19899 -7.63278e-17 2.17118e-14 -2.12261e-14 +269 1 3.35919 5.03879 3.35919 1.10328e-14 -2.01228e-16 1.11994e-14 +270 1 4.19899 5.87859 3.35919 -2.29886e-14 2.15314e-14 1.08039e-14 +271 1 4.19899 5.03879 4.19899 -2.02338e-14 -4.92661e-16 -2.14065e-14 +272 1 3.35919 5.87859 4.19899 1.03459e-14 2.19963e-14 -2.39878e-14 +273 1 5.03879 5.03879 3.35919 -1.94289e-16 -8.04912e-16 8.64586e-15 +274 1 5.87859 5.87859 3.35919 2.18645e-14 2.20171e-14 1.02141e-14 +275 1 5.87859 5.03879 4.19899 1.98036e-14 1.38778e-16 -2.15869e-14 +276 1 5.03879 5.87859 4.19899 -3.05311e-16 1.94428e-14 -2.04628e-14 +277 1 6.71838 5.03879 3.35919 -2.35922e-15 -3.53884e-16 1.02071e-14 +278 1 7.55818 5.87859 3.35919 -8.88178e-16 2.28706e-14 1.02141e-14 +279 1 7.55818 5.03879 4.19899 -1.33227e-15 -3.05311e-16 -2.33147e-14 +280 1 6.71838 5.87859 4.19899 -3.27516e-15 2.23987e-14 -2.53547e-14 +281 1 0 6.71838 3.35919 -9.32587e-15 -3.77476e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.33147e-15 1.13798e-15 1.40166e-14 +283 1 0.839798 6.71838 4.19899 2.66454e-15 -2.44249e-15 -2.37865e-14 +284 1 0 7.55818 4.19899 -6.21725e-15 -2.22045e-16 -2.50355e-14 +285 1 1.6796 6.71838 3.35919 1.94289e-16 -2.25514e-15 1.4419e-14 +286 1 2.51939 7.55818 3.35919 -1.59595e-15 -6.10623e-16 1.37668e-14 +287 1 2.51939 6.71838 4.19899 -8.95117e-16 -2.55351e-15 -2.28983e-14 +288 1 1.6796 7.55818 4.19899 -5.13478e-16 8.88178e-16 -2.44249e-14 +289 1 3.35919 6.71838 3.35919 1.20876e-14 -2.85189e-15 1.31353e-14 +290 1 4.19899 7.55818 3.35919 -2.47094e-14 -9.4369e-16 1.06026e-14 +291 1 4.19899 6.71838 4.19899 -2.41057e-14 -3.77476e-15 -2.26208e-14 +292 1 3.35919 7.55818 4.19899 1.06998e-14 1.55431e-15 -2.53131e-14 +293 1 5.03879 6.71838 3.35919 -6.245e-17 -3.36536e-15 1.00892e-14 +294 1 5.87859 7.55818 3.35919 2.328e-14 4.44089e-16 1.02696e-14 +295 1 5.87859 6.71838 4.19899 2.31135e-14 -3.33067e-15 -2.39531e-14 +296 1 5.03879 7.55818 4.19899 -6.93889e-17 2.22045e-16 -2.28706e-14 +297 1 6.71838 6.71838 3.35919 -2.63678e-15 -2.97679e-15 1.21014e-14 +298 1 7.55818 7.55818 3.35919 -4.44089e-16 2.22045e-16 1.2268e-14 +299 1 7.55818 6.71838 4.19899 0 -2.94209e-15 -2.70894e-14 +300 1 6.71838 7.55818 4.19899 -3.10862e-15 9.57567e-16 -2.65621e-14 +301 1 0 0 5.03879 -7.99361e-15 -7.77156e-15 6.66134e-16 +302 1 0.839798 0.839798 5.03879 2.44249e-15 2.56739e-15 2.22045e-16 +303 1 0.839798 0 5.87859 2.88658e-15 -7.88258e-15 2.30926e-14 +304 1 0 0.839798 5.87859 -8.88178e-15 2.88658e-15 2.23155e-14 +305 1 1.6796 0 5.03879 -3.67761e-16 -8.88178e-15 -6.66134e-16 +306 1 2.51939 0.839798 5.03879 -1.26982e-15 2.66454e-15 8.60423e-16 +307 1 2.51939 0 5.87859 -2.08167e-15 -7.99361e-15 2.15383e-14 +308 1 1.6796 0.839798 5.87859 2.63678e-16 2.88658e-15 2.07612e-14 +309 1 3.35919 0 5.03879 1.09704e-14 -7.10543e-15 1.11022e-15 +310 1 4.19899 0.839798 5.03879 -2.02546e-14 2.66454e-15 -4.996e-16 +311 1 4.19899 0 5.87859 -2.26694e-14 -5.32907e-15 2.09832e-14 +312 1 3.35919 0.839798 5.87859 1.21708e-14 2.88658e-15 2.16979e-14 +313 1 5.03879 0 5.03879 -3.1225e-16 -5.32907e-15 2.22045e-16 +314 1 5.87859 0.839798 5.03879 1.91652e-14 2.77556e-15 1.9984e-15 +315 1 5.87859 0 5.87859 2.18436e-14 -4.44089e-15 2.27041e-14 +316 1 5.03879 0.839798 5.87859 -3.747e-16 3.10862e-15 2.10387e-14 +317 1 6.71838 0 5.03879 -3.30291e-15 -5.27356e-15 8.32667e-17 +318 1 7.55818 0.839798 5.03879 -1.11022e-16 2.41474e-15 1.66533e-15 +319 1 7.55818 0 5.87859 8.88178e-16 -7.32747e-15 2.33147e-14 +320 1 6.71838 0.839798 5.87859 -2.27596e-15 2.67841e-15 2.30926e-14 +321 1 0 1.6796 5.03879 -7.99361e-15 -6.66134e-16 2.22045e-16 +322 1 0.839798 2.51939 5.03879 2.44249e-15 -1.1588e-15 5.82867e-16 +323 1 0.839798 1.6796 5.87859 2.66454e-15 7.35523e-16 2.19269e-14 +324 1 0 2.51939 5.87859 -7.99361e-15 -1.83187e-15 2.15938e-14 +325 1 1.6796 1.6796 5.03879 2.01228e-16 -5.27356e-16 1.97065e-15 +326 1 2.51939 2.51939 5.03879 -1.00614e-15 -1.22818e-15 4.16334e-17 +327 1 2.51939 1.6796 5.87859 -9.99201e-16 -1.38778e-17 2.22808e-14 +328 1 1.6796 2.51939 5.87859 1.52656e-16 -1.38778e-15 2.04003e-14 +329 1 3.35919 1.6796 5.03879 1.17545e-14 2.63678e-16 1.02696e-15 +330 1 4.19899 2.51939 5.03879 -2.02893e-14 -2.11636e-15 -4.30211e-16 +331 1 4.19899 1.6796 5.87859 -2.20032e-14 -9.02056e-16 2.10318e-14 +332 1 3.35919 2.51939 5.87859 1.25316e-14 -1.51962e-15 2.06363e-14 +333 1 5.03879 1.6796 5.03879 8.88178e-16 -5.6205e-16 2.7478e-15 +334 1 5.87859 2.51939 5.03879 1.8846e-14 -7.84095e-16 1.20737e-15 +335 1 5.87859 1.6796 5.87859 2.0664e-14 -1.14492e-15 2.01852e-14 +336 1 5.03879 2.51939 5.87859 3.60822e-16 -1.94289e-15 1.76248e-14 +337 1 6.71838 1.6796 5.03879 -3.08781e-15 -8.74301e-16 5.96745e-16 +338 1 7.55818 2.51939 5.03879 -2.22045e-16 -1.55431e-15 2.22045e-16 +339 1 7.55818 1.6796 5.87859 1.77636e-15 -9.08995e-16 2.19824e-14 +340 1 6.71838 2.51939 5.87859 -2.60902e-15 -1.94289e-15 2.10665e-14 +341 1 0 3.35919 5.03879 -8.88178e-15 1.06581e-14 4.44089e-16 +342 1 0.839798 4.19899 5.03879 2.77556e-15 -2.00534e-14 -9.71445e-16 +343 1 0.839798 3.35919 5.87859 2.66454e-15 1.26565e-14 2.26763e-14 +344 1 0 4.19899 5.87859 -7.10543e-15 -2.27318e-14 2.12053e-14 +345 1 1.6796 3.35919 5.03879 2.15106e-16 1.11022e-14 1.249e-15 +346 1 2.51939 4.19899 5.03879 -1.61676e-15 -2.07542e-14 8.32667e-17 +347 1 2.51939 3.35919 5.87859 -1.34615e-15 1.1921e-14 2.25445e-14 +348 1 1.6796 4.19899 5.87859 -8.74301e-16 -2.1684e-14 1.93387e-14 +349 1 3.35919 3.35919 5.03879 1.08247e-14 1.05055e-14 6.245e-16 +350 1 4.19899 4.19899 5.03879 -2.08722e-14 -2.192e-14 5.55112e-16 +351 1 4.19899 3.35919 5.87859 -2.34326e-14 9.83241e-15 2.01436e-14 +352 1 3.35919 4.19899 5.87859 9.61037e-15 -2.29053e-14 2.15591e-14 +353 1 5.03879 3.35919 5.03879 6.31439e-16 6.7446e-15 5.41234e-16 +354 1 5.87859 4.19899 5.03879 1.91375e-14 -2.03101e-14 2.498e-16 +355 1 5.87859 3.35919 5.87859 2.14412e-14 1.00198e-14 2.06293e-14 +356 1 5.03879 4.19899 5.87859 -2.01228e-16 -2.06224e-14 1.59386e-14 +357 1 6.71838 3.35919 5.03879 -3.02536e-15 9.69363e-15 4.85723e-17 +358 1 7.55818 4.19899 5.03879 -8.88178e-16 -2.28706e-14 -3.33067e-16 +359 1 7.55818 3.35919 5.87859 4.44089e-16 1.11855e-14 2.30926e-14 +360 1 6.71838 4.19899 5.87859 -3.44169e-15 -2.34396e-14 2.11914e-14 +361 1 0 5.03879 5.03879 -3.9968e-15 -6.66134e-16 4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.66454e-15 1.93595e-14 5.55112e-16 +363 1 0.839798 5.03879 5.87859 3.10862e-15 -4.02456e-16 2.03726e-14 +364 1 0 5.87859 5.87859 -5.32907e-15 2.18159e-14 2.27596e-14 +365 1 1.6796 5.03879 5.03879 2.77556e-17 4.16334e-17 1.3739e-15 +366 1 2.51939 5.87859 5.03879 -1.56125e-15 1.82285e-14 1.76248e-15 +367 1 2.51939 5.03879 5.87859 -2.04003e-15 -1.1241e-15 1.95052e-14 +368 1 1.6796 5.87859 5.87859 2.08167e-17 2.11636e-14 2.05252e-14 +369 1 3.35919 5.03879 5.03879 8.17402e-15 3.40006e-16 3.33067e-16 +370 1 4.19899 5.87859 5.03879 -2.08653e-14 1.81868e-14 3.26128e-16 +371 1 4.19899 5.03879 5.87859 -2.05391e-14 -2.28983e-16 1.85199e-14 +372 1 3.35919 5.87859 5.87859 1.02834e-14 2.14967e-14 2.09693e-14 +373 1 5.03879 5.03879 5.03879 2.35922e-16 2.498e-16 -1.30451e-15 +374 1 5.87859 5.87859 5.03879 1.90889e-14 1.87003e-14 -2.70617e-16 +375 1 5.87859 5.03879 5.87859 1.91305e-14 8.74301e-16 1.98105e-14 +376 1 5.03879 5.87859 5.87859 1.38778e-17 1.92832e-14 1.88183e-14 +377 1 6.71838 5.03879 5.03879 -3.45557e-15 -3.05311e-16 1.51962e-15 +378 1 7.55818 5.87859 5.03879 -4.44089e-16 2.08722e-14 1.66533e-16 +379 1 7.55818 5.03879 5.87859 -1.33227e-15 5.55112e-16 2.08722e-14 +380 1 6.71838 5.87859 5.87859 -3.33067e-15 2.20102e-14 2.08999e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.44089e-15 8.88178e-16 +382 1 0.839798 7.55818 5.03879 2.33147e-15 4.71845e-16 9.15934e-16 +383 1 0.839798 6.71838 5.87859 2.88658e-15 -2.27596e-15 2.23016e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 -2.22045e-16 2.31482e-14 +385 1 1.6796 6.71838 5.03879 -1.38778e-17 -2.86576e-15 1.27676e-15 +386 1 2.51939 7.55818 5.03879 -1.51268e-15 -8.32667e-16 6.66134e-16 +387 1 2.51939 6.71838 5.87859 -1.32533e-15 -2.27596e-15 2.22322e-14 +388 1 1.6796 7.55818 5.87859 -2.498e-16 1.77636e-15 2.13163e-14 +389 1 3.35919 6.71838 5.03879 1.05402e-14 -3.47639e-15 2.19963e-15 +390 1 4.19899 7.55818 5.03879 -2.27665e-14 -1.44329e-15 8.32667e-16 +391 1 4.19899 6.71838 5.87859 -2.39184e-14 -2.94209e-15 2.11775e-14 +392 1 3.35919 7.55818 5.87859 1.08802e-14 1.55431e-15 2.28706e-14 +393 1 5.03879 6.71838 5.03879 -7.63278e-17 -4.04538e-15 1.38778e-17 +394 1 5.87859 7.55818 5.03879 2.10457e-14 -7.21645e-16 7.21645e-16 +395 1 5.87859 6.71838 5.87859 2.31065e-14 -3.10862e-15 2.18714e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-17 -4.44089e-16 2.08722e-14 +397 1 6.71838 6.71838 5.03879 -2.76168e-15 -2.74086e-15 -3.88578e-16 +398 1 7.55818 7.55818 5.03879 0 0 -6.66134e-16 +399 1 7.55818 6.71838 5.87859 0 -2.94209e-15 2.39808e-14 +400 1 6.71838 7.55818 5.87859 -3.16414e-15 7.77156e-16 2.42029e-14 +401 1 0 0 6.71838 -1.06581e-14 -1.04361e-14 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.66454e-15 2.67841e-15 -2.72005e-15 +403 1 0.839798 0 7.55818 2.55351e-15 -9.70057e-15 1.05471e-15 +404 1 0 0.839798 7.55818 -8.88178e-15 2.66454e-15 4.44089e-16 +405 1 1.6796 0 6.71838 2.08167e-16 -7.99361e-15 -2.44249e-15 +406 1 2.51939 0.839798 6.71838 -1.8735e-15 2.77556e-15 -2.72005e-15 +407 1 2.51939 0 7.55818 -1.56819e-15 -8.88178e-15 0 +408 1 1.6796 0.839798 7.55818 -1.11022e-16 2.66454e-15 1.55431e-15 +409 1 3.35919 0 6.71838 1.26288e-14 -7.10543e-15 -2.88658e-15 +410 1 4.19899 0.839798 6.71838 -2.40641e-14 2.66454e-15 -4.69069e-15 +411 1 4.19899 0 7.55818 -2.43069e-14 -7.99361e-15 -4.44089e-16 +412 1 3.35919 0.839798 7.55818 1.38223e-14 2.66454e-15 1.33227e-15 +413 1 5.03879 0 6.71838 2.22045e-16 -6.21725e-15 -3.10862e-15 +414 1 5.87859 0.839798 6.71838 2.22183e-14 2.55351e-15 -1.4988e-15 +415 1 5.87859 0 7.55818 2.35922e-14 -6.21725e-15 -8.88178e-16 +416 1 5.03879 0.839798 7.55818 -4.71845e-16 2.55351e-15 -2.77556e-17 +417 1 6.71838 0 6.71838 -3.38618e-15 -6.99441e-15 -3.94129e-15 +418 1 7.55818 0.839798 6.71838 -1.16573e-15 2.60902e-15 -3.10862e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -2.27596e-15 2.45637e-15 0 +421 1 0 1.6796 6.71838 -1.02141e-14 -4.44089e-16 -3.33067e-15 +422 1 0.839798 2.51939 6.71838 2.77556e-15 -4.996e-16 -3.05311e-15 +423 1 0.839798 1.6796 7.55818 2.66454e-15 1.11022e-16 -1.66533e-16 +424 1 0 2.51939 7.55818 -7.99361e-15 -1.76248e-15 -2.22045e-16 +425 1 1.6796 1.6796 6.71838 2.08167e-16 -7.63278e-16 -2.31759e-15 +426 1 2.51939 2.51939 6.71838 -1.38778e-15 -9.99201e-16 -2.73392e-15 +427 1 2.51939 1.6796 7.55818 -1.47105e-15 5.55112e-17 7.14706e-16 +428 1 1.6796 2.51939 7.55818 -3.33067e-16 -2.06779e-15 -1.45717e-16 +429 1 3.35919 1.6796 6.71838 1.30312e-14 -6.93889e-18 -2.52576e-15 +430 1 4.19899 2.51939 6.71838 -2.37796e-14 -2.35922e-15 -4.35069e-15 +431 1 4.19899 1.6796 7.55818 -2.36061e-14 4.64906e-16 -6.45317e-16 +432 1 3.35919 2.51939 7.55818 1.29549e-14 -8.60423e-16 -1.20043e-15 +433 1 5.03879 1.6796 6.71838 0 -5.68989e-16 -2.42861e-15 +434 1 5.87859 2.51939 6.71838 2.20657e-14 -1.10328e-15 -2.7478e-15 +435 1 5.87859 1.6796 7.55818 2.22045e-14 -6.245e-16 5.20417e-16 +436 1 5.03879 2.51939 7.55818 1.38778e-16 -1.83187e-15 -8.46545e-16 +437 1 6.71838 1.6796 6.71838 -2.32453e-15 -5.06539e-16 -2.59515e-15 +438 1 7.55818 2.51939 6.71838 -2.22045e-16 -1.9984e-15 -3.4972e-15 +439 1 7.55818 1.6796 7.55818 6.66134e-16 5.55112e-17 -1.33227e-15 +440 1 6.71838 2.51939 7.55818 -2.83107e-15 -2.06779e-15 -6.66134e-16 +441 1 0 3.35919 6.71838 -1.11022e-14 1.31006e-14 -2.88658e-15 +442 1 0.839798 4.19899 6.71838 2.66454e-15 -2.28359e-14 -4.46865e-15 +443 1 0.839798 3.35919 7.55818 2.55351e-15 1.38362e-14 5.55112e-17 +444 1 0 4.19899 7.55818 -7.99361e-15 -2.44457e-14 -8.88178e-16 +445 1 1.6796 3.35919 6.71838 2.22045e-16 1.20598e-14 -2.05391e-15 +446 1 2.51939 4.19899 6.71838 -1.09635e-15 -2.38767e-14 -4.46171e-15 +447 1 2.51939 3.35919 7.55818 -1.92901e-15 1.40235e-14 -9.02056e-17 +448 1 1.6796 4.19899 7.55818 4.16334e-17 -2.43833e-14 -1.54737e-15 +449 1 3.35919 3.35919 6.71838 1.28716e-14 1.13104e-14 -2.16493e-15 +450 1 4.19899 4.19899 6.71838 -2.44943e-14 -2.37588e-14 -4.78784e-15 +451 1 4.19899 3.35919 7.55818 -2.42584e-14 1.09426e-14 6.38378e-16 +452 1 3.35919 4.19899 7.55818 1.13798e-14 -2.49245e-14 -1.59595e-15 +453 1 5.03879 3.35919 6.71838 -2.35922e-16 8.98587e-15 -1.98452e-15 +454 1 5.87859 4.19899 6.71838 2.29469e-14 -2.33771e-14 -3.1572e-15 +455 1 5.87859 3.35919 7.55818 2.34951e-14 1.07414e-14 1.80411e-15 +456 1 5.03879 4.19899 7.55818 4.16334e-17 -2.19547e-14 -1.42941e-15 +457 1 6.71838 3.35919 6.71838 -3.13638e-15 1.12688e-14 -2.26208e-15 +458 1 7.55818 4.19899 6.71838 2.22045e-16 -2.59792e-14 -1.38778e-15 +459 1 7.55818 3.35919 7.55818 0 1.28855e-14 -8.88178e-16 +460 1 6.71838 4.19899 7.55818 -2.66454e-15 -2.52992e-14 -1.05471e-15 +461 1 0 5.03879 6.71838 -6.21725e-15 2.22045e-16 -2.22045e-15 +462 1 0.839798 5.87859 6.71838 2.55351e-15 2.25375e-14 -2.38698e-15 +463 1 0.839798 5.03879 7.55818 2.66454e-15 1.38778e-17 6.38378e-16 +464 1 0 5.87859 7.55818 -6.21725e-15 2.3842e-14 -2.22045e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -1.17961e-15 -2.20657e-15 +466 1 2.51939 5.87859 6.71838 -1.51962e-15 2.23849e-14 -2.19269e-15 +467 1 2.51939 5.03879 7.55818 -1.90126e-15 -3.26128e-16 6.38378e-16 +468 1 1.6796 5.87859 7.55818 -6.93889e-17 2.2593e-14 1.76942e-15 +469 1 3.35919 5.03879 6.71838 1.02557e-14 -1.31839e-15 -2.20657e-15 +470 1 4.19899 5.87859 6.71838 -2.37102e-14 2.16563e-14 -1.60288e-15 +471 1 4.19899 5.03879 7.55818 -2.25375e-14 1.38778e-17 -7.63278e-16 +472 1 3.35919 5.87859 7.55818 1.15047e-14 2.3162e-14 8.32667e-16 +473 1 5.03879 5.03879 6.71838 -2.28983e-16 -1.00614e-15 -3.27516e-15 +474 1 5.87859 5.87859 6.71838 2.35922e-14 2.19824e-14 -1.88738e-15 +475 1 5.87859 5.03879 7.55818 2.15383e-14 -2.63678e-16 7.70217e-16 +476 1 5.03879 5.87859 7.55818 1.38778e-17 2.13718e-14 3.26128e-16 +477 1 6.71838 5.03879 6.71838 -3.48332e-15 -9.71445e-16 -1.83187e-15 +478 1 7.55818 5.87859 6.71838 -2.22045e-16 2.39808e-14 -3.38618e-15 +479 1 7.55818 5.03879 7.55818 -1.33227e-15 -1.17961e-16 -6.66134e-16 +480 1 6.71838 5.87859 7.55818 -2.83107e-15 2.47372e-14 -3.88578e-16 +481 1 0 6.71838 6.71838 -9.32587e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.44249e-15 0 -2.94209e-15 +483 1 0.839798 6.71838 7.55818 2.55351e-15 -3.15026e-15 -3.33067e-16 +484 1 0 7.55818 7.55818 -8.88178e-15 0 -2.22045e-16 +485 1 1.6796 6.71838 6.71838 2.15106e-16 -3.04617e-15 -3.05311e-15 +486 1 2.51939 7.55818 6.71838 -1.54043e-15 -5.55112e-16 -2.72005e-15 +487 1 2.51939 6.71838 7.55818 -2.08167e-15 -2.55351e-15 -2.77556e-17 +488 1 1.6796 7.55818 7.55818 2.77556e-17 -6.66134e-16 -1.11022e-15 +489 1 3.35919 6.71838 6.71838 1.22749e-14 -3.60129e-15 -2.27596e-15 +490 1 4.19899 7.55818 6.71838 -2.57433e-14 -6.66134e-16 -3.27516e-15 +491 1 4.19899 6.71838 7.55818 -2.58682e-14 -3.55271e-15 4.44089e-16 +492 1 3.35919 7.55818 7.55818 1.25316e-14 0 -4.44089e-16 +493 1 5.03879 6.71838 6.71838 0 -4.14252e-15 -3.19189e-15 +494 1 5.87859 7.55818 6.71838 2.47719e-14 -4.996e-16 -2.66454e-15 +495 1 5.87859 6.71838 7.55818 2.47163e-14 -2.66454e-15 -5.55112e-17 +496 1 5.03879 7.55818 7.55818 5.55112e-17 -2.22045e-16 6.66134e-16 +497 1 6.71838 6.71838 6.71838 -2.58127e-15 -3.18495e-15 -3.03924e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 0 -3.05311e-15 +499 1 7.55818 6.71838 7.55818 0 -2.69229e-15 -1.33227e-15 +500 1 6.71838 7.55818 7.55818 -2.66454e-15 9.02056e-16 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z fx fy fz +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/dump.17Jun22.snapshot.driver.mpi.1 b/examples/mdi/dump.17Jun22.snapshot.driver.mpi.1 new file mode 100644 index 0000000000..c4ee904680 --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.driver.mpi.1 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0 0 0 -1.06581e-14 -1.06581e-14 -1.00753e-14 +2 1 0.839798 0.839798 0 2.66454e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -1.05471e-14 4.56579e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -4.09395e-16 -9.76996e-15 -1.04361e-14 +6 1 2.51939 0.839798 0 -4.23273e-16 2.66454e-15 -1.06581e-14 +7 1 2.51939 0 0.839798 -7.00828e-16 -1.06581e-14 2.9976e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.28439e-14 -1.06581e-14 -1.04361e-14 +10 1 4.19899 0.839798 0 -2.25236e-14 2.66454e-15 -7.99361e-15 +11 1 4.19899 0 0.839798 -2.34118e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 2.77556e-17 -7.99361e-15 -7.99361e-15 +14 1 5.87859 0.839798 0 2.26555e-14 2.66454e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.16702e-14 -7.99361e-15 2.66454e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.33067e-15 -9.63118e-15 -9.74221e-15 +18 1 7.55818 0.839798 0 4.44089e-16 2.55351e-15 -9.32587e-15 +19 1 7.55818 0 0.839798 0 -1.02141e-14 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 2.88658e-15 -2.77556e-17 -9.76996e-15 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -5.06539e-16 6.245e-17 -9.76996e-15 +26 1 2.51939 2.51939 0 -2.11636e-15 -1.72778e-15 -9.76996e-15 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.88658e-15 +29 1 3.35919 1.6796 0 1.34545e-14 3.46945e-17 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.30926e-14 -1.85268e-15 -7.99361e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.33067e-15 +33 1 5.03879 1.6796 0 2.01228e-16 1.66533e-16 -7.10543e-15 +34 1 5.87859 2.51939 0 2.12677e-14 -1.74166e-15 -7.99361e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.88658e-15 +37 1 6.71838 1.6796 0 -3.10862e-15 -1.66533e-16 -8.10463e-15 +38 1 7.55818 2.51939 0 8.88178e-16 -1.33227e-15 -9.32587e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.56659e-15 +41 1 0 3.35919 0 -1.06581e-14 1.28786e-14 -9.54792e-15 +42 1 0.839798 4.19899 0 2.66454e-15 -2.24404e-14 -8.88178e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -8.88178e-15 -2.32037e-14 2.55351e-15 +45 1 1.6796 3.35919 0 -8.53484e-16 1.47174e-14 -9.76996e-15 +46 1 2.51939 4.19899 0 -1.79717e-15 -2.32175e-14 -7.10543e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51476e-14 3.55271e-15 +48 1 1.6796 4.19899 0.839798 -2.08167e-16 -2.40918e-14 3.33067e-15 +49 1 3.35919 3.35919 0 1.2608e-14 1.419e-14 -7.99361e-15 +50 1 4.19899 4.19899 0 -2.28706e-14 -2.25653e-14 -5.32907e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13937e-14 2.88658e-15 +52 1 3.35919 4.19899 0.839798 1.249e-14 -2.21975e-14 2.88658e-15 +53 1 5.03879 3.35919 0 -2.22045e-16 1.14422e-14 -6.21725e-15 +54 1 5.87859 4.19899 0 2.22322e-14 -2.22461e-14 -5.32907e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27467e-14 2.88658e-15 +56 1 5.03879 4.19899 0.839798 -2.08167e-16 -2.11983e-14 3.10862e-15 +57 1 6.71838 3.35919 0 -3.60822e-15 1.32949e-14 -8.04912e-15 +58 1 7.55818 4.19899 0 8.88178e-16 -2.44249e-14 -7.10543e-15 +59 1 7.55818 3.35919 0.839798 1.66533e-16 1.40443e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -3.05311e-15 -2.40641e-14 2.45637e-15 +61 1 0 5.03879 0 -7.10543e-15 6.66134e-16 -7.32747e-15 +62 1 0.839798 5.87859 0 2.66454e-15 2.28706e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -2.77556e-16 2.67841e-15 +64 1 0 5.87859 0.839798 -9.76996e-15 2.18159e-14 2.66454e-15 +65 1 1.6796 5.03879 0 8.32667e-17 -9.92262e-16 -6.21725e-15 +66 1 2.51939 5.87859 0 -2.08167e-15 2.16008e-14 -7.10543e-15 +67 1 2.51939 5.03879 0.839798 -1.72085e-15 3.81639e-16 3.10862e-15 +68 1 1.6796 5.87859 0.839798 -8.74301e-16 2.02824e-14 3.10862e-15 +69 1 3.35919 5.03879 0 1.08871e-14 -1.80411e-16 -6.21725e-15 +70 1 4.19899 5.87859 0 -2.27804e-14 2.17187e-14 -4.44089e-15 +71 1 4.19899 5.03879 0.839798 -1.95469e-14 -1.15186e-15 2.88658e-15 +72 1 3.35919 5.87859 0.839798 1.19973e-14 2.21143e-14 2.88658e-15 +73 1 5.03879 5.03879 0 1.17961e-16 6.8695e-16 -3.55271e-15 +74 1 5.87859 5.87859 0 2.17604e-14 2.22114e-14 -5.32907e-15 +75 1 5.87859 5.03879 0.839798 1.9415e-14 3.747e-16 2.88658e-15 +76 1 5.03879 5.87859 0.839798 -6.52256e-16 1.92069e-14 2.88658e-15 +77 1 6.71838 5.03879 0 -2.38698e-15 4.64906e-16 -6.43929e-15 +78 1 7.55818 5.87859 0 0 2.26485e-14 -7.54952e-15 +79 1 7.55818 5.03879 0.839798 1.11022e-16 1.44329e-15 2.498e-15 +80 1 6.71838 5.87859 0.839798 -2.94209e-15 2.15661e-14 2.45637e-15 +81 1 0 6.71838 0 -1.06581e-14 -3.77476e-15 -9.60343e-15 +82 1 0.839798 7.55818 0 2.44249e-15 7.91034e-16 -1.00892e-14 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.80251e-15 +84 1 0 7.55818 0.839798 -8.88178e-15 -2.22045e-16 3.05311e-15 +85 1 1.6796 6.71838 0 -8.04912e-16 -1.72085e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -1.51268e-15 6.66134e-16 -9.54792e-15 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 2.08167e-16 2.77556e-16 3.33067e-15 +89 1 3.35919 6.71838 0 1.24623e-14 -2.22045e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.45221e-14 0 -7.99361e-15 +91 1 4.19899 6.71838 0.839798 -2.33563e-14 -4.89886e-15 2.45637e-15 +92 1 3.35919 7.55818 0.839798 1.30868e-14 8.88178e-16 2.88658e-15 +93 1 5.03879 6.71838 0 -4.02456e-16 -2.83107e-15 -6.43929e-15 +94 1 5.87859 7.55818 0 2.33563e-14 8.88178e-16 -7.10543e-15 +95 1 5.87859 6.71838 0.839798 2.1913e-14 -1.74166e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -2.08167e-16 -5.27356e-16 2.498e-15 +97 1 6.71838 6.71838 0 -2.83107e-15 -3.42781e-15 -7.10543e-15 +98 1 7.55818 7.55818 0 4.44089e-16 0 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 5.55112e-17 -3.10862e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -2.88658e-15 5.27356e-16 2.56739e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -1.11022e-15 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -1.05471e-14 1.80411e-16 +104 1 0 0.839798 2.51939 -1.15463e-14 2.9976e-15 3.88578e-16 +105 1 1.6796 0 1.6796 1.73472e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.6584e-15 -1.06581e-14 -1.4988e-15 +108 1 1.6796 0.839798 2.51939 2.63678e-16 3.10862e-15 -1.67227e-15 +109 1 3.35919 0 1.6796 1.41623e-14 -8.88178e-15 6.66134e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.30371e-14 -7.99361e-15 -1.66533e-15 +112 1 3.35919 0.839798 2.51939 1.4419e-14 2.88658e-15 -1.90126e-15 +113 1 5.03879 0 1.6796 8.67362e-16 -8.88178e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.01159e-14 -8.88178e-15 -1.38778e-15 +116 1 5.03879 0.839798 2.51939 2.91434e-16 3.10862e-15 -1.45023e-15 +117 1 6.71838 0 1.6796 -2.52576e-15 -8.77076e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 1.33227e-15 -9.76996e-15 -1.9984e-15 +120 1 6.71838 0.839798 2.51939 -3.10862e-15 2.90046e-15 -2.10942e-15 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.66454e-15 7.35523e-16 -1.30451e-15 +124 1 0 2.51939 2.51939 -1.06581e-14 -7.49401e-16 -1.44329e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -9.22873e-16 1.38778e-17 -1.17267e-15 +128 1 1.6796 2.51939 2.51939 1.38778e-16 -1.26982e-15 -2.16493e-15 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.2024e-14 4.64906e-16 -2.11636e-15 +132 1 3.35919 2.51939 2.51939 1.47937e-14 -1.33227e-15 -2.23432e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.02546e-14 -2.56739e-16 -2.07473e-15 +136 1 5.03879 2.51939 2.51939 5.82867e-16 -1.91513e-15 -2.16493e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 4.44089e-16 -6.93889e-18 -2.22045e-15 +140 1 6.71838 2.51939 2.51939 -3.27516e-15 -1.67921e-15 -2.38698e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.44249e-15 -2.1684e-14 -6.10623e-16 +143 1 0.839798 3.35919 2.51939 2.44249e-15 1.49047e-14 -1.83187e-15 +144 1 0 4.19899 2.51939 -8.88178e-15 -2.22322e-14 -1.60982e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.72778e-15 -2.28081e-14 -1.32533e-15 +147 1 2.51939 3.35919 2.51939 -9.92262e-16 1.42247e-14 -1.29757e-15 +148 1 1.6796 4.19899 2.51939 6.93889e-18 -2.16632e-14 -2.92821e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1684e-14 -2.2142e-14 -1.26982e-15 +151 1 4.19899 3.35919 2.51939 -2.27457e-14 1.10675e-14 -2.81025e-15 +152 1 3.35919 4.19899 2.51939 1.17337e-14 -2.23849e-14 -3.15026e-15 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.0213e-14 -2.25167e-14 2.28983e-16 +155 1 5.87859 3.35919 2.51939 2.08236e-14 1.21292e-14 -2.5327e-15 +156 1 5.03879 4.19899 2.51939 1.38778e-17 -1.97481e-14 -3.59435e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 2.22045e-16 -2.33147e-14 -4.996e-16 +159 1 7.55818 3.35919 2.51939 1.33227e-15 1.33227e-14 -2.66454e-15 +160 1 6.71838 4.19899 2.51939 -3.27516e-15 -2.33147e-14 -2.84495e-15 +161 1 0 5.03879 1.6796 -7.10543e-15 4.44089e-16 0 +162 1 0.839798 5.87859 1.6796 2.44249e-15 2.08375e-14 7.21645e-16 +163 1 0.839798 5.03879 2.51939 2.88658e-15 2.63678e-16 -1.13798e-15 +164 1 0 5.87859 2.51939 -7.99361e-15 2.03171e-14 -1.44329e-15 +165 1 1.6796 5.03879 1.6796 2.56739e-16 8.60423e-16 8.04912e-16 +166 1 2.51939 5.87859 1.6796 -9.64506e-16 2.08375e-14 -7.35523e-16 +167 1 2.51939 5.03879 2.51939 -2.04003e-15 -4.57967e-16 -2.84495e-16 +168 1 1.6796 5.87859 2.51939 6.93889e-18 2.03101e-14 -7.91034e-16 +169 1 3.35919 5.03879 1.6796 1.12549e-14 2.08167e-17 1.08247e-15 +170 1 4.19899 5.87859 1.6796 -2.15591e-14 2.06987e-14 9.57567e-16 +171 1 4.19899 5.03879 2.51939 -1.96579e-14 4.30211e-16 -2.72699e-15 +172 1 3.35919 5.87859 2.51939 1.23929e-14 2.06432e-14 -2.2482e-15 +173 1 5.03879 5.03879 1.6796 2.77556e-17 -1.38778e-16 1.20737e-15 +174 1 5.87859 5.87859 1.6796 2.07542e-14 2.02408e-14 7.70217e-16 +175 1 5.87859 5.03879 2.51939 1.86587e-14 6.52256e-16 -1.7833e-15 +176 1 5.03879 5.87859 2.51939 -2.08167e-16 1.92762e-14 -1.33227e-15 +177 1 6.71838 5.03879 1.6796 -2.42167e-15 -1.31839e-16 -3.33067e-16 +178 1 7.55818 5.87859 1.6796 -2.22045e-16 2.19824e-14 2.22045e-16 +179 1 7.55818 5.03879 2.51939 -4.44089e-16 1.22125e-15 -1.9984e-15 +180 1 6.71838 5.87859 2.51939 -3.10862e-15 2.20657e-14 -2.19269e-15 +181 1 0 6.71838 1.6796 -1.02141e-14 -2.88658e-15 -6.66134e-16 +182 1 0.839798 7.55818 1.6796 1.9984e-15 6.38378e-16 2.22045e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -3.10862e-15 -2.08167e-15 +184 1 0 7.55818 2.51939 -9.76996e-15 4.44089e-16 -1.88738e-15 +185 1 1.6796 6.71838 1.6796 1.94289e-16 -2.31759e-15 1.249e-16 +186 1 2.51939 7.55818 1.6796 -1.249e-15 -6.17562e-16 5.55112e-17 +187 1 2.51939 6.71838 2.51939 -1.19349e-15 -3.10862e-15 -2.08167e-15 +188 1 1.6796 7.55818 2.51939 -2.22045e-16 1.33227e-15 -2.66454e-15 +189 1 3.35919 6.71838 1.6796 1.34198e-14 -2.02616e-15 -6.245e-17 +190 1 4.19899 7.55818 1.6796 -2.38282e-14 -4.71845e-16 1.45717e-16 +191 1 4.19899 6.71838 2.51939 -2.43278e-14 -4.60743e-15 -3.88578e-15 +192 1 3.35919 7.55818 2.51939 1.29896e-14 1.9984e-15 -2.22045e-15 +193 1 5.03879 6.71838 1.6796 -6.245e-17 -1.65146e-15 2.35922e-16 +194 1 5.87859 7.55818 1.6796 2.23294e-14 1.13798e-15 -6.93889e-18 +195 1 5.87859 6.71838 2.51939 2.15869e-14 -2.9976e-15 -2.63678e-15 +196 1 5.03879 7.55818 2.51939 -2.22045e-16 -2.22045e-16 -1.77636e-15 +197 1 6.71838 6.71838 1.6796 -2.62984e-15 -2.59515e-15 -1.47798e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 2.22045e-16 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 8.88178e-16 -2.27596e-15 -2.66454e-15 +200 1 6.71838 7.55818 2.51939 -2.9976e-15 7.91034e-16 -1.91513e-15 +201 1 0 0 3.35919 -1.06581e-14 -1.04361e-14 1.35447e-14 +202 1 0.839798 0.839798 3.35919 2.66454e-15 2.67841e-15 1.50435e-14 +203 1 0.839798 0 4.19899 2.66454e-15 -8.77076e-15 -2.26139e-14 +204 1 0 0.839798 4.19899 -8.88178e-15 2.88658e-15 -2.24265e-14 +205 1 1.6796 0 3.35919 1.73472e-16 -8.88178e-15 1.42109e-14 +206 1 2.51939 0.839798 3.35919 -1.83881e-15 2.77556e-15 1.55431e-14 +207 1 2.51939 0 4.19899 -1.67227e-15 -7.99361e-15 -2.32037e-14 +208 1 1.6796 0.839798 4.19899 -1.8735e-16 3.33067e-15 -2.28637e-14 +209 1 3.35919 0 3.35919 1.37182e-14 -7.99361e-15 1.44329e-14 +210 1 4.19899 0.839798 3.35919 -2.30232e-14 2.66454e-15 1.19071e-14 +211 1 4.19899 0 4.19899 -2.27665e-14 -5.32907e-15 -2.27041e-14 +212 1 3.35919 0.839798 4.19899 1.24276e-14 2.88658e-15 -2.27457e-14 +213 1 5.03879 0 3.35919 -2.08167e-17 -7.99361e-15 1.11022e-14 +214 1 5.87859 0.839798 3.35919 2.2489e-14 2.55351e-15 1.36002e-14 +215 1 5.87859 0 4.19899 2.21143e-14 -5.32907e-15 -2.24265e-14 +216 1 5.03879 0.839798 4.19899 -1.08941e-15 3.55271e-15 -2.22461e-14 +217 1 6.71838 0 3.35919 -2.47025e-15 -8.77076e-15 1.29619e-14 +218 1 7.55818 0.839798 3.35919 -1.11022e-15 2.60902e-15 1.4766e-14 +219 1 7.55818 0 4.19899 1.33227e-15 -6.43929e-15 -2.4647e-14 +220 1 6.71838 0.839798 4.19899 -2.38698e-15 2.67841e-15 -2.39531e-14 +221 1 0 1.6796 3.35919 -1.11022e-14 -2.22045e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -4.64906e-16 1.52378e-14 +223 1 0.839798 1.6796 4.19899 2.88658e-15 2.498e-16 -2.32592e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -1.60982e-15 -2.32592e-14 +225 1 1.6796 1.6796 3.35919 2.22045e-16 -7.91034e-16 1.5779e-14 +226 1 2.51939 2.51939 3.35919 -1.4086e-15 -1.02002e-15 1.46133e-14 +227 1 2.51939 1.6796 4.19899 -1.39472e-15 3.95517e-16 -2.30857e-14 +228 1 1.6796 2.51939 4.19899 -8.67362e-16 -1.45023e-15 -2.42237e-14 +229 1 3.35919 1.6796 3.35919 1.39888e-14 -2.77556e-17 1.57235e-14 +230 1 4.19899 2.51939 3.35919 -2.32939e-14 -1.64452e-15 1.24276e-14 +231 1 4.19899 1.6796 4.19899 -2.19755e-14 -9.08995e-16 -2.30302e-14 +232 1 3.35919 2.51939 4.19899 1.17822e-14 -2.00534e-15 -2.40433e-14 +233 1 5.03879 1.6796 3.35919 -2.498e-16 -9.22873e-16 1.29757e-14 +234 1 5.87859 2.51939 3.35919 2.13649e-14 -8.67362e-16 1.27398e-14 +235 1 5.87859 1.6796 4.19899 2.08236e-14 -7.42462e-16 -2.31828e-14 +236 1 5.03879 2.51939 4.19899 -4.30211e-16 -1.67227e-15 -2.22253e-14 +237 1 6.71838 1.6796 3.35919 -3.19883e-15 -4.996e-16 1.39264e-14 +238 1 7.55818 2.51939 3.35919 -4.44089e-16 -1.9984e-15 1.24345e-14 +239 1 7.55818 1.6796 4.19899 -4.44089e-16 -5.06539e-16 -2.39808e-14 +240 1 6.71838 2.51939 4.19899 -2.44249e-15 -1.47105e-15 -2.40641e-14 +241 1 0 3.35919 3.35919 -1.11022e-14 1.33227e-14 1.31006e-14 +242 1 0.839798 4.19899 3.35919 2.66454e-15 -2.26555e-14 1.12133e-14 +243 1 0.839798 3.35919 4.19899 2.44249e-15 1.28925e-14 -2.26208e-14 +244 1 0 4.19899 4.19899 -6.21725e-15 -2.26485e-14 -2.26485e-14 +245 1 1.6796 3.35919 3.35919 2.08167e-16 1.3281e-14 1.52794e-14 +246 1 2.51939 4.19899 3.35919 -2.17187e-15 -2.33494e-14 1.22957e-14 +247 1 2.51939 3.35919 4.19899 -1.94983e-15 1.21569e-14 -2.20726e-14 +248 1 1.6796 4.19899 4.19899 -5.20417e-16 -2.2489e-14 -2.38767e-14 +249 1 3.35919 3.35919 3.35919 1.28092e-14 1.24345e-14 1.42109e-14 +250 1 4.19899 4.19899 3.35919 -2.29677e-14 -2.35575e-14 8.33361e-15 +251 1 4.19899 3.35919 4.19899 -2.33702e-14 9.08301e-15 -2.33355e-14 +252 1 3.35919 4.19899 4.19899 9.67976e-15 -2.36547e-14 -2.46539e-14 +253 1 5.03879 3.35919 3.35919 -2.28983e-16 1.06026e-14 1.14353e-14 +254 1 5.87859 4.19899 3.35919 2.19408e-14 -2.21698e-14 8.51402e-15 +255 1 5.87859 3.35919 4.19899 2.15522e-14 1.01238e-14 -2.328e-14 +256 1 5.03879 4.19899 4.19899 -5.20417e-16 -2.11775e-14 -2.23085e-14 +257 1 6.71838 3.35919 3.35919 -3.1225e-15 1.22957e-14 1.31978e-14 +258 1 7.55818 4.19899 3.35919 -1.11022e-15 -2.4647e-14 1.05471e-14 +259 1 7.55818 3.35919 4.19899 -8.88178e-16 1.113e-14 -2.53131e-14 +260 1 6.71838 4.19899 4.19899 -3.60822e-15 -2.5091e-14 -2.32731e-14 +261 1 0 5.03879 3.35919 -7.10543e-15 -2.22045e-16 1.15463e-14 +262 1 0.839798 5.87859 3.35919 2.55351e-15 2.28359e-14 1.37113e-14 +263 1 0.839798 5.03879 4.19899 2.88658e-15 -1.05471e-15 -2.20102e-14 +264 1 0 5.87859 4.19899 -5.32907e-15 2.21212e-14 -2.25375e-14 +265 1 1.6796 5.03879 3.35919 2.56739e-16 -2.498e-16 1.26843e-14 +266 1 2.51939 5.87859 3.35919 -1.31145e-15 2.16702e-14 1.30659e-14 +267 1 2.51939 5.03879 4.19899 -2.06085e-15 8.04912e-16 -2.10873e-14 +268 1 1.6796 5.87859 4.19899 -7.63278e-17 2.17118e-14 -2.12261e-14 +269 1 3.35919 5.03879 3.35919 1.10328e-14 -2.01228e-16 1.11994e-14 +270 1 4.19899 5.87859 3.35919 -2.29886e-14 2.15314e-14 1.08039e-14 +271 1 4.19899 5.03879 4.19899 -2.02338e-14 -4.92661e-16 -2.14065e-14 +272 1 3.35919 5.87859 4.19899 1.03459e-14 2.19963e-14 -2.39878e-14 +273 1 5.03879 5.03879 3.35919 -1.94289e-16 -8.04912e-16 8.64586e-15 +274 1 5.87859 5.87859 3.35919 2.18645e-14 2.20171e-14 1.02141e-14 +275 1 5.87859 5.03879 4.19899 1.98036e-14 1.38778e-16 -2.15869e-14 +276 1 5.03879 5.87859 4.19899 -3.05311e-16 1.94428e-14 -2.04628e-14 +277 1 6.71838 5.03879 3.35919 -2.35922e-15 -3.53884e-16 1.02071e-14 +278 1 7.55818 5.87859 3.35919 -8.88178e-16 2.28706e-14 1.02141e-14 +279 1 7.55818 5.03879 4.19899 -1.33227e-15 -3.05311e-16 -2.33147e-14 +280 1 6.71838 5.87859 4.19899 -3.27516e-15 2.23987e-14 -2.53547e-14 +281 1 0 6.71838 3.35919 -9.32587e-15 -3.77476e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.33147e-15 1.13798e-15 1.40166e-14 +283 1 0.839798 6.71838 4.19899 2.66454e-15 -2.44249e-15 -2.37865e-14 +284 1 0 7.55818 4.19899 -6.21725e-15 -2.22045e-16 -2.50355e-14 +285 1 1.6796 6.71838 3.35919 1.94289e-16 -2.25514e-15 1.4419e-14 +286 1 2.51939 7.55818 3.35919 -1.59595e-15 -6.10623e-16 1.37668e-14 +287 1 2.51939 6.71838 4.19899 -8.95117e-16 -2.55351e-15 -2.28983e-14 +288 1 1.6796 7.55818 4.19899 -5.13478e-16 8.88178e-16 -2.44249e-14 +289 1 3.35919 6.71838 3.35919 1.20876e-14 -2.85189e-15 1.31353e-14 +290 1 4.19899 7.55818 3.35919 -2.47094e-14 -9.4369e-16 1.06026e-14 +291 1 4.19899 6.71838 4.19899 -2.41057e-14 -3.77476e-15 -2.26208e-14 +292 1 3.35919 7.55818 4.19899 1.06998e-14 1.55431e-15 -2.53131e-14 +293 1 5.03879 6.71838 3.35919 -6.245e-17 -3.36536e-15 1.00892e-14 +294 1 5.87859 7.55818 3.35919 2.328e-14 4.44089e-16 1.02696e-14 +295 1 5.87859 6.71838 4.19899 2.31135e-14 -3.33067e-15 -2.39531e-14 +296 1 5.03879 7.55818 4.19899 -6.93889e-17 2.22045e-16 -2.28706e-14 +297 1 6.71838 6.71838 3.35919 -2.63678e-15 -2.97679e-15 1.21014e-14 +298 1 7.55818 7.55818 3.35919 -4.44089e-16 2.22045e-16 1.2268e-14 +299 1 7.55818 6.71838 4.19899 0 -2.94209e-15 -2.70894e-14 +300 1 6.71838 7.55818 4.19899 -3.10862e-15 9.57567e-16 -2.65621e-14 +301 1 0 0 5.03879 -7.99361e-15 -7.77156e-15 6.66134e-16 +302 1 0.839798 0.839798 5.03879 2.44249e-15 2.56739e-15 2.22045e-16 +303 1 0.839798 0 5.87859 2.88658e-15 -7.88258e-15 2.30926e-14 +304 1 0 0.839798 5.87859 -8.88178e-15 2.88658e-15 2.23155e-14 +305 1 1.6796 0 5.03879 -3.67761e-16 -8.88178e-15 -6.66134e-16 +306 1 2.51939 0.839798 5.03879 -1.26982e-15 2.66454e-15 8.60423e-16 +307 1 2.51939 0 5.87859 -2.08167e-15 -7.99361e-15 2.15383e-14 +308 1 1.6796 0.839798 5.87859 2.63678e-16 2.88658e-15 2.07612e-14 +309 1 3.35919 0 5.03879 1.09704e-14 -7.10543e-15 1.11022e-15 +310 1 4.19899 0.839798 5.03879 -2.02546e-14 2.66454e-15 -4.996e-16 +311 1 4.19899 0 5.87859 -2.26694e-14 -5.32907e-15 2.09832e-14 +312 1 3.35919 0.839798 5.87859 1.21708e-14 2.88658e-15 2.16979e-14 +313 1 5.03879 0 5.03879 -3.1225e-16 -5.32907e-15 2.22045e-16 +314 1 5.87859 0.839798 5.03879 1.91652e-14 2.77556e-15 1.9984e-15 +315 1 5.87859 0 5.87859 2.18436e-14 -4.44089e-15 2.27041e-14 +316 1 5.03879 0.839798 5.87859 -3.747e-16 3.10862e-15 2.10387e-14 +317 1 6.71838 0 5.03879 -3.30291e-15 -5.27356e-15 8.32667e-17 +318 1 7.55818 0.839798 5.03879 -1.11022e-16 2.41474e-15 1.66533e-15 +319 1 7.55818 0 5.87859 8.88178e-16 -7.32747e-15 2.33147e-14 +320 1 6.71838 0.839798 5.87859 -2.27596e-15 2.67841e-15 2.30926e-14 +321 1 0 1.6796 5.03879 -7.99361e-15 -6.66134e-16 2.22045e-16 +322 1 0.839798 2.51939 5.03879 2.44249e-15 -1.1588e-15 5.82867e-16 +323 1 0.839798 1.6796 5.87859 2.66454e-15 7.35523e-16 2.19269e-14 +324 1 0 2.51939 5.87859 -7.99361e-15 -1.83187e-15 2.15938e-14 +325 1 1.6796 1.6796 5.03879 2.01228e-16 -5.27356e-16 1.97065e-15 +326 1 2.51939 2.51939 5.03879 -1.00614e-15 -1.22818e-15 4.16334e-17 +327 1 2.51939 1.6796 5.87859 -9.99201e-16 -1.38778e-17 2.22808e-14 +328 1 1.6796 2.51939 5.87859 1.52656e-16 -1.38778e-15 2.04003e-14 +329 1 3.35919 1.6796 5.03879 1.17545e-14 2.63678e-16 1.02696e-15 +330 1 4.19899 2.51939 5.03879 -2.02893e-14 -2.11636e-15 -4.30211e-16 +331 1 4.19899 1.6796 5.87859 -2.20032e-14 -9.02056e-16 2.10318e-14 +332 1 3.35919 2.51939 5.87859 1.25316e-14 -1.51962e-15 2.06363e-14 +333 1 5.03879 1.6796 5.03879 8.88178e-16 -5.6205e-16 2.7478e-15 +334 1 5.87859 2.51939 5.03879 1.8846e-14 -7.84095e-16 1.20737e-15 +335 1 5.87859 1.6796 5.87859 2.0664e-14 -1.14492e-15 2.01852e-14 +336 1 5.03879 2.51939 5.87859 3.60822e-16 -1.94289e-15 1.76248e-14 +337 1 6.71838 1.6796 5.03879 -3.08781e-15 -8.74301e-16 5.96745e-16 +338 1 7.55818 2.51939 5.03879 -2.22045e-16 -1.55431e-15 2.22045e-16 +339 1 7.55818 1.6796 5.87859 1.77636e-15 -9.08995e-16 2.19824e-14 +340 1 6.71838 2.51939 5.87859 -2.60902e-15 -1.94289e-15 2.10665e-14 +341 1 0 3.35919 5.03879 -8.88178e-15 1.06581e-14 4.44089e-16 +342 1 0.839798 4.19899 5.03879 2.77556e-15 -2.00534e-14 -9.71445e-16 +343 1 0.839798 3.35919 5.87859 2.66454e-15 1.26565e-14 2.26763e-14 +344 1 0 4.19899 5.87859 -7.10543e-15 -2.27318e-14 2.12053e-14 +345 1 1.6796 3.35919 5.03879 2.15106e-16 1.11022e-14 1.249e-15 +346 1 2.51939 4.19899 5.03879 -1.61676e-15 -2.07542e-14 8.32667e-17 +347 1 2.51939 3.35919 5.87859 -1.34615e-15 1.1921e-14 2.25445e-14 +348 1 1.6796 4.19899 5.87859 -8.74301e-16 -2.1684e-14 1.93387e-14 +349 1 3.35919 3.35919 5.03879 1.08247e-14 1.05055e-14 6.245e-16 +350 1 4.19899 4.19899 5.03879 -2.08722e-14 -2.192e-14 5.55112e-16 +351 1 4.19899 3.35919 5.87859 -2.34326e-14 9.83241e-15 2.01436e-14 +352 1 3.35919 4.19899 5.87859 9.61037e-15 -2.29053e-14 2.15591e-14 +353 1 5.03879 3.35919 5.03879 6.31439e-16 6.7446e-15 5.41234e-16 +354 1 5.87859 4.19899 5.03879 1.91375e-14 -2.03101e-14 2.498e-16 +355 1 5.87859 3.35919 5.87859 2.14412e-14 1.00198e-14 2.06293e-14 +356 1 5.03879 4.19899 5.87859 -2.01228e-16 -2.06224e-14 1.59386e-14 +357 1 6.71838 3.35919 5.03879 -3.02536e-15 9.69363e-15 4.85723e-17 +358 1 7.55818 4.19899 5.03879 -8.88178e-16 -2.28706e-14 -3.33067e-16 +359 1 7.55818 3.35919 5.87859 4.44089e-16 1.11855e-14 2.30926e-14 +360 1 6.71838 4.19899 5.87859 -3.44169e-15 -2.34396e-14 2.11914e-14 +361 1 0 5.03879 5.03879 -3.9968e-15 -6.66134e-16 4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.66454e-15 1.93595e-14 5.55112e-16 +363 1 0.839798 5.03879 5.87859 3.10862e-15 -4.02456e-16 2.03726e-14 +364 1 0 5.87859 5.87859 -5.32907e-15 2.18159e-14 2.27596e-14 +365 1 1.6796 5.03879 5.03879 2.77556e-17 4.16334e-17 1.3739e-15 +366 1 2.51939 5.87859 5.03879 -1.56125e-15 1.82285e-14 1.76248e-15 +367 1 2.51939 5.03879 5.87859 -2.04003e-15 -1.1241e-15 1.95052e-14 +368 1 1.6796 5.87859 5.87859 2.08167e-17 2.11636e-14 2.05252e-14 +369 1 3.35919 5.03879 5.03879 8.17402e-15 3.40006e-16 3.33067e-16 +370 1 4.19899 5.87859 5.03879 -2.08653e-14 1.81868e-14 3.26128e-16 +371 1 4.19899 5.03879 5.87859 -2.05391e-14 -2.28983e-16 1.85199e-14 +372 1 3.35919 5.87859 5.87859 1.02834e-14 2.14967e-14 2.09693e-14 +373 1 5.03879 5.03879 5.03879 2.35922e-16 2.498e-16 -1.30451e-15 +374 1 5.87859 5.87859 5.03879 1.90889e-14 1.87003e-14 -2.70617e-16 +375 1 5.87859 5.03879 5.87859 1.91305e-14 8.74301e-16 1.98105e-14 +376 1 5.03879 5.87859 5.87859 1.38778e-17 1.92832e-14 1.88183e-14 +377 1 6.71838 5.03879 5.03879 -3.45557e-15 -3.05311e-16 1.51962e-15 +378 1 7.55818 5.87859 5.03879 -4.44089e-16 2.08722e-14 1.66533e-16 +379 1 7.55818 5.03879 5.87859 -1.33227e-15 5.55112e-16 2.08722e-14 +380 1 6.71838 5.87859 5.87859 -3.33067e-15 2.20102e-14 2.08999e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.44089e-15 8.88178e-16 +382 1 0.839798 7.55818 5.03879 2.33147e-15 4.71845e-16 9.15934e-16 +383 1 0.839798 6.71838 5.87859 2.88658e-15 -2.27596e-15 2.23016e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 -2.22045e-16 2.31482e-14 +385 1 1.6796 6.71838 5.03879 -1.38778e-17 -2.86576e-15 1.27676e-15 +386 1 2.51939 7.55818 5.03879 -1.51268e-15 -8.32667e-16 6.66134e-16 +387 1 2.51939 6.71838 5.87859 -1.32533e-15 -2.27596e-15 2.22322e-14 +388 1 1.6796 7.55818 5.87859 -2.498e-16 1.77636e-15 2.13163e-14 +389 1 3.35919 6.71838 5.03879 1.05402e-14 -3.47639e-15 2.19963e-15 +390 1 4.19899 7.55818 5.03879 -2.27665e-14 -1.44329e-15 8.32667e-16 +391 1 4.19899 6.71838 5.87859 -2.39184e-14 -2.94209e-15 2.11775e-14 +392 1 3.35919 7.55818 5.87859 1.08802e-14 1.55431e-15 2.28706e-14 +393 1 5.03879 6.71838 5.03879 -7.63278e-17 -4.04538e-15 1.38778e-17 +394 1 5.87859 7.55818 5.03879 2.10457e-14 -7.21645e-16 7.21645e-16 +395 1 5.87859 6.71838 5.87859 2.31065e-14 -3.10862e-15 2.18714e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-17 -4.44089e-16 2.08722e-14 +397 1 6.71838 6.71838 5.03879 -2.76168e-15 -2.74086e-15 -3.88578e-16 +398 1 7.55818 7.55818 5.03879 0 0 -6.66134e-16 +399 1 7.55818 6.71838 5.87859 0 -2.94209e-15 2.39808e-14 +400 1 6.71838 7.55818 5.87859 -3.16414e-15 7.77156e-16 2.42029e-14 +401 1 0 0 6.71838 -1.06581e-14 -1.04361e-14 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.66454e-15 2.67841e-15 -2.72005e-15 +403 1 0.839798 0 7.55818 2.55351e-15 -9.70057e-15 1.05471e-15 +404 1 0 0.839798 7.55818 -8.88178e-15 2.66454e-15 4.44089e-16 +405 1 1.6796 0 6.71838 2.08167e-16 -7.99361e-15 -2.44249e-15 +406 1 2.51939 0.839798 6.71838 -1.8735e-15 2.77556e-15 -2.72005e-15 +407 1 2.51939 0 7.55818 -1.56819e-15 -8.88178e-15 0 +408 1 1.6796 0.839798 7.55818 -1.11022e-16 2.66454e-15 1.55431e-15 +409 1 3.35919 0 6.71838 1.26288e-14 -7.10543e-15 -2.88658e-15 +410 1 4.19899 0.839798 6.71838 -2.40641e-14 2.66454e-15 -4.69069e-15 +411 1 4.19899 0 7.55818 -2.43069e-14 -7.99361e-15 -4.44089e-16 +412 1 3.35919 0.839798 7.55818 1.38223e-14 2.66454e-15 1.33227e-15 +413 1 5.03879 0 6.71838 2.22045e-16 -6.21725e-15 -3.10862e-15 +414 1 5.87859 0.839798 6.71838 2.22183e-14 2.55351e-15 -1.4988e-15 +415 1 5.87859 0 7.55818 2.35922e-14 -6.21725e-15 -8.88178e-16 +416 1 5.03879 0.839798 7.55818 -4.71845e-16 2.55351e-15 -2.77556e-17 +417 1 6.71838 0 6.71838 -3.38618e-15 -6.99441e-15 -3.94129e-15 +418 1 7.55818 0.839798 6.71838 -1.16573e-15 2.60902e-15 -3.10862e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -2.27596e-15 2.45637e-15 0 +421 1 0 1.6796 6.71838 -1.02141e-14 -4.44089e-16 -3.33067e-15 +422 1 0.839798 2.51939 6.71838 2.77556e-15 -4.996e-16 -3.05311e-15 +423 1 0.839798 1.6796 7.55818 2.66454e-15 1.11022e-16 -1.66533e-16 +424 1 0 2.51939 7.55818 -7.99361e-15 -1.76248e-15 -2.22045e-16 +425 1 1.6796 1.6796 6.71838 2.08167e-16 -7.63278e-16 -2.31759e-15 +426 1 2.51939 2.51939 6.71838 -1.38778e-15 -9.99201e-16 -2.73392e-15 +427 1 2.51939 1.6796 7.55818 -1.47105e-15 5.55112e-17 7.14706e-16 +428 1 1.6796 2.51939 7.55818 -3.33067e-16 -2.06779e-15 -1.45717e-16 +429 1 3.35919 1.6796 6.71838 1.30312e-14 -6.93889e-18 -2.52576e-15 +430 1 4.19899 2.51939 6.71838 -2.37796e-14 -2.35922e-15 -4.35069e-15 +431 1 4.19899 1.6796 7.55818 -2.36061e-14 4.64906e-16 -6.45317e-16 +432 1 3.35919 2.51939 7.55818 1.29549e-14 -8.60423e-16 -1.20043e-15 +433 1 5.03879 1.6796 6.71838 0 -5.68989e-16 -2.42861e-15 +434 1 5.87859 2.51939 6.71838 2.20657e-14 -1.10328e-15 -2.7478e-15 +435 1 5.87859 1.6796 7.55818 2.22045e-14 -6.245e-16 5.20417e-16 +436 1 5.03879 2.51939 7.55818 1.38778e-16 -1.83187e-15 -8.46545e-16 +437 1 6.71838 1.6796 6.71838 -2.32453e-15 -5.06539e-16 -2.59515e-15 +438 1 7.55818 2.51939 6.71838 -2.22045e-16 -1.9984e-15 -3.4972e-15 +439 1 7.55818 1.6796 7.55818 6.66134e-16 5.55112e-17 -1.33227e-15 +440 1 6.71838 2.51939 7.55818 -2.83107e-15 -2.06779e-15 -6.66134e-16 +441 1 0 3.35919 6.71838 -1.11022e-14 1.31006e-14 -2.88658e-15 +442 1 0.839798 4.19899 6.71838 2.66454e-15 -2.28359e-14 -4.46865e-15 +443 1 0.839798 3.35919 7.55818 2.55351e-15 1.38362e-14 5.55112e-17 +444 1 0 4.19899 7.55818 -7.99361e-15 -2.44457e-14 -8.88178e-16 +445 1 1.6796 3.35919 6.71838 2.22045e-16 1.20598e-14 -2.05391e-15 +446 1 2.51939 4.19899 6.71838 -1.09635e-15 -2.38767e-14 -4.46171e-15 +447 1 2.51939 3.35919 7.55818 -1.92901e-15 1.40235e-14 -9.02056e-17 +448 1 1.6796 4.19899 7.55818 4.16334e-17 -2.43833e-14 -1.54737e-15 +449 1 3.35919 3.35919 6.71838 1.28716e-14 1.13104e-14 -2.16493e-15 +450 1 4.19899 4.19899 6.71838 -2.44943e-14 -2.37588e-14 -4.78784e-15 +451 1 4.19899 3.35919 7.55818 -2.42584e-14 1.09426e-14 6.38378e-16 +452 1 3.35919 4.19899 7.55818 1.13798e-14 -2.49245e-14 -1.59595e-15 +453 1 5.03879 3.35919 6.71838 -2.35922e-16 8.98587e-15 -1.98452e-15 +454 1 5.87859 4.19899 6.71838 2.29469e-14 -2.33771e-14 -3.1572e-15 +455 1 5.87859 3.35919 7.55818 2.34951e-14 1.07414e-14 1.80411e-15 +456 1 5.03879 4.19899 7.55818 4.16334e-17 -2.19547e-14 -1.42941e-15 +457 1 6.71838 3.35919 6.71838 -3.13638e-15 1.12688e-14 -2.26208e-15 +458 1 7.55818 4.19899 6.71838 2.22045e-16 -2.59792e-14 -1.38778e-15 +459 1 7.55818 3.35919 7.55818 0 1.28855e-14 -8.88178e-16 +460 1 6.71838 4.19899 7.55818 -2.66454e-15 -2.52992e-14 -1.05471e-15 +461 1 0 5.03879 6.71838 -6.21725e-15 2.22045e-16 -2.22045e-15 +462 1 0.839798 5.87859 6.71838 2.55351e-15 2.25375e-14 -2.38698e-15 +463 1 0.839798 5.03879 7.55818 2.66454e-15 1.38778e-17 6.38378e-16 +464 1 0 5.87859 7.55818 -6.21725e-15 2.3842e-14 -2.22045e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -1.17961e-15 -2.20657e-15 +466 1 2.51939 5.87859 6.71838 -1.51962e-15 2.23849e-14 -2.19269e-15 +467 1 2.51939 5.03879 7.55818 -1.90126e-15 -3.26128e-16 6.38378e-16 +468 1 1.6796 5.87859 7.55818 -6.93889e-17 2.2593e-14 1.76942e-15 +469 1 3.35919 5.03879 6.71838 1.02557e-14 -1.31839e-15 -2.20657e-15 +470 1 4.19899 5.87859 6.71838 -2.37102e-14 2.16563e-14 -1.60288e-15 +471 1 4.19899 5.03879 7.55818 -2.25375e-14 1.38778e-17 -7.63278e-16 +472 1 3.35919 5.87859 7.55818 1.15047e-14 2.3162e-14 8.32667e-16 +473 1 5.03879 5.03879 6.71838 -2.28983e-16 -1.00614e-15 -3.27516e-15 +474 1 5.87859 5.87859 6.71838 2.35922e-14 2.19824e-14 -1.88738e-15 +475 1 5.87859 5.03879 7.55818 2.15383e-14 -2.63678e-16 7.70217e-16 +476 1 5.03879 5.87859 7.55818 1.38778e-17 2.13718e-14 3.26128e-16 +477 1 6.71838 5.03879 6.71838 -3.48332e-15 -9.71445e-16 -1.83187e-15 +478 1 7.55818 5.87859 6.71838 -2.22045e-16 2.39808e-14 -3.38618e-15 +479 1 7.55818 5.03879 7.55818 -1.33227e-15 -1.17961e-16 -6.66134e-16 +480 1 6.71838 5.87859 7.55818 -2.83107e-15 2.47372e-14 -3.88578e-16 +481 1 0 6.71838 6.71838 -9.32587e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.44249e-15 0 -2.94209e-15 +483 1 0.839798 6.71838 7.55818 2.55351e-15 -3.15026e-15 -3.33067e-16 +484 1 0 7.55818 7.55818 -8.88178e-15 0 -2.22045e-16 +485 1 1.6796 6.71838 6.71838 2.15106e-16 -3.04617e-15 -3.05311e-15 +486 1 2.51939 7.55818 6.71838 -1.54043e-15 -5.55112e-16 -2.72005e-15 +487 1 2.51939 6.71838 7.55818 -2.08167e-15 -2.55351e-15 -2.77556e-17 +488 1 1.6796 7.55818 7.55818 2.77556e-17 -6.66134e-16 -1.11022e-15 +489 1 3.35919 6.71838 6.71838 1.22749e-14 -3.60129e-15 -2.27596e-15 +490 1 4.19899 7.55818 6.71838 -2.57433e-14 -6.66134e-16 -3.27516e-15 +491 1 4.19899 6.71838 7.55818 -2.58682e-14 -3.55271e-15 4.44089e-16 +492 1 3.35919 7.55818 7.55818 1.25316e-14 0 -4.44089e-16 +493 1 5.03879 6.71838 6.71838 0 -4.14252e-15 -3.19189e-15 +494 1 5.87859 7.55818 6.71838 2.47719e-14 -4.996e-16 -2.66454e-15 +495 1 5.87859 6.71838 7.55818 2.47163e-14 -2.66454e-15 -5.55112e-17 +496 1 5.03879 7.55818 7.55818 5.55112e-17 -2.22045e-16 6.66134e-16 +497 1 6.71838 6.71838 6.71838 -2.58127e-15 -3.18495e-15 -3.03924e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 0 -3.05311e-15 +499 1 7.55818 6.71838 7.55818 0 -2.69229e-15 -1.33227e-15 +500 1 6.71838 7.55818 7.55818 -2.66454e-15 9.02056e-16 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/dump.17Jun22.snapshot.driver.mpi.4 b/examples/mdi/dump.17Jun22.snapshot.driver.mpi.4 new file mode 100644 index 0000000000..db50370991 --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.driver.mpi.4 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0 0 0 -1.06581e-14 -1.13243e-14 -1.09635e-14 +2 1 0.839798 0.839798 0 2.88658e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -9.65894e-15 4.45477e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -3.95517e-16 -1.06581e-14 -1.11022e-14 +6 1 2.51939 0.839798 0 -3.1225e-16 2.66454e-15 -9.76996e-15 +7 1 2.51939 0 0.839798 -7.97973e-16 -1.06581e-14 2.88658e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.30798e-14 -1.06581e-14 -1.06581e-14 +10 1 4.19899 0.839798 0 -2.24404e-14 2.66454e-15 -8.88178e-15 +11 1 4.19899 0 0.839798 -2.33424e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 3.19189e-16 -7.99361e-15 -7.10543e-15 +14 1 5.87859 0.839798 0 2.27665e-14 2.88658e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.17673e-14 -7.99361e-15 2.77556e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.21965e-15 -9.63118e-15 -1.01863e-14 +18 1 7.55818 0.839798 0 4.44089e-16 2.58127e-15 -9.10383e-15 +19 1 7.55818 0 0.839798 -4.44089e-16 -9.99201e-15 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 3.10862e-15 -9.71445e-17 -1.00198e-14 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -4.23273e-16 6.93889e-18 -8.88178e-15 +26 1 2.51939 2.51939 0 -2.19963e-15 -1.77636e-15 -1.09079e-14 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.8727e-15 +29 1 3.35919 1.6796 0 1.351e-14 1.45717e-16 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.32314e-14 -1.88738e-15 -9.99201e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.31679e-15 +33 1 5.03879 1.6796 0 2.28983e-16 1.94289e-16 -7.99361e-15 +34 1 5.87859 2.51939 0 2.13649e-14 -1.66533e-15 -8.21565e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.8727e-15 +37 1 6.71838 1.6796 0 -2.88658e-15 -2.63678e-16 -8.99281e-15 +38 1 7.55818 2.51939 0 1.33227e-15 -1.33227e-15 -9.99201e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.55271e-15 +41 1 0 3.35919 0 -1.06581e-14 1.31006e-14 -1.02141e-14 +42 1 0.839798 4.19899 0 2.66454e-15 -2.27873e-14 -9.34669e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -9.76996e-15 -2.33147e-14 2.60902e-15 +45 1 1.6796 3.35919 0 -8.11851e-16 1.5099e-14 -1.02141e-14 +46 1 2.51939 4.19899 0 -1.89432e-15 -2.39808e-14 -7.54952e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51268e-14 3.44169e-15 +48 1 1.6796 4.19899 0.839798 -4.16334e-16 -2.30926e-14 3.10862e-15 +49 1 3.35919 3.35919 0 1.26774e-14 1.46549e-14 -9.32587e-15 +50 1 4.19899 4.19899 0 -2.30302e-14 -2.4869e-14 -7.10543e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13798e-14 2.77556e-15 +52 1 3.35919 4.19899 0.839798 1.18308e-14 -2.22045e-14 2.66454e-15 +53 1 5.03879 3.35919 0 6.93889e-17 1.13243e-14 -7.54952e-15 +54 1 5.87859 4.19899 0 2.21975e-14 -2.22045e-14 -6.43929e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27398e-14 2.77556e-15 +56 1 5.03879 4.19899 0.839798 -2.22045e-16 -2.13163e-14 2.72005e-15 +57 1 6.71838 3.35919 0 -3.38618e-15 1.34892e-14 -9.15934e-15 +58 1 7.55818 4.19899 0 0 -2.35367e-14 -7.32747e-15 +59 1 7.55818 3.35919 0.839798 1.11022e-16 1.39888e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -2.9976e-15 -2.31204e-14 2.34535e-15 +61 1 0 5.03879 0 -6.21725e-15 -2.22045e-16 -7.32747e-15 +62 1 0.839798 5.87859 0 2.44249e-15 2.22322e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -1.66533e-16 2.61596e-15 +64 1 0 5.87859 0.839798 -7.10543e-15 2.15938e-14 3.10862e-15 +65 1 1.6796 5.03879 0 1.249e-16 4.44089e-16 -7.99361e-15 +66 1 2.51939 5.87859 0 -1.73472e-15 2.16008e-14 -7.99361e-15 +67 1 2.51939 5.03879 0.839798 -1.7833e-15 6.66134e-16 3.04617e-15 +68 1 1.6796 5.87859 0.839798 4.16334e-17 2.04697e-14 3.33067e-15 +69 1 3.35919 5.03879 0 1.08802e-14 0 -8.02136e-15 +70 1 4.19899 5.87859 0 -2.37727e-14 2.2253e-14 -6.21725e-15 +71 1 4.19899 5.03879 0.839798 -1.93734e-14 2.22045e-16 3.26822e-15 +72 1 3.35919 5.87859 0.839798 1.27537e-14 2.2593e-14 3.33067e-15 +73 1 5.03879 5.03879 0 1.94289e-16 6.66134e-16 -5.32907e-15 +74 1 5.87859 5.87859 0 2.20449e-14 2.1233e-14 -6.21725e-15 +75 1 5.87859 5.03879 0.839798 1.92277e-14 4.44089e-16 2.82413e-15 +76 1 5.03879 5.87859 0.839798 -6.93889e-18 2.00326e-14 3.33067e-15 +77 1 6.71838 5.03879 0 -2.27596e-15 -4.16334e-17 -8.24341e-15 +78 1 7.55818 5.87859 0 -8.88178e-16 2.33147e-14 -7.54952e-15 +79 1 7.55818 5.03879 0.839798 8.32667e-16 1.88738e-15 2.55351e-15 +80 1 6.71838 5.87859 0.839798 -3.16414e-15 2.25098e-14 3.1225e-15 +81 1 0 6.71838 0 -9.76996e-15 -3.77476e-15 -9.38138e-15 +82 1 0.839798 7.55818 0 2.22045e-15 1.67921e-15 -9.20097e-15 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.58047e-15 +84 1 0 7.55818 0.839798 -7.99361e-15 -1.11022e-15 3.05311e-15 +85 1 1.6796 6.71838 0 1.38778e-16 -2.72005e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -2.69229e-15 1.55431e-15 -8.43769e-15 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 4.64906e-16 -5.55112e-17 3.10862e-15 +89 1 3.35919 6.71838 0 1.27398e-14 -2.10942e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.46053e-14 -2.22045e-16 -6.21725e-15 +91 1 4.19899 6.71838 0.839798 -2.40225e-14 -4.89886e-15 2.67841e-15 +92 1 3.35919 7.55818 0.839798 1.36349e-14 -5.55112e-17 2.66454e-15 +93 1 5.03879 6.71838 0 3.19189e-16 -3.71925e-15 -7.32747e-15 +94 1 5.87859 7.55818 0 2.2593e-14 0 -7.10543e-15 +95 1 5.87859 6.71838 0.839798 2.19269e-14 -2.62984e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -4.16334e-16 -8.32667e-17 2.05391e-15 +97 1 6.71838 6.71838 0 -2.60902e-15 -2.42861e-15 -7.99361e-15 +98 1 7.55818 7.55818 0 -4.44089e-16 -8.88178e-16 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 -1.66533e-16 -2.22045e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -3.16414e-15 2.77556e-17 2.78944e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -8.88178e-16 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -9.65894e-15 -1.52656e-16 +104 1 0 0.839798 2.51939 -1.15463e-14 2.9976e-15 3.88578e-16 +105 1 1.6796 0 1.6796 2.15106e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.74166e-15 -1.06581e-14 -1.60982e-15 +108 1 1.6796 0.839798 2.51939 2.63678e-16 3.10862e-15 -1.67227e-15 +109 1 3.35919 0 1.6796 1.42039e-14 -8.88178e-15 8.88178e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.31759e-14 -9.76996e-15 -1.66533e-15 +112 1 3.35919 0.839798 2.51939 1.4419e-14 2.88658e-15 -1.90126e-15 +113 1 5.03879 0 1.6796 9.08995e-16 -9.76996e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.0213e-14 -8.88178e-15 -1.27676e-15 +116 1 5.03879 0.839798 2.51939 2.91434e-16 3.10862e-15 -1.45023e-15 +117 1 6.71838 0 1.6796 -2.30371e-15 -9.65894e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 1.33227e-15 -9.76996e-15 -1.9984e-15 +120 1 6.71838 0.839798 2.51939 -3.10862e-15 2.90046e-15 -2.10942e-15 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.66454e-15 7.35523e-16 -1.30451e-15 +124 1 0 2.51939 2.51939 -9.76996e-15 -1.249e-15 -1.4988e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -9.22873e-16 1.38778e-17 -1.17267e-15 +128 1 1.6796 2.51939 2.51939 1.38778e-16 -1.4988e-15 -2.498e-15 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.2024e-14 4.64906e-16 -2.11636e-15 +132 1 3.35919 2.51939 2.51939 1.47937e-14 -1.55431e-15 -2.52576e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.02546e-14 -2.56739e-16 -2.07473e-15 +136 1 5.03879 2.51939 2.51939 5.82867e-16 -2.16493e-15 -2.498e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 4.44089e-16 -6.93889e-18 -2.22045e-15 +140 1 6.71838 2.51939 2.51939 -3.27516e-15 -1.76248e-15 -2.55351e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.55351e-15 -2.46053e-14 -7.77156e-16 +143 1 0.839798 3.35919 2.51939 2.88658e-15 1.46688e-14 -1.47105e-15 +144 1 0 4.19899 2.51939 -7.99361e-15 -2.26485e-14 -1.33227e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.9082e-15 -2.30926e-14 -1.55431e-15 +147 1 2.51939 3.35919 2.51939 -1.04777e-15 1.5099e-14 -1.77636e-15 +148 1 1.6796 4.19899 2.51939 -2.01228e-16 -2.22045e-14 -2.27596e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1802e-14 -2.22045e-14 -4.44089e-16 +151 1 4.19899 3.35919 2.51939 -2.31759e-14 1.11022e-14 -2.44249e-15 +152 1 3.35919 4.19899 2.51939 1.19696e-14 -2.30926e-14 -1.38778e-15 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.09208e-14 -2.22045e-14 -4.44089e-16 +155 1 5.87859 3.35919 2.51939 2.10595e-14 1.06581e-14 -1.9984e-15 +156 1 5.03879 4.19899 2.51939 -2.22045e-16 -2.13163e-14 -2.05391e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 1.11022e-15 -2.30926e-14 -1.52656e-15 +159 1 7.55818 3.35919 2.51939 4.44089e-16 1.40998e-14 -8.88178e-16 +160 1 6.71838 4.19899 2.51939 -2.83107e-15 -2.29539e-14 -1.73472e-15 +161 1 0 5.03879 1.6796 -7.99361e-15 1.11022e-15 -4.44089e-16 +162 1 0.839798 5.87859 1.6796 2.44249e-15 1.9991e-14 2.77556e-16 +163 1 0.839798 5.03879 2.51939 2.88658e-15 6.80012e-16 -1.66533e-16 +164 1 0 5.87859 2.51939 -7.99361e-15 2.1011e-14 -1.77636e-15 +165 1 1.6796 5.03879 1.6796 4.71845e-16 -3.33067e-16 -1.11022e-16 +166 1 2.51939 5.87859 1.6796 -8.88178e-16 2.06501e-14 8.04912e-16 +167 1 2.51939 5.03879 2.51939 -2.06085e-15 -2.22045e-16 -1.08941e-15 +168 1 1.6796 5.87859 2.51939 2.63678e-16 2.05669e-14 -2.28983e-15 +169 1 3.35919 5.03879 1.6796 1.12202e-14 -1.11022e-15 6.93889e-16 +170 1 4.19899 5.87859 1.6796 -2.19824e-14 2.13163e-14 6.52256e-16 +171 1 4.19899 5.03879 2.51939 -1.94983e-14 -2.22045e-16 -1.7486e-15 +172 1 3.35919 5.87859 2.51939 1.26982e-14 2.15383e-14 -1.8735e-15 +173 1 5.03879 5.03879 1.6796 6.245e-17 -9.99201e-16 6.38378e-16 +174 1 5.87859 5.87859 1.6796 2.06501e-14 2.06501e-14 3.33067e-16 +175 1 5.87859 5.03879 2.51939 1.84575e-14 1.11022e-15 -8.04912e-16 +176 1 5.03879 5.87859 2.51939 -2.22045e-16 1.88322e-14 -2.51188e-15 +177 1 6.71838 5.03879 1.6796 -3.22659e-15 -1.26288e-15 -2.22045e-16 +178 1 7.55818 5.87859 1.6796 2.22045e-16 2.19824e-14 8.60423e-16 +179 1 7.55818 5.03879 2.51939 -8.88178e-16 1.11022e-16 -1.77636e-15 +180 1 6.71838 5.87859 2.51939 -2.9976e-15 2.17326e-14 -2.78944e-15 +181 1 0 6.71838 1.6796 -9.76996e-15 -2.88658e-15 0 +182 1 0.839798 7.55818 1.6796 2.10942e-15 1.17961e-15 9.15934e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -3.10862e-15 -1.19349e-15 +184 1 0 7.55818 2.51939 -1.06581e-14 8.88178e-16 -2.77556e-15 +185 1 1.6796 6.71838 1.6796 1.38778e-16 -2.31759e-15 -3.19189e-16 +186 1 2.51939 7.55818 1.6796 -1.1241e-15 8.8124e-16 -1.249e-16 +187 1 2.51939 6.71838 2.51939 -1.19349e-15 -3.10862e-15 -2.96985e-15 +188 1 1.6796 7.55818 2.51939 2.77556e-17 2.22045e-16 -1.9984e-15 +189 1 3.35919 6.71838 1.6796 1.29757e-14 -2.02616e-15 -5.06539e-16 +190 1 4.19899 7.55818 1.6796 -2.29122e-14 1.06859e-15 -2.91434e-16 +191 1 4.19899 6.71838 2.51939 -2.36616e-14 -4.60743e-15 -2.9976e-15 +192 1 3.35919 7.55818 2.51939 1.28508e-14 2.22045e-16 -2.22045e-15 +193 1 5.03879 6.71838 1.6796 1.31839e-16 -2.53964e-15 -6.52256e-16 +194 1 5.87859 7.55818 1.6796 2.15661e-14 7.63278e-16 -9.71445e-16 +195 1 5.87859 6.71838 2.51939 2.18089e-14 -3.88578e-15 -2.63678e-15 +196 1 5.03879 7.55818 2.51939 0 -6.66134e-16 -1.9984e-15 +197 1 6.71838 6.71838 1.6796 -2.24126e-15 -2.59515e-15 -1.0339e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 0 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 -8.88178e-16 -2.27596e-15 -1.77636e-15 +200 1 6.71838 7.55818 2.51939 -3.21965e-15 -9.71445e-17 -2.35922e-15 +201 1 0 0 3.35919 -1.06581e-14 -1.04361e-14 1.35447e-14 +202 1 0.839798 0.839798 3.35919 2.66454e-15 2.67841e-15 1.50435e-14 +203 1 0.839798 0 4.19899 2.88658e-15 -9.65894e-15 -2.24473e-14 +204 1 0 0.839798 4.19899 -7.99361e-15 2.88658e-15 -2.26485e-14 +205 1 1.6796 0 3.35919 2.15106e-16 -8.88178e-15 1.42109e-14 +206 1 2.51939 0.839798 3.35919 -1.83881e-15 2.77556e-15 1.55431e-14 +207 1 2.51939 0 4.19899 -1.76942e-15 -8.88178e-15 -2.35367e-14 +208 1 1.6796 0.839798 4.19899 -3.53884e-16 2.66454e-15 -2.19824e-14 +209 1 3.35919 0 3.35919 1.37598e-14 -7.99361e-15 1.46549e-14 +210 1 4.19899 0.839798 3.35919 -2.30232e-14 2.66454e-15 1.19071e-14 +211 1 4.19899 0 4.19899 -2.28637e-14 -7.10543e-15 -2.35367e-14 +212 1 3.35919 0.839798 4.19899 1.17892e-14 2.66454e-15 -2.28706e-14 +213 1 5.03879 0 3.35919 2.08167e-17 -7.99361e-15 1.08802e-14 +214 1 5.87859 0.839798 3.35919 2.2489e-14 2.55351e-15 1.36002e-14 +215 1 5.87859 0 4.19899 2.18922e-14 -5.32907e-15 -2.28706e-14 +216 1 5.03879 0.839798 4.19899 -1.25594e-15 2.66454e-15 -2.2024e-14 +217 1 6.71838 0 3.35919 -2.47025e-15 -8.77076e-15 1.29619e-14 +218 1 7.55818 0.839798 3.35919 -1.11022e-15 2.60902e-15 1.4766e-14 +219 1 7.55818 0 4.19899 -4.44089e-16 -6.66134e-15 -2.39808e-14 +220 1 6.71838 0.839798 4.19899 -2.60902e-15 2.90046e-15 -2.30371e-14 +221 1 0 1.6796 3.35919 -1.11022e-14 -2.22045e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -5.68989e-16 1.53766e-14 +223 1 0.839798 1.6796 4.19899 2.66454e-15 1.52656e-16 -2.39253e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -1.63758e-15 -2.37588e-14 +225 1 1.6796 1.6796 3.35919 2.22045e-16 -7.91034e-16 1.5779e-14 +226 1 2.51939 2.51939 3.35919 -1.4086e-15 -9.15934e-16 1.38917e-14 +227 1 2.51939 1.6796 4.19899 -1.72778e-15 2.84495e-16 -2.30926e-14 +228 1 1.6796 2.51939 4.19899 -7.28584e-16 -8.88178e-16 -2.2482e-14 +229 1 3.35919 1.6796 3.35919 1.39888e-14 -2.77556e-17 1.57235e-14 +230 1 4.19899 2.51939 3.35919 -2.32939e-14 -1.98452e-15 1.25663e-14 +231 1 4.19899 1.6796 4.19899 -2.16285e-14 -2.22045e-16 -2.22045e-14 +232 1 3.35919 2.51939 4.19899 1.21222e-14 -1.60982e-15 -2.33147e-14 +233 1 5.03879 1.6796 3.35919 -2.498e-16 -9.22873e-16 1.29757e-14 +234 1 5.87859 2.51939 3.35919 2.13649e-14 -9.71445e-17 1.28855e-14 +235 1 5.87859 1.6796 4.19899 2.10457e-14 -1.0339e-15 -2.22045e-14 +236 1 5.03879 2.51939 4.19899 -5.13478e-16 -2.05391e-15 -2.16771e-14 +237 1 6.71838 1.6796 3.35919 -3.19883e-15 -4.996e-16 1.39264e-14 +238 1 7.55818 2.51939 3.35919 -4.44089e-16 -2.22045e-15 1.29896e-14 +239 1 7.55818 1.6796 4.19899 6.66134e-16 -5.06539e-16 -2.4869e-14 +240 1 6.71838 2.51939 4.19899 -2.498e-15 -1.90126e-15 -2.40918e-14 +241 1 0 3.35919 3.35919 -1.11022e-14 1.35447e-14 1.33227e-14 +242 1 0.839798 4.19899 3.35919 2.77556e-15 -2.37171e-14 1.12133e-14 +243 1 0.839798 3.35919 4.19899 2.66454e-15 1.23929e-14 -2.45498e-14 +244 1 0 4.19899 4.19899 -7.10543e-15 -2.35367e-14 -2.29816e-14 +245 1 1.6796 3.35919 3.35919 2.08167e-16 1.33782e-14 1.51545e-14 +246 1 2.51939 4.19899 3.35919 -1.46411e-15 -2.13163e-14 1.06581e-14 +247 1 2.51939 3.35919 4.19899 -2.2829e-15 1.26565e-14 -2.33147e-14 +248 1 1.6796 4.19899 4.19899 -2.84495e-16 -2.30926e-14 -2.17604e-14 +249 1 3.35919 3.35919 3.35919 1.27814e-14 1.27121e-14 1.41553e-14 +250 1 4.19899 4.19899 3.35919 -2.30857e-14 -2.22045e-14 8.88178e-15 +251 1 4.19899 3.35919 4.19899 -2.29677e-14 9.32587e-15 -2.44249e-14 +252 1 3.35919 4.19899 4.19899 9.80466e-15 -2.30926e-14 -2.24265e-14 +253 1 5.03879 3.35919 3.35919 -2.28983e-16 1.00475e-14 1.12133e-14 +254 1 5.87859 4.19899 3.35919 2.19824e-14 -2.30926e-14 9.32587e-15 +255 1 5.87859 3.35919 4.19899 2.17881e-14 1.06581e-14 -2.53131e-14 +256 1 5.03879 4.19899 4.19899 -3.53884e-16 -2.04281e-14 -2.10942e-14 +257 1 6.71838 3.35919 3.35919 -3.1225e-15 1.29619e-14 1.27814e-14 +258 1 7.55818 4.19899 3.35919 6.66134e-16 -2.4647e-14 9.76996e-15 +259 1 7.55818 3.35919 4.19899 4.44089e-16 1.05749e-14 -2.53131e-14 +260 1 6.71838 4.19899 4.19899 -3.16414e-15 -2.29816e-14 -2.33424e-14 +261 1 0 5.03879 3.35919 -7.99361e-15 4.44089e-16 1.15463e-14 +262 1 0.839798 5.87859 3.35919 2.44249e-15 2.17673e-14 1.32672e-14 +263 1 0.839798 5.03879 4.19899 2.88658e-15 1.94289e-16 -2.1233e-14 +264 1 0 5.87859 4.19899 -6.21725e-15 2.16216e-14 -2.37588e-14 +265 1 1.6796 5.03879 3.35919 2.498e-16 -5.55112e-16 1.17684e-14 +266 1 2.51939 5.87859 3.35919 -1.11022e-15 2.13163e-14 1.34337e-14 +267 1 2.51939 5.03879 4.19899 -2.14412e-15 8.88178e-16 -2.12053e-14 +268 1 1.6796 5.87859 4.19899 2.498e-16 2.09971e-14 -2.13163e-14 +269 1 3.35919 5.03879 3.35919 1.09981e-14 -4.44089e-16 1.1241e-14 +270 1 4.19899 5.87859 3.35919 -2.33147e-14 2.19824e-14 1.00406e-14 +271 1 4.19899 5.03879 4.19899 -2.07542e-14 -4.44089e-16 -2.11775e-14 +272 1 3.35919 5.87859 4.19899 1.04916e-14 2.26069e-14 -2.22045e-14 +273 1 5.03879 5.03879 3.35919 6.245e-17 -3.33067e-16 8.27116e-15 +274 1 5.87859 5.87859 3.35919 2.19824e-14 2.10942e-14 9.47159e-15 +275 1 5.87859 5.03879 4.19899 1.91305e-14 4.44089e-16 -2.11775e-14 +276 1 5.03879 5.87859 4.19899 3.05311e-16 1.99285e-14 -2.13163e-14 +277 1 6.71838 5.03879 3.35919 -2.26208e-15 2.91434e-16 1.09773e-14 +278 1 7.55818 5.87859 3.35919 2.22045e-16 2.33147e-14 9.88098e-15 +279 1 7.55818 5.03879 4.19899 -4.44089e-16 5.55112e-16 -2.28706e-14 +280 1 6.71838 5.87859 4.19899 -3.10862e-15 2.27873e-14 -2.21212e-14 +281 1 0 6.71838 3.35919 -9.76996e-15 -3.77476e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.22045e-15 3.46945e-16 1.46827e-14 +283 1 0.839798 6.71838 4.19899 2.66454e-15 -2.498e-15 -2.40086e-14 +284 1 0 7.55818 4.19899 -8.88178e-15 -2.22045e-16 -2.48135e-14 +285 1 1.6796 6.71838 3.35919 1.38778e-16 -2.25514e-15 1.30868e-14 +286 1 2.51939 7.55818 3.35919 -2.23432e-15 7.21645e-16 1.35447e-14 +287 1 2.51939 6.71838 4.19899 -1.64452e-15 -2.66454e-15 -2.40918e-14 +288 1 1.6796 7.55818 4.19899 -3.05311e-16 2.22045e-16 -2.39808e-14 +289 1 3.35919 6.71838 3.35919 1.25316e-14 -2.85189e-15 1.33574e-14 +290 1 4.19899 7.55818 3.35919 -2.53617e-14 -5.55112e-17 1.02141e-14 +291 1 4.19899 6.71838 4.19899 -2.41057e-14 -2.94209e-15 -2.32314e-14 +292 1 3.35919 7.55818 4.19899 1.14075e-14 2.22045e-16 -2.37588e-14 +293 1 5.03879 6.71838 3.35919 -3.1225e-16 -3.36536e-15 9.20097e-15 +294 1 5.87859 7.55818 3.35919 2.31273e-14 1.11022e-16 1.01585e-14 +295 1 5.87859 6.71838 4.19899 2.2711e-14 -3.4972e-15 -2.40918e-14 +296 1 5.03879 7.55818 4.19899 -8.32667e-17 6.66134e-16 -2.24265e-14 +297 1 6.71838 6.71838 3.35919 -3.13638e-15 -2.97679e-15 1.16573e-14 +298 1 7.55818 7.55818 3.35919 -4.44089e-16 -4.44089e-16 1.2268e-14 +299 1 7.55818 6.71838 4.19899 -4.44089e-16 -3.16414e-15 -2.62013e-14 +300 1 6.71838 7.55818 4.19899 -1.9984e-15 -1.52656e-16 -2.6118e-14 +301 1 0 0 5.03879 -7.99361e-15 -6.66134e-15 2.22045e-16 +302 1 0.839798 0.839798 5.03879 2.33147e-15 2.45637e-15 1.11022e-16 +303 1 0.839798 0 5.87859 2.44249e-15 -6.10623e-15 2.20934e-14 +304 1 0 0.839798 5.87859 -7.99361e-15 2.35922e-15 2.17604e-14 +305 1 1.6796 0 5.03879 -3.33067e-16 -8.88178e-15 0 +306 1 2.51939 0.839798 5.03879 -1.30451e-15 2.44249e-15 1.16573e-15 +307 1 2.51939 0 5.87859 -1.73472e-15 -7.10543e-15 2.13163e-14 +308 1 1.6796 0.839798 5.87859 2.77556e-17 3.33067e-15 2.08791e-14 +309 1 3.35919 0 5.03879 1.10051e-14 -7.99361e-15 6.66134e-16 +310 1 4.19899 0.839798 5.03879 -2.01922e-14 2.55351e-15 3.33067e-16 +311 1 4.19899 0 5.87859 -2.36061e-14 -4.44089e-15 2.226e-14 +312 1 3.35919 0.839798 5.87859 1.25663e-14 2.88658e-15 2.29261e-14 +313 1 5.03879 0 5.03879 -2.63678e-16 -6.21725e-15 1.11022e-15 +314 1 5.87859 0.839798 5.03879 1.90889e-14 2.66454e-15 1.22125e-15 +315 1 5.87859 0 5.87859 2.1913e-14 -4.44089e-15 2.19269e-14 +316 1 5.03879 0.839798 5.87859 -2.28983e-16 3.10862e-15 2.01297e-14 +317 1 6.71838 0 5.03879 -3.21965e-15 -4.38538e-15 7.49401e-16 +318 1 7.55818 0.839798 5.03879 -4.44089e-16 2.19269e-15 2.44249e-15 +319 1 7.55818 0 5.87859 -4.44089e-16 -7.32747e-15 2.37588e-14 +320 1 6.71838 0.839798 5.87859 -2.55351e-15 2.67841e-15 2.34257e-14 +321 1 0 1.6796 5.03879 -7.10543e-15 -6.66134e-16 8.88178e-16 +322 1 0.839798 2.51939 5.03879 2.44249e-15 -1.19349e-15 -2.77556e-17 +323 1 0.839798 1.6796 5.87859 2.66454e-15 -7.07767e-16 2.14273e-14 +324 1 0 2.51939 5.87859 -7.99361e-15 -1.66533e-15 2.14828e-14 +325 1 1.6796 1.6796 5.03879 1.94289e-16 -5.48173e-16 4.44089e-16 +326 1 2.51939 2.51939 5.03879 -1.02696e-15 -1.26288e-15 -7.56339e-16 +327 1 2.51939 1.6796 5.87859 -8.88178e-16 9.71445e-17 2.10942e-14 +328 1 1.6796 2.51939 5.87859 1.38778e-17 -6.10623e-16 2.04003e-14 +329 1 3.35919 1.6796 5.03879 1.18031e-14 2.42861e-16 -2.22045e-16 +330 1 4.19899 2.51939 5.03879 -2.02546e-14 -2.13024e-15 3.53884e-16 +331 1 4.19899 1.6796 5.87859 -2.17604e-14 -1.80411e-16 2.13163e-14 +332 1 3.35919 2.51939 5.87859 1.22541e-14 -7.21645e-16 2.11497e-14 +333 1 5.03879 1.6796 5.03879 8.95117e-16 -5.75928e-16 8.88178e-16 +334 1 5.87859 2.51939 5.03879 1.87558e-14 -8.04912e-16 1.24206e-15 +335 1 5.87859 1.6796 5.87859 2.08722e-14 -3.46945e-16 2.10942e-14 +336 1 5.03879 2.51939 5.87859 1.20737e-15 -3.88578e-16 1.87628e-14 +337 1 6.71838 1.6796 5.03879 -3.00454e-15 -8.95117e-16 -4.16334e-17 +338 1 7.55818 2.51939 5.03879 -8.88178e-16 -1.77636e-15 9.4369e-16 +339 1 7.55818 1.6796 5.87859 2.22045e-16 9.4369e-16 2.22045e-14 +340 1 6.71838 2.51939 5.87859 -2.94209e-15 -1.17961e-15 2.15106e-14 +341 1 0 3.35919 5.03879 -7.99361e-15 1.06581e-14 0 +342 1 0.839798 4.19899 5.03879 2.66454e-15 -2.28359e-14 -1.38778e-16 +343 1 0.839798 3.35919 5.87859 2.44249e-15 1.19904e-14 2.33008e-14 +344 1 0 4.19899 5.87859 -6.21725e-15 -2.33147e-14 2.226e-14 +345 1 1.6796 3.35919 5.03879 2.08167e-16 1.11577e-14 4.996e-16 +346 1 2.51939 4.19899 5.03879 -1.74166e-15 -2.13163e-14 -4.44089e-16 +347 1 2.51939 3.35919 5.87859 -1.19349e-15 1.15463e-14 2.17604e-14 +348 1 1.6796 4.19899 5.87859 -5.55112e-17 -2.04281e-14 2.13718e-14 +349 1 3.35919 3.35919 5.03879 1.08177e-14 1.04916e-14 -2.77556e-16 +350 1 4.19899 4.19899 5.03879 -2.10457e-14 -2.13163e-14 -1.9984e-15 +351 1 4.19899 3.35919 5.87859 -2.33286e-14 9.76996e-15 2.15383e-14 +352 1 3.35919 4.19899 5.87859 1.03251e-14 -2.13163e-14 2.30926e-14 +353 1 5.03879 3.35919 5.03879 6.38378e-16 6.71685e-15 -1.66533e-16 +354 1 5.87859 4.19899 5.03879 1.88877e-14 -2.13163e-14 -4.44089e-16 +355 1 5.87859 3.35919 5.87859 2.20379e-14 9.99201e-15 2.24265e-14 +356 1 5.03879 4.19899 5.87859 9.71445e-17 -1.95399e-14 2.00395e-14 +357 1 6.71838 3.35919 5.03879 -2.92821e-15 9.64506e-15 -1.42941e-15 +358 1 7.55818 4.19899 5.03879 -2.22045e-16 -2.26485e-14 8.88178e-16 +359 1 7.55818 3.35919 5.87859 0 1.21014e-14 2.33147e-14 +360 1 6.71838 4.19899 5.87859 -3.4972e-15 -2.11775e-14 2.40086e-14 +361 1 0 5.03879 5.03879 -4.44089e-15 1.11022e-15 4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.10942e-15 1.80897e-14 3.33067e-16 +363 1 0.839798 5.03879 5.87859 2.88658e-15 1.38778e-17 1.93734e-14 +364 1 0 5.87859 5.87859 -5.32907e-15 2.22322e-14 2.29261e-14 +365 1 1.6796 5.03879 5.03879 -2.08167e-16 -3.33067e-16 -4.996e-16 +366 1 2.51939 5.87859 5.03879 -1.56819e-15 1.85754e-14 2.44249e-15 +367 1 2.51939 5.03879 5.87859 -1.56819e-15 2.22045e-16 2.07334e-14 +368 1 1.6796 5.87859 5.87859 3.46945e-16 2.06085e-14 2.06155e-14 +369 1 3.35919 5.03879 5.03879 8.10463e-15 -2.22045e-16 6.66134e-16 +370 1 4.19899 5.87859 5.03879 -2.05252e-14 1.93803e-14 8.88178e-16 +371 1 4.19899 5.03879 5.87859 -2.11428e-14 1.11022e-15 1.98105e-14 +372 1 3.35919 5.87859 5.87859 1.05194e-14 2.16355e-14 2.19477e-14 +373 1 5.03879 5.03879 5.03879 -1.38778e-17 0 2.77556e-17 +374 1 5.87859 5.87859 5.03879 1.91513e-14 1.84922e-14 1.77636e-15 +375 1 5.87859 5.03879 5.87859 1.93248e-14 8.88178e-16 1.91375e-14 +376 1 5.03879 5.87859 5.87859 3.46945e-16 1.88322e-14 1.95607e-14 +377 1 6.71838 5.03879 5.03879 -3.06699e-15 6.93889e-17 -4.57967e-16 +378 1 7.55818 5.87859 5.03879 0 2.04281e-14 -4.44089e-16 +379 1 7.55818 5.03879 5.87859 4.44089e-16 5.82867e-16 2.19824e-14 +380 1 6.71838 5.87859 5.87859 -3.55271e-15 2.33841e-14 2.40086e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.44089e-15 8.88178e-16 +382 1 0.839798 7.55818 5.03879 2.33147e-15 -4.85723e-16 2.41474e-15 +383 1 0.839798 6.71838 5.87859 3.10862e-15 -1.33227e-15 2.21906e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 0 2.35922e-14 +385 1 1.6796 6.71838 5.03879 6.45317e-16 -3.44863e-15 -2.63678e-16 +386 1 2.51939 7.55818 5.03879 -1.96371e-15 -5.55112e-17 5.55112e-16 +387 1 2.51939 6.71838 5.87859 -1.55431e-15 -1.66533e-15 2.21767e-14 +388 1 1.6796 7.55818 5.87859 3.46945e-16 6.66134e-16 2.19824e-14 +389 1 3.35919 6.71838 5.03879 1.04777e-14 -3.17107e-15 8.46545e-16 +390 1 4.19899 7.55818 5.03879 -2.16979e-14 1.66533e-16 2.10942e-15 +391 1 4.19899 6.71838 5.87859 -2.39531e-14 -2.88658e-15 2.22045e-14 +392 1 3.35919 7.55818 5.87859 1.07414e-14 2.22045e-16 2.33147e-14 +393 1 5.03879 6.71838 5.03879 3.67761e-16 -3.74006e-15 4.02456e-16 +394 1 5.87859 7.55818 5.03879 2.08999e-14 2.77556e-16 2.22045e-16 +395 1 5.87859 6.71838 5.87859 2.30649e-14 -1.94289e-15 2.37588e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-16 2.22045e-16 2.13163e-14 +397 1 6.71838 6.71838 5.03879 -3.53884e-15 -3.51802e-15 -8.32667e-17 +398 1 7.55818 7.55818 5.03879 0 0 3.33067e-16 +399 1 7.55818 6.71838 5.87859 0 -3.55271e-15 2.44249e-14 +400 1 6.71838 7.55818 5.87859 -3.44169e-15 9.99201e-16 2.4647e-14 +401 1 0 0 6.71838 -9.76996e-15 -9.54792e-15 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.66454e-15 2.67841e-15 -2.72005e-15 +403 1 0.839798 0 7.55818 2.55351e-15 -7.92422e-15 -7.21645e-16 +404 1 0 0.839798 7.55818 -7.99361e-15 2.56739e-15 -4.44089e-16 +405 1 1.6796 0 6.71838 2.498e-16 -8.88178e-15 -3.55271e-15 +406 1 2.51939 0.839798 6.71838 -1.8735e-15 2.77556e-15 -3.60822e-15 +407 1 2.51939 0 7.55818 -2.30371e-15 -7.10543e-15 6.66134e-16 +408 1 1.6796 0.839798 7.55818 1.16573e-15 2.55351e-15 3.33067e-16 +409 1 3.35919 0 6.71838 1.26704e-14 -7.10543e-15 -3.10862e-15 +410 1 4.19899 0.839798 6.71838 -2.40641e-14 2.44249e-15 -4.69069e-15 +411 1 4.19899 0 7.55818 -2.46123e-14 -7.10543e-15 -6.66134e-16 +412 1 3.35919 0.839798 7.55818 1.24484e-14 2.55351e-15 1.33227e-15 +413 1 5.03879 0 6.71838 2.63678e-16 -6.21725e-15 -3.9968e-15 +414 1 5.87859 0.839798 6.71838 2.22253e-14 2.55351e-15 -2.38698e-15 +415 1 5.87859 0 7.55818 2.26069e-14 -6.21725e-15 -6.66134e-16 +416 1 5.03879 0.839798 7.55818 -1.66533e-16 2.77556e-15 1.66533e-16 +417 1 6.71838 0 6.71838 -2.498e-15 -6.99441e-15 -4.16334e-15 +418 1 7.55818 0.839798 6.71838 -1.16573e-15 2.60902e-15 -3.10862e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -3.16414e-15 2.45637e-15 6.66134e-16 +421 1 0 1.6796 6.71838 -9.32587e-15 -4.44089e-16 -3.33067e-15 +422 1 0.839798 2.51939 6.71838 2.9976e-15 -1.49186e-15 -3.69149e-15 +423 1 0.839798 1.6796 7.55818 2.55351e-15 7.49401e-16 8.88178e-16 +424 1 0 2.51939 7.55818 -8.88178e-15 -2.28983e-15 8.88178e-16 +425 1 1.6796 1.6796 6.71838 2.08167e-16 -7.63278e-16 -3.20577e-15 +426 1 2.51939 2.51939 6.71838 -1.38778e-15 -1.06165e-15 -4.37844e-15 +427 1 2.51939 1.6796 7.55818 -1.4988e-15 3.33067e-16 -3.26128e-16 +428 1 1.6796 2.51939 7.55818 1.38778e-16 -1.4988e-15 3.05311e-16 +429 1 3.35919 1.6796 6.71838 1.30312e-14 -8.95117e-16 -3.41394e-15 +430 1 4.19899 2.51939 6.71838 -2.33355e-14 -1.58901e-15 -5.10703e-15 +431 1 4.19899 1.6796 7.55818 -2.35506e-14 -4.23273e-16 3.46945e-17 +432 1 3.35919 2.51939 7.55818 1.32186e-14 -1.16573e-15 8.04912e-16 +433 1 5.03879 1.6796 6.71838 0 -5.68989e-16 -2.42861e-15 +434 1 5.87859 2.51939 6.71838 2.25098e-14 -1.25594e-15 -3.50414e-15 +435 1 5.87859 1.6796 7.55818 2.22322e-14 -6.93889e-17 2.28983e-16 +436 1 5.03879 2.51939 7.55818 3.60822e-16 -1.60982e-15 1.11022e-15 +437 1 6.71838 1.6796 6.71838 -3.21271e-15 -5.06539e-16 -3.48332e-15 +438 1 7.55818 2.51939 6.71838 -2.22045e-16 -1.77636e-15 -3.44169e-15 +439 1 7.55818 1.6796 7.55818 8.88178e-16 2.08167e-16 4.44089e-16 +440 1 6.71838 2.51939 7.55818 -2.60902e-15 -9.85323e-16 -2.498e-16 +441 1 0 3.35919 6.71838 -1.02141e-14 1.33227e-14 -3.33067e-15 +442 1 0.839798 4.19899 6.71838 2.77556e-15 -2.37171e-14 -3.94129e-15 +443 1 0.839798 3.35919 7.55818 2.55351e-15 1.37113e-14 1.94289e-15 +444 1 0 4.19899 7.55818 -7.99361e-15 -2.4647e-14 -6.66134e-16 +445 1 1.6796 3.35919 6.71838 2.22045e-16 1.2601e-14 -1.94289e-15 +446 1 2.51939 4.19899 6.71838 -1.70697e-15 -2.30926e-14 -4.66294e-15 +447 1 2.51939 3.35919 7.55818 -1.94289e-15 1.33227e-14 1.77636e-15 +448 1 1.6796 4.19899 7.55818 -6.38378e-16 -2.30926e-14 1.9984e-15 +449 1 3.35919 3.35919 6.71838 1.28439e-14 1.19904e-14 -2.05391e-15 +450 1 4.19899 4.19899 6.71838 -2.41265e-14 -2.22045e-14 -3.55271e-15 +451 1 4.19899 3.35919 7.55818 -2.48274e-14 1.02141e-14 8.88178e-16 +452 1 3.35919 4.19899 7.55818 1.20182e-14 -2.30926e-14 2.22045e-16 +453 1 5.03879 3.35919 6.71838 -2.35922e-16 9.49241e-15 -1.9984e-15 +454 1 5.87859 4.19899 6.71838 2.29608e-14 -2.39808e-14 -4.66294e-15 +455 1 5.87859 3.35919 7.55818 2.30649e-14 1.15463e-14 1.33227e-15 +456 1 5.03879 4.19899 7.55818 2.77556e-17 -2.30926e-14 1.55431e-15 +457 1 6.71838 3.35919 6.71838 -3.13638e-15 1.16851e-14 -2.09555e-15 +458 1 7.55818 4.19899 6.71838 -2.22045e-16 -2.5091e-14 -2.10942e-15 +459 1 7.55818 3.35919 7.55818 -8.88178e-16 1.28231e-14 4.44089e-16 +460 1 6.71838 4.19899 7.55818 -3.4972e-15 -2.54935e-14 9.99201e-16 +461 1 0 5.03879 6.71838 -7.10543e-15 8.88178e-16 -3.9968e-15 +462 1 0.839798 5.87859 6.71838 2.66454e-15 2.20796e-14 -3.27516e-15 +463 1 0.839798 5.03879 7.55818 3.10862e-15 4.02456e-16 -5.55112e-16 +464 1 0 5.87859 7.55818 -5.32907e-15 2.28151e-14 -2.22045e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -5.55112e-16 -2.63678e-15 +466 1 2.51939 5.87859 6.71838 -1.33227e-15 2.24265e-14 -3.08087e-15 +467 1 2.51939 5.03879 7.55818 -2.13024e-15 3.33067e-16 -3.88578e-16 +468 1 1.6796 5.87859 7.55818 4.57967e-16 2.30371e-14 4.51028e-16 +469 1 3.35919 5.03879 6.71838 1.02279e-14 -1.11022e-16 -2.58127e-15 +470 1 4.19899 5.87859 6.71838 -2.37588e-14 2.30926e-14 -3.37924e-15 +471 1 4.19899 5.03879 7.55818 -2.2489e-14 -2.22045e-16 -3.33067e-16 +472 1 3.35919 5.87859 7.55818 1.17684e-14 2.40502e-14 9.4369e-16 +473 1 5.03879 5.03879 6.71838 2.15106e-16 2.22045e-16 -2.83107e-15 +474 1 5.87859 5.87859 6.71838 2.28706e-14 2.26485e-14 -3.66374e-15 +475 1 5.87859 5.03879 7.55818 2.09346e-14 -3.33067e-16 -1.94289e-16 +476 1 5.03879 5.87859 7.55818 2.35922e-16 2.18159e-14 8.39606e-16 +477 1 6.71838 5.03879 6.71838 -3.3723e-15 -2.63678e-16 -2.04003e-15 +478 1 7.55818 5.87859 6.71838 -2.22045e-16 2.44249e-14 -4.27436e-15 +479 1 7.55818 5.03879 7.55818 -8.88178e-16 1.249e-16 -2.22045e-16 +480 1 6.71838 5.87859 7.55818 -3.55271e-15 2.49384e-14 -2.22045e-16 +481 1 0 6.71838 6.71838 -8.88178e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.33147e-15 -2.77556e-16 -2.94209e-15 +483 1 0.839798 6.71838 7.55818 2.77556e-15 -2.8727e-15 -3.88578e-16 +484 1 0 7.55818 7.55818 -9.76996e-15 -4.44089e-16 -6.66134e-16 +485 1 1.6796 6.71838 6.71838 2.15106e-16 -3.93435e-15 -3.94129e-15 +486 1 2.51939 7.55818 6.71838 -2.44249e-15 -1.66533e-16 -3.60822e-15 +487 1 2.51939 6.71838 7.55818 -1.249e-15 -2.83107e-15 -7.21645e-16 +488 1 1.6796 7.55818 7.55818 0 4.44089e-16 8.88178e-16 +489 1 3.35919 6.71838 6.71838 1.22749e-14 -3.60129e-15 -4.05231e-15 +490 1 4.19899 7.55818 6.71838 -2.59862e-14 2.22045e-16 -3.27516e-15 +491 1 4.19899 6.71838 7.55818 -2.56323e-14 -3.9968e-15 -9.99201e-16 +492 1 3.35919 7.55818 7.55818 1.15741e-14 6.66134e-16 0 +493 1 5.03879 6.71838 6.71838 0 -3.25434e-15 -4.08007e-15 +494 1 5.87859 7.55818 6.71838 2.46539e-14 6.66134e-16 -2.66454e-15 +495 1 5.87859 6.71838 7.55818 2.4189e-14 -3.44169e-15 -2.22045e-16 +496 1 5.03879 7.55818 7.55818 0 2.22045e-16 4.44089e-16 +497 1 6.71838 6.71838 6.71838 -2.58127e-15 -4.07313e-15 -3.92741e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 0 -3.05311e-15 +499 1 7.55818 6.71838 7.55818 0 -2.72005e-15 -1.33227e-15 +500 1 6.71838 7.55818 7.55818 -3.9968e-15 2.35922e-16 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/dump.17Jun22.snapshot.driver.plugin.1 b/examples/mdi/dump.17Jun22.snapshot.driver.plugin.1 new file mode 100644 index 0000000000..c4ee904680 --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.driver.plugin.1 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0 0 0 -1.06581e-14 -1.06581e-14 -1.00753e-14 +2 1 0.839798 0.839798 0 2.66454e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -1.05471e-14 4.56579e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -4.09395e-16 -9.76996e-15 -1.04361e-14 +6 1 2.51939 0.839798 0 -4.23273e-16 2.66454e-15 -1.06581e-14 +7 1 2.51939 0 0.839798 -7.00828e-16 -1.06581e-14 2.9976e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.28439e-14 -1.06581e-14 -1.04361e-14 +10 1 4.19899 0.839798 0 -2.25236e-14 2.66454e-15 -7.99361e-15 +11 1 4.19899 0 0.839798 -2.34118e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 2.77556e-17 -7.99361e-15 -7.99361e-15 +14 1 5.87859 0.839798 0 2.26555e-14 2.66454e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.16702e-14 -7.99361e-15 2.66454e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.33067e-15 -9.63118e-15 -9.74221e-15 +18 1 7.55818 0.839798 0 4.44089e-16 2.55351e-15 -9.32587e-15 +19 1 7.55818 0 0.839798 0 -1.02141e-14 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 2.88658e-15 -2.77556e-17 -9.76996e-15 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -5.06539e-16 6.245e-17 -9.76996e-15 +26 1 2.51939 2.51939 0 -2.11636e-15 -1.72778e-15 -9.76996e-15 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.88658e-15 +29 1 3.35919 1.6796 0 1.34545e-14 3.46945e-17 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.30926e-14 -1.85268e-15 -7.99361e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.33067e-15 +33 1 5.03879 1.6796 0 2.01228e-16 1.66533e-16 -7.10543e-15 +34 1 5.87859 2.51939 0 2.12677e-14 -1.74166e-15 -7.99361e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.88658e-15 +37 1 6.71838 1.6796 0 -3.10862e-15 -1.66533e-16 -8.10463e-15 +38 1 7.55818 2.51939 0 8.88178e-16 -1.33227e-15 -9.32587e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.56659e-15 +41 1 0 3.35919 0 -1.06581e-14 1.28786e-14 -9.54792e-15 +42 1 0.839798 4.19899 0 2.66454e-15 -2.24404e-14 -8.88178e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -8.88178e-15 -2.32037e-14 2.55351e-15 +45 1 1.6796 3.35919 0 -8.53484e-16 1.47174e-14 -9.76996e-15 +46 1 2.51939 4.19899 0 -1.79717e-15 -2.32175e-14 -7.10543e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51476e-14 3.55271e-15 +48 1 1.6796 4.19899 0.839798 -2.08167e-16 -2.40918e-14 3.33067e-15 +49 1 3.35919 3.35919 0 1.2608e-14 1.419e-14 -7.99361e-15 +50 1 4.19899 4.19899 0 -2.28706e-14 -2.25653e-14 -5.32907e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13937e-14 2.88658e-15 +52 1 3.35919 4.19899 0.839798 1.249e-14 -2.21975e-14 2.88658e-15 +53 1 5.03879 3.35919 0 -2.22045e-16 1.14422e-14 -6.21725e-15 +54 1 5.87859 4.19899 0 2.22322e-14 -2.22461e-14 -5.32907e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27467e-14 2.88658e-15 +56 1 5.03879 4.19899 0.839798 -2.08167e-16 -2.11983e-14 3.10862e-15 +57 1 6.71838 3.35919 0 -3.60822e-15 1.32949e-14 -8.04912e-15 +58 1 7.55818 4.19899 0 8.88178e-16 -2.44249e-14 -7.10543e-15 +59 1 7.55818 3.35919 0.839798 1.66533e-16 1.40443e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -3.05311e-15 -2.40641e-14 2.45637e-15 +61 1 0 5.03879 0 -7.10543e-15 6.66134e-16 -7.32747e-15 +62 1 0.839798 5.87859 0 2.66454e-15 2.28706e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -2.77556e-16 2.67841e-15 +64 1 0 5.87859 0.839798 -9.76996e-15 2.18159e-14 2.66454e-15 +65 1 1.6796 5.03879 0 8.32667e-17 -9.92262e-16 -6.21725e-15 +66 1 2.51939 5.87859 0 -2.08167e-15 2.16008e-14 -7.10543e-15 +67 1 2.51939 5.03879 0.839798 -1.72085e-15 3.81639e-16 3.10862e-15 +68 1 1.6796 5.87859 0.839798 -8.74301e-16 2.02824e-14 3.10862e-15 +69 1 3.35919 5.03879 0 1.08871e-14 -1.80411e-16 -6.21725e-15 +70 1 4.19899 5.87859 0 -2.27804e-14 2.17187e-14 -4.44089e-15 +71 1 4.19899 5.03879 0.839798 -1.95469e-14 -1.15186e-15 2.88658e-15 +72 1 3.35919 5.87859 0.839798 1.19973e-14 2.21143e-14 2.88658e-15 +73 1 5.03879 5.03879 0 1.17961e-16 6.8695e-16 -3.55271e-15 +74 1 5.87859 5.87859 0 2.17604e-14 2.22114e-14 -5.32907e-15 +75 1 5.87859 5.03879 0.839798 1.9415e-14 3.747e-16 2.88658e-15 +76 1 5.03879 5.87859 0.839798 -6.52256e-16 1.92069e-14 2.88658e-15 +77 1 6.71838 5.03879 0 -2.38698e-15 4.64906e-16 -6.43929e-15 +78 1 7.55818 5.87859 0 0 2.26485e-14 -7.54952e-15 +79 1 7.55818 5.03879 0.839798 1.11022e-16 1.44329e-15 2.498e-15 +80 1 6.71838 5.87859 0.839798 -2.94209e-15 2.15661e-14 2.45637e-15 +81 1 0 6.71838 0 -1.06581e-14 -3.77476e-15 -9.60343e-15 +82 1 0.839798 7.55818 0 2.44249e-15 7.91034e-16 -1.00892e-14 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.80251e-15 +84 1 0 7.55818 0.839798 -8.88178e-15 -2.22045e-16 3.05311e-15 +85 1 1.6796 6.71838 0 -8.04912e-16 -1.72085e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -1.51268e-15 6.66134e-16 -9.54792e-15 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 2.08167e-16 2.77556e-16 3.33067e-15 +89 1 3.35919 6.71838 0 1.24623e-14 -2.22045e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.45221e-14 0 -7.99361e-15 +91 1 4.19899 6.71838 0.839798 -2.33563e-14 -4.89886e-15 2.45637e-15 +92 1 3.35919 7.55818 0.839798 1.30868e-14 8.88178e-16 2.88658e-15 +93 1 5.03879 6.71838 0 -4.02456e-16 -2.83107e-15 -6.43929e-15 +94 1 5.87859 7.55818 0 2.33563e-14 8.88178e-16 -7.10543e-15 +95 1 5.87859 6.71838 0.839798 2.1913e-14 -1.74166e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -2.08167e-16 -5.27356e-16 2.498e-15 +97 1 6.71838 6.71838 0 -2.83107e-15 -3.42781e-15 -7.10543e-15 +98 1 7.55818 7.55818 0 4.44089e-16 0 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 5.55112e-17 -3.10862e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -2.88658e-15 5.27356e-16 2.56739e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -1.11022e-15 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -1.05471e-14 1.80411e-16 +104 1 0 0.839798 2.51939 -1.15463e-14 2.9976e-15 3.88578e-16 +105 1 1.6796 0 1.6796 1.73472e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.6584e-15 -1.06581e-14 -1.4988e-15 +108 1 1.6796 0.839798 2.51939 2.63678e-16 3.10862e-15 -1.67227e-15 +109 1 3.35919 0 1.6796 1.41623e-14 -8.88178e-15 6.66134e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.30371e-14 -7.99361e-15 -1.66533e-15 +112 1 3.35919 0.839798 2.51939 1.4419e-14 2.88658e-15 -1.90126e-15 +113 1 5.03879 0 1.6796 8.67362e-16 -8.88178e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.01159e-14 -8.88178e-15 -1.38778e-15 +116 1 5.03879 0.839798 2.51939 2.91434e-16 3.10862e-15 -1.45023e-15 +117 1 6.71838 0 1.6796 -2.52576e-15 -8.77076e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 1.33227e-15 -9.76996e-15 -1.9984e-15 +120 1 6.71838 0.839798 2.51939 -3.10862e-15 2.90046e-15 -2.10942e-15 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.66454e-15 7.35523e-16 -1.30451e-15 +124 1 0 2.51939 2.51939 -1.06581e-14 -7.49401e-16 -1.44329e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -9.22873e-16 1.38778e-17 -1.17267e-15 +128 1 1.6796 2.51939 2.51939 1.38778e-16 -1.26982e-15 -2.16493e-15 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.2024e-14 4.64906e-16 -2.11636e-15 +132 1 3.35919 2.51939 2.51939 1.47937e-14 -1.33227e-15 -2.23432e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.02546e-14 -2.56739e-16 -2.07473e-15 +136 1 5.03879 2.51939 2.51939 5.82867e-16 -1.91513e-15 -2.16493e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 4.44089e-16 -6.93889e-18 -2.22045e-15 +140 1 6.71838 2.51939 2.51939 -3.27516e-15 -1.67921e-15 -2.38698e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.44249e-15 -2.1684e-14 -6.10623e-16 +143 1 0.839798 3.35919 2.51939 2.44249e-15 1.49047e-14 -1.83187e-15 +144 1 0 4.19899 2.51939 -8.88178e-15 -2.22322e-14 -1.60982e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.72778e-15 -2.28081e-14 -1.32533e-15 +147 1 2.51939 3.35919 2.51939 -9.92262e-16 1.42247e-14 -1.29757e-15 +148 1 1.6796 4.19899 2.51939 6.93889e-18 -2.16632e-14 -2.92821e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1684e-14 -2.2142e-14 -1.26982e-15 +151 1 4.19899 3.35919 2.51939 -2.27457e-14 1.10675e-14 -2.81025e-15 +152 1 3.35919 4.19899 2.51939 1.17337e-14 -2.23849e-14 -3.15026e-15 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.0213e-14 -2.25167e-14 2.28983e-16 +155 1 5.87859 3.35919 2.51939 2.08236e-14 1.21292e-14 -2.5327e-15 +156 1 5.03879 4.19899 2.51939 1.38778e-17 -1.97481e-14 -3.59435e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 2.22045e-16 -2.33147e-14 -4.996e-16 +159 1 7.55818 3.35919 2.51939 1.33227e-15 1.33227e-14 -2.66454e-15 +160 1 6.71838 4.19899 2.51939 -3.27516e-15 -2.33147e-14 -2.84495e-15 +161 1 0 5.03879 1.6796 -7.10543e-15 4.44089e-16 0 +162 1 0.839798 5.87859 1.6796 2.44249e-15 2.08375e-14 7.21645e-16 +163 1 0.839798 5.03879 2.51939 2.88658e-15 2.63678e-16 -1.13798e-15 +164 1 0 5.87859 2.51939 -7.99361e-15 2.03171e-14 -1.44329e-15 +165 1 1.6796 5.03879 1.6796 2.56739e-16 8.60423e-16 8.04912e-16 +166 1 2.51939 5.87859 1.6796 -9.64506e-16 2.08375e-14 -7.35523e-16 +167 1 2.51939 5.03879 2.51939 -2.04003e-15 -4.57967e-16 -2.84495e-16 +168 1 1.6796 5.87859 2.51939 6.93889e-18 2.03101e-14 -7.91034e-16 +169 1 3.35919 5.03879 1.6796 1.12549e-14 2.08167e-17 1.08247e-15 +170 1 4.19899 5.87859 1.6796 -2.15591e-14 2.06987e-14 9.57567e-16 +171 1 4.19899 5.03879 2.51939 -1.96579e-14 4.30211e-16 -2.72699e-15 +172 1 3.35919 5.87859 2.51939 1.23929e-14 2.06432e-14 -2.2482e-15 +173 1 5.03879 5.03879 1.6796 2.77556e-17 -1.38778e-16 1.20737e-15 +174 1 5.87859 5.87859 1.6796 2.07542e-14 2.02408e-14 7.70217e-16 +175 1 5.87859 5.03879 2.51939 1.86587e-14 6.52256e-16 -1.7833e-15 +176 1 5.03879 5.87859 2.51939 -2.08167e-16 1.92762e-14 -1.33227e-15 +177 1 6.71838 5.03879 1.6796 -2.42167e-15 -1.31839e-16 -3.33067e-16 +178 1 7.55818 5.87859 1.6796 -2.22045e-16 2.19824e-14 2.22045e-16 +179 1 7.55818 5.03879 2.51939 -4.44089e-16 1.22125e-15 -1.9984e-15 +180 1 6.71838 5.87859 2.51939 -3.10862e-15 2.20657e-14 -2.19269e-15 +181 1 0 6.71838 1.6796 -1.02141e-14 -2.88658e-15 -6.66134e-16 +182 1 0.839798 7.55818 1.6796 1.9984e-15 6.38378e-16 2.22045e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -3.10862e-15 -2.08167e-15 +184 1 0 7.55818 2.51939 -9.76996e-15 4.44089e-16 -1.88738e-15 +185 1 1.6796 6.71838 1.6796 1.94289e-16 -2.31759e-15 1.249e-16 +186 1 2.51939 7.55818 1.6796 -1.249e-15 -6.17562e-16 5.55112e-17 +187 1 2.51939 6.71838 2.51939 -1.19349e-15 -3.10862e-15 -2.08167e-15 +188 1 1.6796 7.55818 2.51939 -2.22045e-16 1.33227e-15 -2.66454e-15 +189 1 3.35919 6.71838 1.6796 1.34198e-14 -2.02616e-15 -6.245e-17 +190 1 4.19899 7.55818 1.6796 -2.38282e-14 -4.71845e-16 1.45717e-16 +191 1 4.19899 6.71838 2.51939 -2.43278e-14 -4.60743e-15 -3.88578e-15 +192 1 3.35919 7.55818 2.51939 1.29896e-14 1.9984e-15 -2.22045e-15 +193 1 5.03879 6.71838 1.6796 -6.245e-17 -1.65146e-15 2.35922e-16 +194 1 5.87859 7.55818 1.6796 2.23294e-14 1.13798e-15 -6.93889e-18 +195 1 5.87859 6.71838 2.51939 2.15869e-14 -2.9976e-15 -2.63678e-15 +196 1 5.03879 7.55818 2.51939 -2.22045e-16 -2.22045e-16 -1.77636e-15 +197 1 6.71838 6.71838 1.6796 -2.62984e-15 -2.59515e-15 -1.47798e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 2.22045e-16 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 8.88178e-16 -2.27596e-15 -2.66454e-15 +200 1 6.71838 7.55818 2.51939 -2.9976e-15 7.91034e-16 -1.91513e-15 +201 1 0 0 3.35919 -1.06581e-14 -1.04361e-14 1.35447e-14 +202 1 0.839798 0.839798 3.35919 2.66454e-15 2.67841e-15 1.50435e-14 +203 1 0.839798 0 4.19899 2.66454e-15 -8.77076e-15 -2.26139e-14 +204 1 0 0.839798 4.19899 -8.88178e-15 2.88658e-15 -2.24265e-14 +205 1 1.6796 0 3.35919 1.73472e-16 -8.88178e-15 1.42109e-14 +206 1 2.51939 0.839798 3.35919 -1.83881e-15 2.77556e-15 1.55431e-14 +207 1 2.51939 0 4.19899 -1.67227e-15 -7.99361e-15 -2.32037e-14 +208 1 1.6796 0.839798 4.19899 -1.8735e-16 3.33067e-15 -2.28637e-14 +209 1 3.35919 0 3.35919 1.37182e-14 -7.99361e-15 1.44329e-14 +210 1 4.19899 0.839798 3.35919 -2.30232e-14 2.66454e-15 1.19071e-14 +211 1 4.19899 0 4.19899 -2.27665e-14 -5.32907e-15 -2.27041e-14 +212 1 3.35919 0.839798 4.19899 1.24276e-14 2.88658e-15 -2.27457e-14 +213 1 5.03879 0 3.35919 -2.08167e-17 -7.99361e-15 1.11022e-14 +214 1 5.87859 0.839798 3.35919 2.2489e-14 2.55351e-15 1.36002e-14 +215 1 5.87859 0 4.19899 2.21143e-14 -5.32907e-15 -2.24265e-14 +216 1 5.03879 0.839798 4.19899 -1.08941e-15 3.55271e-15 -2.22461e-14 +217 1 6.71838 0 3.35919 -2.47025e-15 -8.77076e-15 1.29619e-14 +218 1 7.55818 0.839798 3.35919 -1.11022e-15 2.60902e-15 1.4766e-14 +219 1 7.55818 0 4.19899 1.33227e-15 -6.43929e-15 -2.4647e-14 +220 1 6.71838 0.839798 4.19899 -2.38698e-15 2.67841e-15 -2.39531e-14 +221 1 0 1.6796 3.35919 -1.11022e-14 -2.22045e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -4.64906e-16 1.52378e-14 +223 1 0.839798 1.6796 4.19899 2.88658e-15 2.498e-16 -2.32592e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -1.60982e-15 -2.32592e-14 +225 1 1.6796 1.6796 3.35919 2.22045e-16 -7.91034e-16 1.5779e-14 +226 1 2.51939 2.51939 3.35919 -1.4086e-15 -1.02002e-15 1.46133e-14 +227 1 2.51939 1.6796 4.19899 -1.39472e-15 3.95517e-16 -2.30857e-14 +228 1 1.6796 2.51939 4.19899 -8.67362e-16 -1.45023e-15 -2.42237e-14 +229 1 3.35919 1.6796 3.35919 1.39888e-14 -2.77556e-17 1.57235e-14 +230 1 4.19899 2.51939 3.35919 -2.32939e-14 -1.64452e-15 1.24276e-14 +231 1 4.19899 1.6796 4.19899 -2.19755e-14 -9.08995e-16 -2.30302e-14 +232 1 3.35919 2.51939 4.19899 1.17822e-14 -2.00534e-15 -2.40433e-14 +233 1 5.03879 1.6796 3.35919 -2.498e-16 -9.22873e-16 1.29757e-14 +234 1 5.87859 2.51939 3.35919 2.13649e-14 -8.67362e-16 1.27398e-14 +235 1 5.87859 1.6796 4.19899 2.08236e-14 -7.42462e-16 -2.31828e-14 +236 1 5.03879 2.51939 4.19899 -4.30211e-16 -1.67227e-15 -2.22253e-14 +237 1 6.71838 1.6796 3.35919 -3.19883e-15 -4.996e-16 1.39264e-14 +238 1 7.55818 2.51939 3.35919 -4.44089e-16 -1.9984e-15 1.24345e-14 +239 1 7.55818 1.6796 4.19899 -4.44089e-16 -5.06539e-16 -2.39808e-14 +240 1 6.71838 2.51939 4.19899 -2.44249e-15 -1.47105e-15 -2.40641e-14 +241 1 0 3.35919 3.35919 -1.11022e-14 1.33227e-14 1.31006e-14 +242 1 0.839798 4.19899 3.35919 2.66454e-15 -2.26555e-14 1.12133e-14 +243 1 0.839798 3.35919 4.19899 2.44249e-15 1.28925e-14 -2.26208e-14 +244 1 0 4.19899 4.19899 -6.21725e-15 -2.26485e-14 -2.26485e-14 +245 1 1.6796 3.35919 3.35919 2.08167e-16 1.3281e-14 1.52794e-14 +246 1 2.51939 4.19899 3.35919 -2.17187e-15 -2.33494e-14 1.22957e-14 +247 1 2.51939 3.35919 4.19899 -1.94983e-15 1.21569e-14 -2.20726e-14 +248 1 1.6796 4.19899 4.19899 -5.20417e-16 -2.2489e-14 -2.38767e-14 +249 1 3.35919 3.35919 3.35919 1.28092e-14 1.24345e-14 1.42109e-14 +250 1 4.19899 4.19899 3.35919 -2.29677e-14 -2.35575e-14 8.33361e-15 +251 1 4.19899 3.35919 4.19899 -2.33702e-14 9.08301e-15 -2.33355e-14 +252 1 3.35919 4.19899 4.19899 9.67976e-15 -2.36547e-14 -2.46539e-14 +253 1 5.03879 3.35919 3.35919 -2.28983e-16 1.06026e-14 1.14353e-14 +254 1 5.87859 4.19899 3.35919 2.19408e-14 -2.21698e-14 8.51402e-15 +255 1 5.87859 3.35919 4.19899 2.15522e-14 1.01238e-14 -2.328e-14 +256 1 5.03879 4.19899 4.19899 -5.20417e-16 -2.11775e-14 -2.23085e-14 +257 1 6.71838 3.35919 3.35919 -3.1225e-15 1.22957e-14 1.31978e-14 +258 1 7.55818 4.19899 3.35919 -1.11022e-15 -2.4647e-14 1.05471e-14 +259 1 7.55818 3.35919 4.19899 -8.88178e-16 1.113e-14 -2.53131e-14 +260 1 6.71838 4.19899 4.19899 -3.60822e-15 -2.5091e-14 -2.32731e-14 +261 1 0 5.03879 3.35919 -7.10543e-15 -2.22045e-16 1.15463e-14 +262 1 0.839798 5.87859 3.35919 2.55351e-15 2.28359e-14 1.37113e-14 +263 1 0.839798 5.03879 4.19899 2.88658e-15 -1.05471e-15 -2.20102e-14 +264 1 0 5.87859 4.19899 -5.32907e-15 2.21212e-14 -2.25375e-14 +265 1 1.6796 5.03879 3.35919 2.56739e-16 -2.498e-16 1.26843e-14 +266 1 2.51939 5.87859 3.35919 -1.31145e-15 2.16702e-14 1.30659e-14 +267 1 2.51939 5.03879 4.19899 -2.06085e-15 8.04912e-16 -2.10873e-14 +268 1 1.6796 5.87859 4.19899 -7.63278e-17 2.17118e-14 -2.12261e-14 +269 1 3.35919 5.03879 3.35919 1.10328e-14 -2.01228e-16 1.11994e-14 +270 1 4.19899 5.87859 3.35919 -2.29886e-14 2.15314e-14 1.08039e-14 +271 1 4.19899 5.03879 4.19899 -2.02338e-14 -4.92661e-16 -2.14065e-14 +272 1 3.35919 5.87859 4.19899 1.03459e-14 2.19963e-14 -2.39878e-14 +273 1 5.03879 5.03879 3.35919 -1.94289e-16 -8.04912e-16 8.64586e-15 +274 1 5.87859 5.87859 3.35919 2.18645e-14 2.20171e-14 1.02141e-14 +275 1 5.87859 5.03879 4.19899 1.98036e-14 1.38778e-16 -2.15869e-14 +276 1 5.03879 5.87859 4.19899 -3.05311e-16 1.94428e-14 -2.04628e-14 +277 1 6.71838 5.03879 3.35919 -2.35922e-15 -3.53884e-16 1.02071e-14 +278 1 7.55818 5.87859 3.35919 -8.88178e-16 2.28706e-14 1.02141e-14 +279 1 7.55818 5.03879 4.19899 -1.33227e-15 -3.05311e-16 -2.33147e-14 +280 1 6.71838 5.87859 4.19899 -3.27516e-15 2.23987e-14 -2.53547e-14 +281 1 0 6.71838 3.35919 -9.32587e-15 -3.77476e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.33147e-15 1.13798e-15 1.40166e-14 +283 1 0.839798 6.71838 4.19899 2.66454e-15 -2.44249e-15 -2.37865e-14 +284 1 0 7.55818 4.19899 -6.21725e-15 -2.22045e-16 -2.50355e-14 +285 1 1.6796 6.71838 3.35919 1.94289e-16 -2.25514e-15 1.4419e-14 +286 1 2.51939 7.55818 3.35919 -1.59595e-15 -6.10623e-16 1.37668e-14 +287 1 2.51939 6.71838 4.19899 -8.95117e-16 -2.55351e-15 -2.28983e-14 +288 1 1.6796 7.55818 4.19899 -5.13478e-16 8.88178e-16 -2.44249e-14 +289 1 3.35919 6.71838 3.35919 1.20876e-14 -2.85189e-15 1.31353e-14 +290 1 4.19899 7.55818 3.35919 -2.47094e-14 -9.4369e-16 1.06026e-14 +291 1 4.19899 6.71838 4.19899 -2.41057e-14 -3.77476e-15 -2.26208e-14 +292 1 3.35919 7.55818 4.19899 1.06998e-14 1.55431e-15 -2.53131e-14 +293 1 5.03879 6.71838 3.35919 -6.245e-17 -3.36536e-15 1.00892e-14 +294 1 5.87859 7.55818 3.35919 2.328e-14 4.44089e-16 1.02696e-14 +295 1 5.87859 6.71838 4.19899 2.31135e-14 -3.33067e-15 -2.39531e-14 +296 1 5.03879 7.55818 4.19899 -6.93889e-17 2.22045e-16 -2.28706e-14 +297 1 6.71838 6.71838 3.35919 -2.63678e-15 -2.97679e-15 1.21014e-14 +298 1 7.55818 7.55818 3.35919 -4.44089e-16 2.22045e-16 1.2268e-14 +299 1 7.55818 6.71838 4.19899 0 -2.94209e-15 -2.70894e-14 +300 1 6.71838 7.55818 4.19899 -3.10862e-15 9.57567e-16 -2.65621e-14 +301 1 0 0 5.03879 -7.99361e-15 -7.77156e-15 6.66134e-16 +302 1 0.839798 0.839798 5.03879 2.44249e-15 2.56739e-15 2.22045e-16 +303 1 0.839798 0 5.87859 2.88658e-15 -7.88258e-15 2.30926e-14 +304 1 0 0.839798 5.87859 -8.88178e-15 2.88658e-15 2.23155e-14 +305 1 1.6796 0 5.03879 -3.67761e-16 -8.88178e-15 -6.66134e-16 +306 1 2.51939 0.839798 5.03879 -1.26982e-15 2.66454e-15 8.60423e-16 +307 1 2.51939 0 5.87859 -2.08167e-15 -7.99361e-15 2.15383e-14 +308 1 1.6796 0.839798 5.87859 2.63678e-16 2.88658e-15 2.07612e-14 +309 1 3.35919 0 5.03879 1.09704e-14 -7.10543e-15 1.11022e-15 +310 1 4.19899 0.839798 5.03879 -2.02546e-14 2.66454e-15 -4.996e-16 +311 1 4.19899 0 5.87859 -2.26694e-14 -5.32907e-15 2.09832e-14 +312 1 3.35919 0.839798 5.87859 1.21708e-14 2.88658e-15 2.16979e-14 +313 1 5.03879 0 5.03879 -3.1225e-16 -5.32907e-15 2.22045e-16 +314 1 5.87859 0.839798 5.03879 1.91652e-14 2.77556e-15 1.9984e-15 +315 1 5.87859 0 5.87859 2.18436e-14 -4.44089e-15 2.27041e-14 +316 1 5.03879 0.839798 5.87859 -3.747e-16 3.10862e-15 2.10387e-14 +317 1 6.71838 0 5.03879 -3.30291e-15 -5.27356e-15 8.32667e-17 +318 1 7.55818 0.839798 5.03879 -1.11022e-16 2.41474e-15 1.66533e-15 +319 1 7.55818 0 5.87859 8.88178e-16 -7.32747e-15 2.33147e-14 +320 1 6.71838 0.839798 5.87859 -2.27596e-15 2.67841e-15 2.30926e-14 +321 1 0 1.6796 5.03879 -7.99361e-15 -6.66134e-16 2.22045e-16 +322 1 0.839798 2.51939 5.03879 2.44249e-15 -1.1588e-15 5.82867e-16 +323 1 0.839798 1.6796 5.87859 2.66454e-15 7.35523e-16 2.19269e-14 +324 1 0 2.51939 5.87859 -7.99361e-15 -1.83187e-15 2.15938e-14 +325 1 1.6796 1.6796 5.03879 2.01228e-16 -5.27356e-16 1.97065e-15 +326 1 2.51939 2.51939 5.03879 -1.00614e-15 -1.22818e-15 4.16334e-17 +327 1 2.51939 1.6796 5.87859 -9.99201e-16 -1.38778e-17 2.22808e-14 +328 1 1.6796 2.51939 5.87859 1.52656e-16 -1.38778e-15 2.04003e-14 +329 1 3.35919 1.6796 5.03879 1.17545e-14 2.63678e-16 1.02696e-15 +330 1 4.19899 2.51939 5.03879 -2.02893e-14 -2.11636e-15 -4.30211e-16 +331 1 4.19899 1.6796 5.87859 -2.20032e-14 -9.02056e-16 2.10318e-14 +332 1 3.35919 2.51939 5.87859 1.25316e-14 -1.51962e-15 2.06363e-14 +333 1 5.03879 1.6796 5.03879 8.88178e-16 -5.6205e-16 2.7478e-15 +334 1 5.87859 2.51939 5.03879 1.8846e-14 -7.84095e-16 1.20737e-15 +335 1 5.87859 1.6796 5.87859 2.0664e-14 -1.14492e-15 2.01852e-14 +336 1 5.03879 2.51939 5.87859 3.60822e-16 -1.94289e-15 1.76248e-14 +337 1 6.71838 1.6796 5.03879 -3.08781e-15 -8.74301e-16 5.96745e-16 +338 1 7.55818 2.51939 5.03879 -2.22045e-16 -1.55431e-15 2.22045e-16 +339 1 7.55818 1.6796 5.87859 1.77636e-15 -9.08995e-16 2.19824e-14 +340 1 6.71838 2.51939 5.87859 -2.60902e-15 -1.94289e-15 2.10665e-14 +341 1 0 3.35919 5.03879 -8.88178e-15 1.06581e-14 4.44089e-16 +342 1 0.839798 4.19899 5.03879 2.77556e-15 -2.00534e-14 -9.71445e-16 +343 1 0.839798 3.35919 5.87859 2.66454e-15 1.26565e-14 2.26763e-14 +344 1 0 4.19899 5.87859 -7.10543e-15 -2.27318e-14 2.12053e-14 +345 1 1.6796 3.35919 5.03879 2.15106e-16 1.11022e-14 1.249e-15 +346 1 2.51939 4.19899 5.03879 -1.61676e-15 -2.07542e-14 8.32667e-17 +347 1 2.51939 3.35919 5.87859 -1.34615e-15 1.1921e-14 2.25445e-14 +348 1 1.6796 4.19899 5.87859 -8.74301e-16 -2.1684e-14 1.93387e-14 +349 1 3.35919 3.35919 5.03879 1.08247e-14 1.05055e-14 6.245e-16 +350 1 4.19899 4.19899 5.03879 -2.08722e-14 -2.192e-14 5.55112e-16 +351 1 4.19899 3.35919 5.87859 -2.34326e-14 9.83241e-15 2.01436e-14 +352 1 3.35919 4.19899 5.87859 9.61037e-15 -2.29053e-14 2.15591e-14 +353 1 5.03879 3.35919 5.03879 6.31439e-16 6.7446e-15 5.41234e-16 +354 1 5.87859 4.19899 5.03879 1.91375e-14 -2.03101e-14 2.498e-16 +355 1 5.87859 3.35919 5.87859 2.14412e-14 1.00198e-14 2.06293e-14 +356 1 5.03879 4.19899 5.87859 -2.01228e-16 -2.06224e-14 1.59386e-14 +357 1 6.71838 3.35919 5.03879 -3.02536e-15 9.69363e-15 4.85723e-17 +358 1 7.55818 4.19899 5.03879 -8.88178e-16 -2.28706e-14 -3.33067e-16 +359 1 7.55818 3.35919 5.87859 4.44089e-16 1.11855e-14 2.30926e-14 +360 1 6.71838 4.19899 5.87859 -3.44169e-15 -2.34396e-14 2.11914e-14 +361 1 0 5.03879 5.03879 -3.9968e-15 -6.66134e-16 4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.66454e-15 1.93595e-14 5.55112e-16 +363 1 0.839798 5.03879 5.87859 3.10862e-15 -4.02456e-16 2.03726e-14 +364 1 0 5.87859 5.87859 -5.32907e-15 2.18159e-14 2.27596e-14 +365 1 1.6796 5.03879 5.03879 2.77556e-17 4.16334e-17 1.3739e-15 +366 1 2.51939 5.87859 5.03879 -1.56125e-15 1.82285e-14 1.76248e-15 +367 1 2.51939 5.03879 5.87859 -2.04003e-15 -1.1241e-15 1.95052e-14 +368 1 1.6796 5.87859 5.87859 2.08167e-17 2.11636e-14 2.05252e-14 +369 1 3.35919 5.03879 5.03879 8.17402e-15 3.40006e-16 3.33067e-16 +370 1 4.19899 5.87859 5.03879 -2.08653e-14 1.81868e-14 3.26128e-16 +371 1 4.19899 5.03879 5.87859 -2.05391e-14 -2.28983e-16 1.85199e-14 +372 1 3.35919 5.87859 5.87859 1.02834e-14 2.14967e-14 2.09693e-14 +373 1 5.03879 5.03879 5.03879 2.35922e-16 2.498e-16 -1.30451e-15 +374 1 5.87859 5.87859 5.03879 1.90889e-14 1.87003e-14 -2.70617e-16 +375 1 5.87859 5.03879 5.87859 1.91305e-14 8.74301e-16 1.98105e-14 +376 1 5.03879 5.87859 5.87859 1.38778e-17 1.92832e-14 1.88183e-14 +377 1 6.71838 5.03879 5.03879 -3.45557e-15 -3.05311e-16 1.51962e-15 +378 1 7.55818 5.87859 5.03879 -4.44089e-16 2.08722e-14 1.66533e-16 +379 1 7.55818 5.03879 5.87859 -1.33227e-15 5.55112e-16 2.08722e-14 +380 1 6.71838 5.87859 5.87859 -3.33067e-15 2.20102e-14 2.08999e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.44089e-15 8.88178e-16 +382 1 0.839798 7.55818 5.03879 2.33147e-15 4.71845e-16 9.15934e-16 +383 1 0.839798 6.71838 5.87859 2.88658e-15 -2.27596e-15 2.23016e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 -2.22045e-16 2.31482e-14 +385 1 1.6796 6.71838 5.03879 -1.38778e-17 -2.86576e-15 1.27676e-15 +386 1 2.51939 7.55818 5.03879 -1.51268e-15 -8.32667e-16 6.66134e-16 +387 1 2.51939 6.71838 5.87859 -1.32533e-15 -2.27596e-15 2.22322e-14 +388 1 1.6796 7.55818 5.87859 -2.498e-16 1.77636e-15 2.13163e-14 +389 1 3.35919 6.71838 5.03879 1.05402e-14 -3.47639e-15 2.19963e-15 +390 1 4.19899 7.55818 5.03879 -2.27665e-14 -1.44329e-15 8.32667e-16 +391 1 4.19899 6.71838 5.87859 -2.39184e-14 -2.94209e-15 2.11775e-14 +392 1 3.35919 7.55818 5.87859 1.08802e-14 1.55431e-15 2.28706e-14 +393 1 5.03879 6.71838 5.03879 -7.63278e-17 -4.04538e-15 1.38778e-17 +394 1 5.87859 7.55818 5.03879 2.10457e-14 -7.21645e-16 7.21645e-16 +395 1 5.87859 6.71838 5.87859 2.31065e-14 -3.10862e-15 2.18714e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-17 -4.44089e-16 2.08722e-14 +397 1 6.71838 6.71838 5.03879 -2.76168e-15 -2.74086e-15 -3.88578e-16 +398 1 7.55818 7.55818 5.03879 0 0 -6.66134e-16 +399 1 7.55818 6.71838 5.87859 0 -2.94209e-15 2.39808e-14 +400 1 6.71838 7.55818 5.87859 -3.16414e-15 7.77156e-16 2.42029e-14 +401 1 0 0 6.71838 -1.06581e-14 -1.04361e-14 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.66454e-15 2.67841e-15 -2.72005e-15 +403 1 0.839798 0 7.55818 2.55351e-15 -9.70057e-15 1.05471e-15 +404 1 0 0.839798 7.55818 -8.88178e-15 2.66454e-15 4.44089e-16 +405 1 1.6796 0 6.71838 2.08167e-16 -7.99361e-15 -2.44249e-15 +406 1 2.51939 0.839798 6.71838 -1.8735e-15 2.77556e-15 -2.72005e-15 +407 1 2.51939 0 7.55818 -1.56819e-15 -8.88178e-15 0 +408 1 1.6796 0.839798 7.55818 -1.11022e-16 2.66454e-15 1.55431e-15 +409 1 3.35919 0 6.71838 1.26288e-14 -7.10543e-15 -2.88658e-15 +410 1 4.19899 0.839798 6.71838 -2.40641e-14 2.66454e-15 -4.69069e-15 +411 1 4.19899 0 7.55818 -2.43069e-14 -7.99361e-15 -4.44089e-16 +412 1 3.35919 0.839798 7.55818 1.38223e-14 2.66454e-15 1.33227e-15 +413 1 5.03879 0 6.71838 2.22045e-16 -6.21725e-15 -3.10862e-15 +414 1 5.87859 0.839798 6.71838 2.22183e-14 2.55351e-15 -1.4988e-15 +415 1 5.87859 0 7.55818 2.35922e-14 -6.21725e-15 -8.88178e-16 +416 1 5.03879 0.839798 7.55818 -4.71845e-16 2.55351e-15 -2.77556e-17 +417 1 6.71838 0 6.71838 -3.38618e-15 -6.99441e-15 -3.94129e-15 +418 1 7.55818 0.839798 6.71838 -1.16573e-15 2.60902e-15 -3.10862e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -2.27596e-15 2.45637e-15 0 +421 1 0 1.6796 6.71838 -1.02141e-14 -4.44089e-16 -3.33067e-15 +422 1 0.839798 2.51939 6.71838 2.77556e-15 -4.996e-16 -3.05311e-15 +423 1 0.839798 1.6796 7.55818 2.66454e-15 1.11022e-16 -1.66533e-16 +424 1 0 2.51939 7.55818 -7.99361e-15 -1.76248e-15 -2.22045e-16 +425 1 1.6796 1.6796 6.71838 2.08167e-16 -7.63278e-16 -2.31759e-15 +426 1 2.51939 2.51939 6.71838 -1.38778e-15 -9.99201e-16 -2.73392e-15 +427 1 2.51939 1.6796 7.55818 -1.47105e-15 5.55112e-17 7.14706e-16 +428 1 1.6796 2.51939 7.55818 -3.33067e-16 -2.06779e-15 -1.45717e-16 +429 1 3.35919 1.6796 6.71838 1.30312e-14 -6.93889e-18 -2.52576e-15 +430 1 4.19899 2.51939 6.71838 -2.37796e-14 -2.35922e-15 -4.35069e-15 +431 1 4.19899 1.6796 7.55818 -2.36061e-14 4.64906e-16 -6.45317e-16 +432 1 3.35919 2.51939 7.55818 1.29549e-14 -8.60423e-16 -1.20043e-15 +433 1 5.03879 1.6796 6.71838 0 -5.68989e-16 -2.42861e-15 +434 1 5.87859 2.51939 6.71838 2.20657e-14 -1.10328e-15 -2.7478e-15 +435 1 5.87859 1.6796 7.55818 2.22045e-14 -6.245e-16 5.20417e-16 +436 1 5.03879 2.51939 7.55818 1.38778e-16 -1.83187e-15 -8.46545e-16 +437 1 6.71838 1.6796 6.71838 -2.32453e-15 -5.06539e-16 -2.59515e-15 +438 1 7.55818 2.51939 6.71838 -2.22045e-16 -1.9984e-15 -3.4972e-15 +439 1 7.55818 1.6796 7.55818 6.66134e-16 5.55112e-17 -1.33227e-15 +440 1 6.71838 2.51939 7.55818 -2.83107e-15 -2.06779e-15 -6.66134e-16 +441 1 0 3.35919 6.71838 -1.11022e-14 1.31006e-14 -2.88658e-15 +442 1 0.839798 4.19899 6.71838 2.66454e-15 -2.28359e-14 -4.46865e-15 +443 1 0.839798 3.35919 7.55818 2.55351e-15 1.38362e-14 5.55112e-17 +444 1 0 4.19899 7.55818 -7.99361e-15 -2.44457e-14 -8.88178e-16 +445 1 1.6796 3.35919 6.71838 2.22045e-16 1.20598e-14 -2.05391e-15 +446 1 2.51939 4.19899 6.71838 -1.09635e-15 -2.38767e-14 -4.46171e-15 +447 1 2.51939 3.35919 7.55818 -1.92901e-15 1.40235e-14 -9.02056e-17 +448 1 1.6796 4.19899 7.55818 4.16334e-17 -2.43833e-14 -1.54737e-15 +449 1 3.35919 3.35919 6.71838 1.28716e-14 1.13104e-14 -2.16493e-15 +450 1 4.19899 4.19899 6.71838 -2.44943e-14 -2.37588e-14 -4.78784e-15 +451 1 4.19899 3.35919 7.55818 -2.42584e-14 1.09426e-14 6.38378e-16 +452 1 3.35919 4.19899 7.55818 1.13798e-14 -2.49245e-14 -1.59595e-15 +453 1 5.03879 3.35919 6.71838 -2.35922e-16 8.98587e-15 -1.98452e-15 +454 1 5.87859 4.19899 6.71838 2.29469e-14 -2.33771e-14 -3.1572e-15 +455 1 5.87859 3.35919 7.55818 2.34951e-14 1.07414e-14 1.80411e-15 +456 1 5.03879 4.19899 7.55818 4.16334e-17 -2.19547e-14 -1.42941e-15 +457 1 6.71838 3.35919 6.71838 -3.13638e-15 1.12688e-14 -2.26208e-15 +458 1 7.55818 4.19899 6.71838 2.22045e-16 -2.59792e-14 -1.38778e-15 +459 1 7.55818 3.35919 7.55818 0 1.28855e-14 -8.88178e-16 +460 1 6.71838 4.19899 7.55818 -2.66454e-15 -2.52992e-14 -1.05471e-15 +461 1 0 5.03879 6.71838 -6.21725e-15 2.22045e-16 -2.22045e-15 +462 1 0.839798 5.87859 6.71838 2.55351e-15 2.25375e-14 -2.38698e-15 +463 1 0.839798 5.03879 7.55818 2.66454e-15 1.38778e-17 6.38378e-16 +464 1 0 5.87859 7.55818 -6.21725e-15 2.3842e-14 -2.22045e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -1.17961e-15 -2.20657e-15 +466 1 2.51939 5.87859 6.71838 -1.51962e-15 2.23849e-14 -2.19269e-15 +467 1 2.51939 5.03879 7.55818 -1.90126e-15 -3.26128e-16 6.38378e-16 +468 1 1.6796 5.87859 7.55818 -6.93889e-17 2.2593e-14 1.76942e-15 +469 1 3.35919 5.03879 6.71838 1.02557e-14 -1.31839e-15 -2.20657e-15 +470 1 4.19899 5.87859 6.71838 -2.37102e-14 2.16563e-14 -1.60288e-15 +471 1 4.19899 5.03879 7.55818 -2.25375e-14 1.38778e-17 -7.63278e-16 +472 1 3.35919 5.87859 7.55818 1.15047e-14 2.3162e-14 8.32667e-16 +473 1 5.03879 5.03879 6.71838 -2.28983e-16 -1.00614e-15 -3.27516e-15 +474 1 5.87859 5.87859 6.71838 2.35922e-14 2.19824e-14 -1.88738e-15 +475 1 5.87859 5.03879 7.55818 2.15383e-14 -2.63678e-16 7.70217e-16 +476 1 5.03879 5.87859 7.55818 1.38778e-17 2.13718e-14 3.26128e-16 +477 1 6.71838 5.03879 6.71838 -3.48332e-15 -9.71445e-16 -1.83187e-15 +478 1 7.55818 5.87859 6.71838 -2.22045e-16 2.39808e-14 -3.38618e-15 +479 1 7.55818 5.03879 7.55818 -1.33227e-15 -1.17961e-16 -6.66134e-16 +480 1 6.71838 5.87859 7.55818 -2.83107e-15 2.47372e-14 -3.88578e-16 +481 1 0 6.71838 6.71838 -9.32587e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.44249e-15 0 -2.94209e-15 +483 1 0.839798 6.71838 7.55818 2.55351e-15 -3.15026e-15 -3.33067e-16 +484 1 0 7.55818 7.55818 -8.88178e-15 0 -2.22045e-16 +485 1 1.6796 6.71838 6.71838 2.15106e-16 -3.04617e-15 -3.05311e-15 +486 1 2.51939 7.55818 6.71838 -1.54043e-15 -5.55112e-16 -2.72005e-15 +487 1 2.51939 6.71838 7.55818 -2.08167e-15 -2.55351e-15 -2.77556e-17 +488 1 1.6796 7.55818 7.55818 2.77556e-17 -6.66134e-16 -1.11022e-15 +489 1 3.35919 6.71838 6.71838 1.22749e-14 -3.60129e-15 -2.27596e-15 +490 1 4.19899 7.55818 6.71838 -2.57433e-14 -6.66134e-16 -3.27516e-15 +491 1 4.19899 6.71838 7.55818 -2.58682e-14 -3.55271e-15 4.44089e-16 +492 1 3.35919 7.55818 7.55818 1.25316e-14 0 -4.44089e-16 +493 1 5.03879 6.71838 6.71838 0 -4.14252e-15 -3.19189e-15 +494 1 5.87859 7.55818 6.71838 2.47719e-14 -4.996e-16 -2.66454e-15 +495 1 5.87859 6.71838 7.55818 2.47163e-14 -2.66454e-15 -5.55112e-17 +496 1 5.03879 7.55818 7.55818 5.55112e-17 -2.22045e-16 6.66134e-16 +497 1 6.71838 6.71838 6.71838 -2.58127e-15 -3.18495e-15 -3.03924e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 0 -3.05311e-15 +499 1 7.55818 6.71838 7.55818 0 -2.69229e-15 -1.33227e-15 +500 1 6.71838 7.55818 7.55818 -2.66454e-15 9.02056e-16 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/dump.17Jun22.snapshot.driver.plugin.3 b/examples/mdi/dump.17Jun22.snapshot.driver.plugin.3 new file mode 100644 index 0000000000..d12d121e55 --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.driver.plugin.3 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0 0 0 -1.06581e-14 -1.06581e-14 -1.09635e-14 +2 1 0.839798 0.839798 0 2.88658e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -1.05471e-14 4.56579e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -3.67761e-16 -1.06581e-14 -1.13243e-14 +6 1 2.51939 0.839798 0 -3.1225e-16 2.66454e-15 -9.76996e-15 +7 1 2.51939 0 0.839798 -7.00828e-16 -1.06581e-14 2.9976e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.31353e-14 -1.06581e-14 -1.06581e-14 +10 1 4.19899 0.839798 0 -2.24404e-14 2.66454e-15 -8.88178e-15 +11 1 4.19899 0 0.839798 -2.34118e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 3.19189e-16 -7.99361e-15 -7.10543e-15 +14 1 5.87859 0.839798 0 2.27665e-14 2.88658e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.16702e-14 -7.99361e-15 2.66454e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.10862e-15 -9.63118e-15 -9.96425e-15 +18 1 7.55818 0.839798 0 4.44089e-16 2.58127e-15 -9.10383e-15 +19 1 7.55818 0 0.839798 0 -1.02141e-14 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 3.10862e-15 -1.38778e-16 -9.76996e-15 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -4.23273e-16 6.93889e-18 -8.88178e-15 +26 1 2.51939 2.51939 0 -2.19963e-15 -1.79717e-15 -1.06581e-14 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.88658e-15 +29 1 3.35919 1.6796 0 1.351e-14 1.45717e-16 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.32314e-14 -1.85268e-15 -9.76996e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.33067e-15 +33 1 5.03879 1.6796 0 2.28983e-16 1.94289e-16 -7.99361e-15 +34 1 5.87859 2.51939 0 2.13649e-14 -1.6584e-15 -7.99361e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.88658e-15 +37 1 6.71838 1.6796 0 -2.88658e-15 -2.63678e-16 -8.99281e-15 +38 1 7.55818 2.51939 0 1.33227e-15 -1.33227e-15 -9.99201e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.56659e-15 +41 1 0 3.35919 0 -1.06581e-14 1.31006e-14 -1.04361e-14 +42 1 0.839798 4.19899 0 2.66454e-15 -2.23849e-14 -9.76996e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -8.88178e-15 -2.32037e-14 2.55351e-15 +45 1 1.6796 3.35919 0 -7.97973e-16 1.48562e-14 -8.88178e-15 +46 1 2.51939 4.19899 0 -1.82493e-15 -2.33424e-14 -8.88178e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51476e-14 3.55271e-15 +48 1 1.6796 4.19899 0.839798 -2.08167e-16 -2.40918e-14 3.33067e-15 +49 1 3.35919 3.35919 0 1.26912e-14 1.45509e-14 -7.99361e-15 +50 1 4.19899 4.19899 0 -2.29816e-14 -2.24265e-14 -6.21725e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13937e-14 2.88658e-15 +52 1 3.35919 4.19899 0.839798 1.249e-14 -2.21975e-14 2.88658e-15 +53 1 5.03879 3.35919 0 5.55112e-17 1.14977e-14 -7.10543e-15 +54 1 5.87859 4.19899 0 2.22183e-14 -2.21628e-14 -6.21725e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27467e-14 2.88658e-15 +56 1 5.03879 4.19899 0.839798 -2.08167e-16 -2.11983e-14 3.10862e-15 +57 1 6.71838 3.35919 0 -3.38618e-15 1.34615e-14 -8.04912e-15 +58 1 7.55818 4.19899 0 8.88178e-16 -2.42029e-14 -7.10543e-15 +59 1 7.55818 3.35919 0.839798 1.66533e-16 1.40443e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -3.05311e-15 -2.40641e-14 2.45637e-15 +61 1 0 5.03879 0 -7.10543e-15 8.88178e-16 -8.21565e-15 +62 1 0.839798 5.87859 0 2.66454e-15 2.29816e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -2.77556e-16 2.67841e-15 +64 1 0 5.87859 0.839798 -9.76996e-15 2.18159e-14 2.66454e-15 +65 1 1.6796 5.03879 0 1.38778e-16 -1.02002e-15 -7.10543e-15 +66 1 2.51939 5.87859 0 -1.9984e-15 2.1684e-14 -8.88178e-15 +67 1 2.51939 5.03879 0.839798 -1.72085e-15 3.81639e-16 3.10862e-15 +68 1 1.6796 5.87859 0.839798 -8.74301e-16 2.02824e-14 3.10862e-15 +69 1 3.35919 5.03879 0 1.09704e-14 -2.08167e-16 -7.10543e-15 +70 1 4.19899 5.87859 0 -2.29192e-14 2.19269e-14 -5.32907e-15 +71 1 4.19899 5.03879 0.839798 -1.95469e-14 -1.15186e-15 2.88658e-15 +72 1 3.35919 5.87859 0.839798 1.19973e-14 2.21143e-14 2.88658e-15 +73 1 5.03879 5.03879 0 1.73472e-16 7.14706e-16 -4.44089e-15 +74 1 5.87859 5.87859 0 2.18575e-14 2.20726e-14 -6.21725e-15 +75 1 5.87859 5.03879 0.839798 1.9415e-14 3.747e-16 2.88658e-15 +76 1 5.03879 5.87859 0.839798 -6.52256e-16 1.92069e-14 2.88658e-15 +77 1 6.71838 5.03879 0 -2.38698e-15 6.73073e-16 -8.21565e-15 +78 1 7.55818 5.87859 0 0 2.28706e-14 -8.43769e-15 +79 1 7.55818 5.03879 0.839798 1.11022e-16 1.44329e-15 2.498e-15 +80 1 6.71838 5.87859 0.839798 -2.94209e-15 2.15661e-14 2.45637e-15 +81 1 0 6.71838 0 -1.06581e-14 -3.77476e-15 -9.60343e-15 +82 1 0.839798 7.55818 0 2.44249e-15 7.91034e-16 -9.20097e-15 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.80251e-15 +84 1 0 7.55818 0.839798 -8.88178e-15 -2.22045e-16 3.05311e-15 +85 1 1.6796 6.71838 0 -9.85323e-16 -1.60982e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -1.51268e-15 6.66134e-16 -1.02141e-14 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 2.08167e-16 2.77556e-16 3.33067e-15 +89 1 3.35919 6.71838 0 1.25455e-14 -2.10942e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.46123e-14 0 -7.99361e-15 +91 1 4.19899 6.71838 0.839798 -2.33563e-14 -4.89886e-15 2.45637e-15 +92 1 3.35919 7.55818 0.839798 1.30868e-14 8.88178e-16 2.88658e-15 +93 1 5.03879 6.71838 0 -3.60822e-16 -2.60902e-15 -7.32747e-15 +94 1 5.87859 7.55818 0 2.33424e-14 6.66134e-16 -7.99361e-15 +95 1 5.87859 6.71838 0.839798 2.1913e-14 -1.74166e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -2.08167e-16 -5.27356e-16 2.498e-15 +97 1 6.71838 6.71838 0 -2.83107e-15 -3.31679e-15 -7.10543e-15 +98 1 7.55818 7.55818 0 4.44089e-16 0 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 5.55112e-17 -3.10862e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -2.88658e-15 5.27356e-16 2.56739e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -1.11022e-15 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -9.65894e-15 -1.20737e-15 +104 1 0 0.839798 2.51939 -1.15463e-14 2.55351e-15 -7.21645e-16 +105 1 1.6796 0 1.6796 1.73472e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.15186e-15 -9.76996e-15 -1.33227e-15 +108 1 1.6796 0.839798 2.51939 5.55112e-17 3.33067e-15 -1.08247e-15 +109 1 3.35919 0 1.6796 1.41623e-14 -8.88178e-15 6.66134e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.31204e-14 -7.10543e-15 -1.55431e-15 +112 1 3.35919 0.839798 2.51939 1.46272e-14 2.88658e-15 -6.80012e-16 +113 1 5.03879 0 1.6796 8.67362e-16 -8.88178e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.07057e-14 -7.10543e-15 -1.55431e-15 +116 1 5.03879 0.839798 2.51939 4.44089e-16 2.66454e-15 -1.4988e-15 +117 1 6.71838 0 1.6796 -2.52576e-15 -8.77076e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 -8.88178e-16 -1.02141e-14 -1.33227e-15 +120 1 6.71838 0.839798 2.51939 -2.88658e-15 2.90046e-15 -5.55112e-16 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.44249e-15 3.88578e-16 -5.96745e-16 +124 1 0 2.51939 2.51939 -1.15463e-14 -1.16573e-15 -1.33227e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -8.88178e-16 -8.32667e-17 -8.88178e-16 +128 1 1.6796 2.51939 2.51939 3.46945e-16 -1.77636e-15 -8.88178e-16 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.08722e-14 -1.94289e-16 -1.33227e-15 +132 1 3.35919 2.51939 2.51939 1.46133e-14 -1.55431e-15 -1.11022e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.10942e-14 -3.33067e-16 -1.33227e-15 +136 1 5.03879 2.51939 2.51939 4.44089e-16 -2.22045e-15 -1.11022e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 2.22045e-16 1.17961e-15 -1.77636e-15 +140 1 6.71838 2.51939 2.51939 -3.10862e-15 -1.73472e-15 -1.52656e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.44249e-15 -2.1684e-14 -6.10623e-16 +143 1 0.839798 3.35919 2.51939 2.88658e-15 1.45162e-14 -5.82867e-16 +144 1 0 4.19899 2.51939 -8.88178e-15 -2.30926e-14 -1.55431e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.72778e-15 -2.28081e-14 -1.32533e-15 +147 1 2.51939 3.35919 2.51939 -1.55431e-15 1.44884e-14 -1.11022e-15 +148 1 1.6796 4.19899 2.51939 -2.22045e-16 -2.19824e-14 -1.33227e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1684e-14 -2.2142e-14 -1.26982e-15 +151 1 4.19899 3.35919 2.51939 -2.22045e-14 1.13243e-14 -1.33227e-15 +152 1 3.35919 4.19899 2.51939 1.19904e-14 -2.35367e-14 -8.88178e-16 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.0213e-14 -2.25167e-14 2.28983e-16 +155 1 5.87859 3.35919 2.51939 2.08722e-14 1.13798e-14 -1.55431e-15 +156 1 5.03879 4.19899 2.51939 2.08167e-16 -2.08722e-14 -1.55431e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 2.22045e-16 -2.33147e-14 -4.996e-16 +159 1 7.55818 3.35919 2.51939 8.88178e-16 1.37113e-14 -1.9984e-15 +160 1 6.71838 4.19899 2.51939 -3.27516e-15 -2.45082e-14 -6.93889e-16 +161 1 0 5.03879 1.6796 -7.10543e-15 4.44089e-16 0 +162 1 0.839798 5.87859 1.6796 2.44249e-15 2.08375e-14 7.21645e-16 +163 1 0.839798 5.03879 2.51939 2.66454e-15 2.91434e-16 -2.13718e-15 +164 1 0 5.87859 2.51939 -8.88178e-15 2.11497e-14 -1.55431e-15 +165 1 1.6796 5.03879 1.6796 2.56739e-16 8.60423e-16 8.04912e-16 +166 1 2.51939 5.87859 1.6796 -9.64506e-16 2.08375e-14 -7.35523e-16 +167 1 2.51939 5.03879 2.51939 -1.33227e-15 2.22045e-16 -6.66134e-16 +168 1 1.6796 5.87859 2.51939 2.22045e-16 1.9984e-14 -8.88178e-16 +169 1 3.35919 5.03879 1.6796 1.12549e-14 2.08167e-17 1.08247e-15 +170 1 4.19899 5.87859 1.6796 -2.15591e-14 2.06987e-14 9.57567e-16 +171 1 4.19899 5.03879 2.51939 -1.93179e-14 4.44089e-16 -1.9984e-15 +172 1 3.35919 5.87859 2.51939 1.17545e-14 2.17604e-14 -1.77636e-15 +173 1 5.03879 5.03879 1.6796 2.77556e-17 -1.38778e-16 1.20737e-15 +174 1 5.87859 5.87859 1.6796 2.07542e-14 2.02408e-14 7.70217e-16 +175 1 5.87859 5.03879 2.51939 1.95399e-14 1.4988e-15 -1.55431e-15 +176 1 5.03879 5.87859 2.51939 6.80012e-16 1.88738e-14 -1.55431e-15 +177 1 6.71838 5.03879 1.6796 -2.42167e-15 -1.31839e-16 -3.33067e-16 +178 1 7.55818 5.87859 1.6796 -2.22045e-16 2.19824e-14 2.22045e-16 +179 1 7.55818 5.03879 2.51939 4.44089e-16 1.05471e-15 -1.9984e-15 +180 1 6.71838 5.87859 2.51939 -3.05311e-15 2.11914e-14 -1.249e-15 +181 1 0 6.71838 1.6796 -1.02141e-14 -2.88658e-15 -6.66134e-16 +182 1 0.839798 7.55818 1.6796 1.9984e-15 6.38378e-16 2.22045e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -2.27596e-15 -1.02696e-15 +184 1 0 7.55818 2.51939 -9.76996e-15 -6.66134e-16 -1.66533e-15 +185 1 1.6796 6.71838 1.6796 1.94289e-16 -2.31759e-15 1.249e-16 +186 1 2.51939 7.55818 1.6796 -1.249e-15 -6.17562e-16 5.55112e-17 +187 1 2.51939 6.71838 2.51939 -1.33227e-15 -2.44249e-15 -1.22125e-15 +188 1 1.6796 7.55818 2.51939 0 0 -1.77636e-15 +189 1 3.35919 6.71838 1.6796 1.34198e-14 -2.02616e-15 -6.245e-17 +190 1 4.19899 7.55818 1.6796 -2.38282e-14 -4.71845e-16 1.45717e-16 +191 1 4.19899 6.71838 2.51939 -2.34951e-14 -3.88578e-15 -1.44329e-15 +192 1 3.35919 7.55818 2.51939 1.28092e-14 4.44089e-16 -1.11022e-15 +193 1 5.03879 6.71838 1.6796 -6.245e-17 -1.65146e-15 2.35922e-16 +194 1 5.87859 7.55818 1.6796 2.23294e-14 1.13798e-15 -6.93889e-18 +195 1 5.87859 6.71838 2.51939 2.21628e-14 -3.16414e-15 -5.55112e-16 +196 1 5.03879 7.55818 2.51939 2.22045e-16 -4.44089e-16 -1.55431e-15 +197 1 6.71838 6.71838 1.6796 -2.62984e-15 -2.59515e-15 -1.47798e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 2.22045e-16 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 4.44089e-16 -3.02536e-15 -1.77636e-15 +200 1 6.71838 7.55818 2.51939 -2.10942e-15 3.46945e-16 -1.91513e-15 +201 1 0 0 3.35919 -9.76996e-15 -9.99201e-15 1.31006e-14 +202 1 0.839798 0.839798 3.35919 2.44249e-15 2.67841e-15 1.4877e-14 +203 1 0.839798 0 4.19899 2.66454e-15 -7.88258e-15 -2.24543e-14 +204 1 0 0.839798 4.19899 -8.88178e-15 2.66454e-15 -2.30371e-14 +205 1 1.6796 0 3.35919 -2.22045e-16 -1.06581e-14 1.44329e-14 +206 1 2.51939 0.839798 3.35919 -1.20737e-15 2.66454e-15 1.40998e-14 +207 1 2.51939 0 4.19899 -2.06085e-15 -7.99361e-15 -2.22045e-14 +208 1 1.6796 0.839798 4.19899 6.93889e-16 2.88658e-15 -1.99979e-14 +209 1 3.35919 0 3.35919 1.34892e-14 -1.06581e-14 1.37668e-14 +210 1 4.19899 0.839798 3.35919 -2.25583e-14 2.44249e-15 1.32117e-14 +211 1 4.19899 0 4.19899 -2.28151e-14 -4.44089e-15 -2.33147e-14 +212 1 3.35919 0.839798 4.19899 1.23998e-14 2.22045e-15 -2.1344e-14 +213 1 5.03879 0 3.35919 -2.35922e-16 -6.21725e-15 1.02141e-14 +214 1 5.87859 0.839798 3.35919 2.19616e-14 2.55351e-15 1.14353e-14 +215 1 5.87859 0 4.19899 2.16702e-14 -5.32907e-15 -2.30926e-14 +216 1 5.03879 0.839798 4.19899 -1.8735e-16 2.66454e-15 -2.00395e-14 +217 1 6.71838 0 3.35919 -2.83107e-15 -1.05471e-14 1.34059e-14 +218 1 7.55818 0.839798 3.35919 2.77556e-16 2.498e-15 1.32117e-14 +219 1 7.55818 0 4.19899 1.33227e-15 -6.66134e-15 -2.4869e-14 +220 1 6.71838 0.839798 4.19899 -3.44169e-15 2.45637e-15 -2.39253e-14 +221 1 0 1.6796 3.35919 -9.76996e-15 6.66134e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -9.29812e-16 1.40998e-14 +223 1 0.839798 1.6796 4.19899 2.44249e-15 5.27356e-16 -2.14967e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -2.33147e-15 -2.2371e-14 +225 1 1.6796 1.6796 3.35919 0 2.22045e-16 1.33227e-14 +226 1 2.51939 2.51939 3.35919 -1.66533e-15 -1.4988e-15 1.33227e-14 +227 1 2.51939 1.6796 4.19899 -1.5335e-15 -3.46945e-16 -2.19824e-14 +228 1 1.6796 2.51939 4.19899 3.60822e-16 -1.35308e-15 -2.08722e-14 +229 1 3.35919 1.6796 3.35919 1.37668e-14 -2.22045e-16 1.42109e-14 +230 1 4.19899 2.51939 3.35919 -2.2371e-14 -1.60982e-15 1.24345e-14 +231 1 4.19899 1.6796 4.19899 -2.20657e-14 2.63678e-16 -2.28706e-14 +232 1 3.35919 2.51939 4.19899 1.23304e-14 -1.90126e-15 -2.22045e-14 +233 1 5.03879 1.6796 3.35919 -2.22045e-16 2.22045e-16 1.06581e-14 +234 1 5.87859 2.51939 3.35919 2.12885e-14 -1.16573e-15 1.15463e-14 +235 1 5.87859 1.6796 4.19899 2.09346e-14 -2.98372e-16 -2.17604e-14 +236 1 5.03879 2.51939 4.19899 3.60822e-16 -2.30371e-15 -2.02061e-14 +237 1 6.71838 1.6796 3.35919 -3.04617e-15 4.44089e-16 1.35031e-14 +238 1 7.55818 2.51939 3.35919 2.22045e-16 -1.55431e-15 1.36557e-14 +239 1 7.55818 1.6796 4.19899 2.22045e-16 8.8124e-16 -2.30926e-14 +240 1 6.71838 2.51939 4.19899 -3.33067e-15 -2.10942e-15 -2.46053e-14 +241 1 0 3.35919 3.35919 -9.76996e-15 1.44329e-14 1.37668e-14 +242 1 0.839798 4.19899 3.35919 2.55351e-15 -2.24404e-14 1.32117e-14 +243 1 0.839798 3.35919 4.19899 2.22045e-15 1.24761e-14 -2.27873e-14 +244 1 0 4.19899 4.19899 -5.32907e-15 -2.2593e-14 -2.32037e-14 +245 1 1.6796 3.35919 3.35919 0 1.33227e-14 1.33227e-14 +246 1 2.51939 4.19899 3.35919 -1.72085e-15 -2.33147e-14 1.24345e-14 +247 1 2.51939 3.35919 4.19899 -1.76942e-15 1.27329e-14 -2.42029e-14 +248 1 1.6796 4.19899 4.19899 -2.15106e-16 -2.24959e-14 -2.19824e-14 +249 1 3.35919 3.35919 3.35919 1.31006e-14 1.33227e-14 1.33227e-14 +250 1 4.19899 4.19899 3.35919 -2.28706e-14 -2.32592e-14 9.76996e-15 +251 1 4.19899 3.35919 4.19899 -2.38282e-14 9.74221e-15 -2.24265e-14 +252 1 3.35919 4.19899 4.19899 9.94343e-15 -2.41474e-14 -2.28706e-14 +253 1 5.03879 3.35919 3.35919 -2.22045e-16 1.02141e-14 1.06581e-14 +254 1 5.87859 4.19899 3.35919 2.16493e-14 -2.30926e-14 9.76996e-15 +255 1 5.87859 3.35919 4.19899 2.09208e-14 1.00753e-14 -2.28706e-14 +256 1 5.03879 4.19899 4.19899 2.35922e-16 -2.09416e-14 -2.08722e-14 +257 1 6.71838 3.35919 3.35919 -2.98372e-15 1.35031e-14 1.26149e-14 +258 1 7.55818 4.19899 3.35919 2.22045e-16 -2.4647e-14 1.11022e-14 +259 1 7.55818 3.35919 4.19899 0 1.19071e-14 -2.44249e-14 +260 1 6.71838 4.19899 4.19899 -3.4972e-15 -2.49106e-14 -2.42306e-14 +261 1 0 5.03879 3.35919 -7.10543e-15 4.44089e-16 1.04361e-14 +262 1 0.839798 5.87859 3.35919 2.44249e-15 2.20865e-14 1.23235e-14 +263 1 0.839798 5.03879 4.19899 2.44249e-15 -1.249e-16 -2.1122e-14 +264 1 0 5.87859 4.19899 -5.32907e-15 2.17604e-14 -2.32037e-14 +265 1 1.6796 5.03879 3.35919 6.66134e-16 0 9.76996e-15 +266 1 2.51939 5.87859 3.35919 -1.58207e-15 2.15938e-14 1.15463e-14 +267 1 2.51939 5.03879 4.19899 -2.16493e-15 -1.17961e-16 -2.13163e-14 +268 1 1.6796 5.87859 4.19899 4.64906e-16 2.14204e-14 -2.19824e-14 +269 1 3.35919 5.03879 3.35919 1.04361e-14 -2.22045e-16 9.76996e-15 +270 1 4.19899 5.87859 3.35919 -2.30232e-14 2.12053e-14 9.76996e-15 +271 1 4.19899 5.03879 4.19899 -1.99354e-14 -4.44089e-16 -2.06501e-14 +272 1 3.35919 5.87859 4.19899 1.03945e-14 2.19894e-14 -2.30926e-14 +273 1 5.03879 5.03879 3.35919 4.44089e-16 2.22045e-16 7.10543e-15 +274 1 5.87859 5.87859 3.35919 2.21906e-14 2.12608e-14 9.76996e-15 +275 1 5.87859 5.03879 4.19899 1.80897e-14 8.32667e-16 -2.02061e-14 +276 1 5.03879 5.87859 4.19899 6.80012e-16 1.83881e-14 -1.9762e-14 +277 1 6.71838 5.03879 3.35919 -3.64986e-15 4.02456e-16 1.08386e-14 +278 1 7.55818 5.87859 3.35919 4.44089e-16 2.33147e-14 1.17684e-14 +279 1 7.55818 5.03879 4.19899 -8.88178e-16 1.33227e-15 -2.22045e-14 +280 1 6.71838 5.87859 4.19899 -3.10862e-15 2.10248e-14 -2.43555e-14 +281 1 0 6.71838 3.35919 -9.76996e-15 -1.11022e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.44249e-15 3.88578e-16 1.32949e-14 +283 1 0.839798 6.71838 4.19899 2.44249e-15 -2.8727e-15 -2.42306e-14 +284 1 0 7.55818 4.19899 -6.21725e-15 -2.22045e-16 -2.44249e-14 +285 1 1.6796 6.71838 3.35919 0 -3.49026e-15 1.35031e-14 +286 1 2.51939 7.55818 3.35919 -1.49186e-15 4.996e-16 1.32117e-14 +287 1 2.51939 6.71838 4.19899 -1.20737e-15 -2.77556e-15 -2.40918e-14 +288 1 1.6796 7.55818 4.19899 -2.35922e-16 1.33227e-15 -2.39808e-14 +289 1 3.35919 6.71838 3.35919 1.28786e-14 -2.82413e-15 1.35031e-14 +290 1 4.19899 7.55818 3.35919 -2.52021e-14 0 1.06581e-14 +291 1 4.19899 6.71838 4.19899 -2.37033e-14 -4.27436e-15 -2.43416e-14 +292 1 3.35919 7.55818 4.19899 1.1241e-14 1.9984e-15 -2.4869e-14 +293 1 5.03879 6.71838 3.35919 2.22045e-16 -3.93435e-15 1.08386e-14 +294 1 5.87859 7.55818 3.35919 2.31204e-14 6.66134e-16 1.24345e-14 +295 1 5.87859 6.71838 4.19899 2.28359e-14 -3.05311e-15 -2.41196e-14 +296 1 5.03879 7.55818 4.19899 2.08167e-16 -2.22045e-16 -2.26485e-14 +297 1 6.71838 6.71838 3.35919 -3.42781e-15 -2.64372e-15 1.27953e-14 +298 1 7.55818 7.55818 3.35919 2.22045e-16 -4.44089e-16 1.32672e-14 +299 1 7.55818 6.71838 4.19899 -4.44089e-16 -2.88658e-15 -2.62013e-14 +300 1 6.71838 7.55818 4.19899 -2.66454e-15 6.93889e-17 -2.6118e-14 +301 1 0 0 5.03879 -7.99361e-15 -7.77156e-15 -2.22045e-16 +302 1 0.839798 0.839798 5.03879 2.33147e-15 2.45637e-15 -4.44089e-16 +303 1 0.839798 0 5.87859 2.66454e-15 -8.77076e-15 2.14273e-14 +304 1 0 0.839798 5.87859 -8.88178e-15 2.58127e-15 2.12053e-14 +305 1 1.6796 0 5.03879 -2.01228e-16 -8.88178e-15 -6.66134e-16 +306 1 2.51939 0.839798 5.03879 -1.38778e-15 2.55351e-15 2.498e-16 +307 1 2.51939 0 5.87859 -2.15106e-15 -8.88178e-15 2.13163e-14 +308 1 1.6796 0.839798 5.87859 2.91434e-16 2.66454e-15 1.96371e-14 +309 1 3.35919 0 5.03879 1.03181e-14 -7.10543e-15 2.22045e-16 +310 1 4.19899 0.839798 5.03879 -2.11844e-14 2.55351e-15 -3.60822e-16 +311 1 4.19899 0 5.87859 -2.28081e-14 -6.21725e-15 2.28706e-14 +312 1 3.35919 0.839798 5.87859 1.23929e-14 2.66454e-15 2.05391e-14 +313 1 5.03879 0 5.03879 -1.04083e-16 -4.44089e-15 2.22045e-16 +314 1 5.87859 0.839798 5.03879 1.89987e-14 2.66454e-15 2.30371e-15 +315 1 5.87859 0 5.87859 2.15661e-14 -6.21725e-15 2.35367e-14 +316 1 5.03879 0.839798 5.87859 -3.46945e-16 2.88658e-15 2.32453e-14 +317 1 6.71838 0 5.03879 -2.9976e-15 -6.16174e-15 3.05311e-16 +318 1 7.55818 0.839798 5.03879 -1.11022e-16 2.30371e-15 1.77636e-15 +319 1 7.55818 0 5.87859 4.44089e-16 -6.43929e-15 2.33147e-14 +320 1 6.71838 0.839798 5.87859 -2.05391e-15 2.67841e-15 2.29816e-14 +321 1 0 1.6796 5.03879 -7.99361e-15 -6.66134e-16 0 +322 1 0.839798 2.51939 5.03879 2.55351e-15 -1.27676e-15 -8.32667e-17 +323 1 0.839798 1.6796 5.87859 2.44249e-15 6.52256e-16 2.03448e-14 +324 1 0 2.51939 5.87859 -8.88178e-15 -1.249e-15 2.10942e-14 +325 1 1.6796 1.6796 5.03879 5.89806e-16 -3.53884e-16 5.55112e-17 +326 1 2.51939 2.51939 5.03879 -6.8695e-16 -1.79023e-15 -5.41234e-16 +327 1 2.51939 1.6796 5.87859 -9.4369e-16 6.93889e-17 2.04281e-14 +328 1 1.6796 2.51939 5.87859 1.66533e-16 -1.38778e-15 2.04281e-14 +329 1 3.35919 1.6796 5.03879 1.11647e-14 4.51028e-16 2.77556e-16 +330 1 4.19899 2.51939 5.03879 -1.98869e-14 -2.67841e-15 1.8735e-16 +331 1 4.19899 1.6796 5.87859 -2.1684e-14 -8.8124e-16 2.30926e-14 +332 1 3.35919 2.51939 5.87859 1.18516e-14 -1.68615e-15 2.04281e-14 +333 1 5.03879 1.6796 5.03879 1.17961e-16 -3.19189e-16 7.07767e-16 +334 1 5.87859 2.51939 5.03879 1.91305e-14 -2.23432e-15 1.08941e-15 +335 1 5.87859 1.6796 5.87859 2.09416e-14 -1.25594e-15 2.22045e-14 +336 1 5.03879 2.51939 5.87859 3.747e-16 -2.38698e-15 2.13163e-14 +337 1 6.71838 1.6796 5.03879 -2.76862e-15 -6.8695e-16 4.57967e-16 +338 1 7.55818 2.51939 5.03879 -1.33227e-15 -1.9984e-15 7.77156e-16 +339 1 7.55818 1.6796 5.87859 8.88178e-16 -9.08995e-16 2.17604e-14 +340 1 6.71838 2.51939 5.87859 -2.83107e-15 -2.10942e-15 2.1233e-14 +341 1 0 3.35919 5.03879 -8.88178e-15 1.02141e-14 -2.22045e-16 +342 1 0.839798 4.19899 5.03879 2.66454e-15 -2.09902e-14 -8.32667e-16 +343 1 0.839798 3.35919 5.87859 2.66454e-15 1.27676e-14 2.12885e-14 +344 1 0 4.19899 5.87859 -5.32907e-15 -2.28706e-14 2.26485e-14 +345 1 1.6796 3.35919 5.03879 -1.04083e-16 1.15533e-14 -2.77556e-16 +346 1 2.51939 4.19899 5.03879 -2.17881e-15 -2.12469e-14 -6.45317e-16 +347 1 2.51939 3.35919 5.87859 -1.54043e-15 1.19765e-14 2.04281e-14 +348 1 1.6796 4.19899 5.87859 -5.55112e-17 -2.124e-14 2.30926e-14 +349 1 3.35919 3.35919 5.03879 1.09981e-14 1.09149e-14 8.46545e-16 +350 1 4.19899 4.19899 5.03879 -2.04767e-14 -2.17465e-14 1.05471e-15 +351 1 4.19899 3.35919 5.87859 -2.328e-14 1.00475e-14 2.13163e-14 +352 1 3.35919 4.19899 5.87859 9.73527e-15 -2.23502e-14 2.39808e-14 +353 1 5.03879 3.35919 5.03879 7.84095e-16 7.38992e-15 9.4369e-16 +354 1 5.87859 4.19899 5.03879 1.9415e-14 -1.99146e-14 5.55112e-17 +355 1 5.87859 3.35919 5.87859 2.16632e-14 1.011e-14 2.04281e-14 +356 1 5.03879 4.19899 5.87859 -4.85723e-17 -2.07334e-14 2.04281e-14 +357 1 6.71838 3.35919 5.03879 -3.66374e-15 1.00406e-14 -1.66533e-16 +358 1 7.55818 4.19899 5.03879 -1.11022e-15 -2.24265e-14 -3.33067e-16 +359 1 7.55818 3.35919 5.87859 4.44089e-16 1.04916e-14 2.30926e-14 +360 1 6.71838 4.19899 5.87859 -3.05311e-15 -2.38282e-14 2.29955e-14 +361 1 0 5.03879 5.03879 -3.9968e-15 -4.44089e-16 -4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.55351e-15 1.9186e-14 8.60423e-16 +363 1 0.839798 5.03879 5.87859 3.10862e-15 -4.57967e-16 2.21212e-14 +364 1 0 5.87859 5.87859 -6.21725e-15 2.17604e-14 2.30926e-14 +365 1 1.6796 5.03879 5.03879 2.35922e-16 1.11716e-15 -4.57967e-16 +366 1 2.51939 5.87859 5.03879 -2.11636e-15 1.82909e-14 3.26128e-16 +367 1 2.51939 5.03879 5.87859 -1.67921e-15 -1.07553e-15 2.13163e-14 +368 1 1.6796 5.87859 5.87859 -6.245e-17 2.15244e-14 2.22045e-14 +369 1 3.35919 5.03879 5.03879 7.50788e-15 5.41234e-16 7.49401e-16 +370 1 4.19899 5.87859 5.03879 -2.04697e-14 1.75832e-14 5.55112e-16 +371 1 4.19899 5.03879 5.87859 -2.01089e-14 -2.08167e-17 2.22045e-14 +372 1 3.35919 5.87859 5.87859 1.06234e-14 2.1691e-14 2.22045e-14 +373 1 5.03879 5.03879 5.03879 9.02056e-17 -1.31839e-16 4.02456e-16 +374 1 5.87859 5.87859 5.03879 1.93734e-14 1.92069e-14 -3.60822e-16 +375 1 5.87859 5.03879 5.87859 1.92554e-14 9.92262e-16 2.22045e-14 +376 1 5.03879 5.87859 5.87859 1.52656e-16 1.84505e-14 2.13163e-14 +377 1 6.71838 5.03879 5.03879 -3.13638e-15 -1.31839e-16 1.01308e-15 +378 1 7.55818 5.87859 5.03879 -1.55431e-15 2.06501e-14 3.33067e-16 +379 1 7.55818 5.03879 5.87859 0 5.55112e-16 2.37588e-14 +380 1 6.71838 5.87859 5.87859 -2.72005e-15 2.13163e-14 2.30926e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.21885e-15 2.22045e-16 +382 1 0.839798 7.55818 5.03879 2.22045e-15 4.71845e-16 1.02696e-15 +383 1 0.839798 6.71838 5.87859 2.66454e-15 -1.91513e-15 2.19685e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 0 2.29261e-14 +385 1 1.6796 6.71838 5.03879 -3.40006e-16 -2.32453e-15 1.23512e-15 +386 1 2.51939 7.55818 5.03879 -1.17267e-15 5.55112e-17 7.77156e-16 +387 1 2.51939 6.71838 5.87859 -1.4086e-15 -2.88658e-15 2.19547e-14 +388 1 1.6796 7.55818 5.87859 -2.498e-16 1.33227e-15 2.17604e-14 +389 1 3.35919 6.71838 5.03879 1.0679e-14 -2.04697e-15 4.16334e-16 +390 1 4.19899 7.55818 5.03879 -2.28151e-14 -1.44329e-15 7.77156e-16 +391 1 4.19899 6.71838 5.87859 -2.36963e-14 -2.60902e-15 2.28706e-14 +392 1 3.35919 7.55818 5.87859 1.11022e-14 1.11022e-15 2.28706e-14 +393 1 5.03879 6.71838 5.03879 4.16334e-17 -2.57433e-15 2.35922e-16 +394 1 5.87859 7.55818 5.03879 2.08999e-14 1.66533e-16 8.88178e-16 +395 1 5.87859 6.71838 5.87859 2.26208e-14 -3.05311e-15 2.37588e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-17 -6.66134e-16 2.35367e-14 +397 1 6.71838 6.71838 5.03879 -3.16414e-15 -3.36536e-15 9.57567e-16 +398 1 7.55818 7.55818 5.03879 -2.22045e-16 0 1.16573e-15 +399 1 7.55818 6.71838 5.87859 -8.88178e-16 -2.52576e-15 2.44249e-14 +400 1 6.71838 7.55818 5.87859 -2.94209e-15 -1.11022e-16 2.42029e-14 +401 1 0 0 6.71838 -1.06581e-14 -9.54792e-15 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.55351e-15 2.56739e-15 -1.88738e-15 +403 1 0.839798 0 7.55818 2.77556e-15 -7.92422e-15 -7.21645e-16 +404 1 0 0.839798 7.55818 -7.99361e-15 2.34535e-15 -4.44089e-16 +405 1 1.6796 0 6.71838 2.01228e-16 -7.99361e-15 -3.10862e-15 +406 1 2.51939 0.839798 6.71838 -1.9082e-15 2.55351e-15 -2.38698e-15 +407 1 2.51939 0 7.55818 -2.76168e-15 -7.10543e-15 6.66134e-16 +408 1 1.6796 0.839798 7.55818 9.4369e-16 2.44249e-15 1.60982e-15 +409 1 3.35919 0 6.71838 1.26218e-14 -7.10543e-15 -3.33067e-15 +410 1 4.19899 0.839798 6.71838 -2.40016e-14 2.44249e-15 -4.60743e-15 +411 1 4.19899 0 7.55818 -2.46053e-14 -7.99361e-15 -6.66134e-16 +412 1 3.35919 0.839798 7.55818 1.35586e-14 2.33147e-15 1.4988e-15 +413 1 5.03879 0 6.71838 2.28983e-16 -7.10543e-15 -2.44249e-15 +414 1 5.87859 0.839798 6.71838 2.2142e-14 2.44249e-15 -1.72085e-15 +415 1 5.87859 0 7.55818 2.23987e-14 -6.21725e-15 -8.88178e-16 +416 1 5.03879 0.839798 7.55818 5.55112e-17 2.55351e-15 9.99201e-16 +417 1 6.71838 0 6.71838 -3.27516e-15 -6.99441e-15 -3.05311e-15 +418 1 7.55818 0.839798 6.71838 -1.66533e-15 2.498e-15 -2.72005e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -2.72005e-15 2.67841e-15 3.88578e-16 +421 1 0 1.6796 6.71838 -1.02141e-14 -4.44089e-16 -2.22045e-15 +422 1 0.839798 2.51939 6.71838 2.55351e-15 -5.34295e-16 -2.83107e-15 +423 1 0.839798 1.6796 7.55818 2.77556e-15 9.71445e-16 6.66134e-16 +424 1 0 2.51939 7.55818 -8.88178e-15 -3.19189e-15 6.66134e-16 +425 1 1.6796 1.6796 6.71838 2.01228e-16 -7.84095e-16 -2.22045e-15 +426 1 2.51939 2.51939 6.71838 -1.4086e-15 -1.0339e-15 -3.10862e-15 +427 1 2.51939 1.6796 7.55818 -1.69309e-15 5.55112e-16 1.00614e-15 +428 1 1.6796 2.51939 7.55818 1.38778e-16 -2.08167e-15 9.71445e-16 +429 1 3.35919 1.6796 6.71838 1.30798e-14 -2.77556e-17 -2.22045e-15 +430 1 4.19899 2.51939 6.71838 -2.37449e-14 -2.3731e-15 -3.55271e-15 +431 1 4.19899 1.6796 7.55818 -2.36061e-14 4.64906e-16 1.58901e-15 +432 1 3.35919 2.51939 7.55818 1.32186e-14 -1.98452e-15 8.04912e-16 +433 1 5.03879 1.6796 6.71838 6.93889e-18 -5.82867e-16 -2.44249e-15 +434 1 5.87859 2.51939 6.71838 2.19755e-14 -1.1241e-15 -2.88658e-15 +435 1 5.87859 1.6796 7.55818 2.19824e-14 1.52656e-16 1.33921e-15 +436 1 5.03879 2.51939 7.55818 3.60822e-16 -2.27596e-15 4.57967e-16 +437 1 6.71838 1.6796 6.71838 -2.22738e-15 -5.27356e-16 -3.81639e-15 +438 1 7.55818 2.51939 6.71838 2.22045e-16 -1.9984e-15 -3.4972e-15 +439 1 7.55818 1.6796 7.55818 8.88178e-16 -2.35922e-16 0 +440 1 6.71838 2.51939 7.55818 -2.60902e-15 -2.01228e-15 4.44089e-16 +441 1 0 3.35919 6.71838 -1.11022e-14 1.31006e-14 -2.88658e-15 +442 1 0.839798 4.19899 6.71838 2.44249e-15 -2.36616e-14 -5.05151e-15 +443 1 0.839798 3.35919 7.55818 2.88658e-15 1.46966e-14 7.77156e-16 +444 1 0 4.19899 7.55818 -7.10543e-15 -2.46053e-14 0 +445 1 1.6796 3.35919 6.71838 2.15106e-16 1.20945e-14 -2.66454e-15 +446 1 2.51939 4.19899 6.71838 -1.11022e-15 -2.38143e-14 -3.9968e-15 +447 1 2.51939 3.35919 7.55818 -2.15106e-15 1.34129e-14 1.06165e-15 +448 1 1.6796 4.19899 7.55818 -6.52256e-16 -2.34812e-14 1.60982e-15 +449 1 3.35919 3.35919 6.71838 1.28647e-14 1.21778e-14 -2.22045e-15 +450 1 4.19899 4.19899 6.71838 -2.43763e-14 -2.36269e-14 -4.88498e-15 +451 1 4.19899 3.35919 7.55818 -2.49245e-14 1.13312e-14 1.19349e-15 +452 1 3.35919 4.19899 7.55818 1.15463e-14 -2.40225e-14 7.70217e-16 +453 1 5.03879 3.35919 6.71838 -2.28983e-16 8.9373e-15 -2.66454e-15 +454 1 5.87859 4.19899 6.71838 2.27873e-14 -2.50147e-14 -4.21885e-15 +455 1 5.87859 3.35919 7.55818 2.2829e-14 1.14631e-14 1.83187e-15 +456 1 5.03879 4.19899 7.55818 1.38778e-17 -2.39531e-14 6.80012e-16 +457 1 6.71838 3.35919 6.71838 -3.02536e-15 1.20806e-14 -2.70617e-15 +458 1 7.55818 4.19899 6.71838 -2.22045e-16 -2.59792e-14 -2.77556e-15 +459 1 7.55818 3.35919 7.55818 -8.88178e-16 1.21153e-14 2.22045e-16 +460 1 6.71838 4.19899 7.55818 -2.16493e-15 -2.52437e-14 3.88578e-16 +461 1 0 5.03879 6.71838 -7.10543e-15 2.22045e-16 -3.33067e-15 +462 1 0.839798 5.87859 6.71838 2.44249e-15 2.24612e-14 -2.16493e-15 +463 1 0.839798 5.03879 7.55818 2.9976e-15 -1.249e-16 1.85962e-15 +464 1 0 5.87859 7.55818 -7.10543e-15 2.23849e-14 -8.88178e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -1.17267e-15 -1.9984e-15 +466 1 2.51939 5.87859 6.71838 -1.54043e-15 2.23085e-14 -1.9984e-15 +467 1 2.51939 5.03879 7.55818 -2.1233e-15 7.84095e-16 1.19349e-15 +468 1 1.6796 5.87859 7.55818 -4.30211e-16 2.3509e-14 -3.88578e-16 +469 1 3.35919 5.03879 6.71838 1.02141e-14 -1.30451e-15 -2.44249e-15 +470 1 4.19899 5.87859 6.71838 -2.44735e-14 2.14967e-14 -1.55431e-15 +471 1 4.19899 5.03879 7.55818 -2.32037e-14 9.02056e-16 9.02056e-16 +472 1 3.35919 5.87859 7.55818 1.19904e-14 2.31898e-14 5.48173e-16 +473 1 5.03879 5.03879 6.71838 -2.35922e-16 -1.02696e-15 -3.55271e-15 +474 1 5.87859 5.87859 6.71838 2.34326e-14 2.18228e-14 -2.22045e-15 +475 1 5.87859 5.03879 7.55818 2.17604e-14 -1.15186e-15 6.17562e-16 +476 1 5.03879 5.87859 7.55818 1.38778e-17 2.25098e-14 1.05471e-15 +477 1 6.71838 5.03879 6.71838 -3.3723e-15 -9.85323e-16 -2.48412e-15 +478 1 7.55818 5.87859 6.71838 -6.66134e-16 2.39808e-14 -3.33067e-15 +479 1 7.55818 5.03879 7.55818 -8.88178e-16 9.71445e-17 2.22045e-16 +480 1 6.71838 5.87859 7.55818 -2.66454e-15 2.39669e-14 -3.33067e-16 +481 1 0 6.71838 6.71838 -9.32587e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.33147e-15 4.02456e-16 -3.4972e-15 +483 1 0.839798 6.71838 7.55818 2.55351e-15 -1.98452e-15 2.77556e-16 +484 1 0 7.55818 7.55818 -8.88178e-15 -8.88178e-16 -2.22045e-16 +485 1 1.6796 6.71838 6.71838 2.08167e-16 -2.94903e-15 -2.92821e-15 +486 1 2.51939 7.55818 6.71838 -1.55431e-15 -1.66533e-16 -3.44169e-15 +487 1 2.51939 6.71838 7.55818 -1.63758e-15 -2.72005e-15 3.88578e-16 +488 1 1.6796 7.55818 7.55818 -1.38778e-17 2.22045e-16 0 +489 1 3.35919 6.71838 6.71838 1.22125e-14 -3.47639e-15 -2.92821e-15 +490 1 4.19899 7.55818 6.71838 -2.56808e-14 -2.22045e-16 -2.88658e-15 +491 1 4.19899 6.71838 7.55818 -2.61319e-14 -3.55271e-15 1.44329e-15 +492 1 3.35919 7.55818 7.55818 1.26704e-14 8.88178e-16 -1.11022e-15 +493 1 5.03879 6.71838 6.71838 0 -4.05231e-15 -3.3723e-15 +494 1 5.87859 7.55818 6.71838 2.46678e-14 -9.4369e-16 -2.88658e-15 +495 1 5.87859 6.71838 7.55818 2.38698e-14 -3.66374e-15 4.44089e-16 +496 1 5.03879 7.55818 7.55818 -4.30211e-16 -2.22045e-16 2.22045e-16 +497 1 6.71838 6.71838 6.71838 -2.47025e-15 -3.11556e-15 -2.52576e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 -2.22045e-16 -2.9976e-15 +499 1 7.55818 6.71838 7.55818 0 -2.52576e-15 -4.44089e-16 +500 1 6.71838 7.55818 7.55818 -3.10862e-15 1.79023e-15 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/dump.17Jun22.snapshot.driver.tcp.1 b/examples/mdi/dump.17Jun22.snapshot.driver.tcp.1 new file mode 100644 index 0000000000..c4ee904680 --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.driver.tcp.1 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0 0 0 -1.06581e-14 -1.06581e-14 -1.00753e-14 +2 1 0.839798 0.839798 0 2.66454e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -1.05471e-14 4.56579e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -4.09395e-16 -9.76996e-15 -1.04361e-14 +6 1 2.51939 0.839798 0 -4.23273e-16 2.66454e-15 -1.06581e-14 +7 1 2.51939 0 0.839798 -7.00828e-16 -1.06581e-14 2.9976e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.28439e-14 -1.06581e-14 -1.04361e-14 +10 1 4.19899 0.839798 0 -2.25236e-14 2.66454e-15 -7.99361e-15 +11 1 4.19899 0 0.839798 -2.34118e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 2.77556e-17 -7.99361e-15 -7.99361e-15 +14 1 5.87859 0.839798 0 2.26555e-14 2.66454e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.16702e-14 -7.99361e-15 2.66454e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.33067e-15 -9.63118e-15 -9.74221e-15 +18 1 7.55818 0.839798 0 4.44089e-16 2.55351e-15 -9.32587e-15 +19 1 7.55818 0 0.839798 0 -1.02141e-14 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 2.88658e-15 -2.77556e-17 -9.76996e-15 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -5.06539e-16 6.245e-17 -9.76996e-15 +26 1 2.51939 2.51939 0 -2.11636e-15 -1.72778e-15 -9.76996e-15 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.88658e-15 +29 1 3.35919 1.6796 0 1.34545e-14 3.46945e-17 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.30926e-14 -1.85268e-15 -7.99361e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.33067e-15 +33 1 5.03879 1.6796 0 2.01228e-16 1.66533e-16 -7.10543e-15 +34 1 5.87859 2.51939 0 2.12677e-14 -1.74166e-15 -7.99361e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.88658e-15 +37 1 6.71838 1.6796 0 -3.10862e-15 -1.66533e-16 -8.10463e-15 +38 1 7.55818 2.51939 0 8.88178e-16 -1.33227e-15 -9.32587e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.56659e-15 +41 1 0 3.35919 0 -1.06581e-14 1.28786e-14 -9.54792e-15 +42 1 0.839798 4.19899 0 2.66454e-15 -2.24404e-14 -8.88178e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -8.88178e-15 -2.32037e-14 2.55351e-15 +45 1 1.6796 3.35919 0 -8.53484e-16 1.47174e-14 -9.76996e-15 +46 1 2.51939 4.19899 0 -1.79717e-15 -2.32175e-14 -7.10543e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51476e-14 3.55271e-15 +48 1 1.6796 4.19899 0.839798 -2.08167e-16 -2.40918e-14 3.33067e-15 +49 1 3.35919 3.35919 0 1.2608e-14 1.419e-14 -7.99361e-15 +50 1 4.19899 4.19899 0 -2.28706e-14 -2.25653e-14 -5.32907e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13937e-14 2.88658e-15 +52 1 3.35919 4.19899 0.839798 1.249e-14 -2.21975e-14 2.88658e-15 +53 1 5.03879 3.35919 0 -2.22045e-16 1.14422e-14 -6.21725e-15 +54 1 5.87859 4.19899 0 2.22322e-14 -2.22461e-14 -5.32907e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27467e-14 2.88658e-15 +56 1 5.03879 4.19899 0.839798 -2.08167e-16 -2.11983e-14 3.10862e-15 +57 1 6.71838 3.35919 0 -3.60822e-15 1.32949e-14 -8.04912e-15 +58 1 7.55818 4.19899 0 8.88178e-16 -2.44249e-14 -7.10543e-15 +59 1 7.55818 3.35919 0.839798 1.66533e-16 1.40443e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -3.05311e-15 -2.40641e-14 2.45637e-15 +61 1 0 5.03879 0 -7.10543e-15 6.66134e-16 -7.32747e-15 +62 1 0.839798 5.87859 0 2.66454e-15 2.28706e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -2.77556e-16 2.67841e-15 +64 1 0 5.87859 0.839798 -9.76996e-15 2.18159e-14 2.66454e-15 +65 1 1.6796 5.03879 0 8.32667e-17 -9.92262e-16 -6.21725e-15 +66 1 2.51939 5.87859 0 -2.08167e-15 2.16008e-14 -7.10543e-15 +67 1 2.51939 5.03879 0.839798 -1.72085e-15 3.81639e-16 3.10862e-15 +68 1 1.6796 5.87859 0.839798 -8.74301e-16 2.02824e-14 3.10862e-15 +69 1 3.35919 5.03879 0 1.08871e-14 -1.80411e-16 -6.21725e-15 +70 1 4.19899 5.87859 0 -2.27804e-14 2.17187e-14 -4.44089e-15 +71 1 4.19899 5.03879 0.839798 -1.95469e-14 -1.15186e-15 2.88658e-15 +72 1 3.35919 5.87859 0.839798 1.19973e-14 2.21143e-14 2.88658e-15 +73 1 5.03879 5.03879 0 1.17961e-16 6.8695e-16 -3.55271e-15 +74 1 5.87859 5.87859 0 2.17604e-14 2.22114e-14 -5.32907e-15 +75 1 5.87859 5.03879 0.839798 1.9415e-14 3.747e-16 2.88658e-15 +76 1 5.03879 5.87859 0.839798 -6.52256e-16 1.92069e-14 2.88658e-15 +77 1 6.71838 5.03879 0 -2.38698e-15 4.64906e-16 -6.43929e-15 +78 1 7.55818 5.87859 0 0 2.26485e-14 -7.54952e-15 +79 1 7.55818 5.03879 0.839798 1.11022e-16 1.44329e-15 2.498e-15 +80 1 6.71838 5.87859 0.839798 -2.94209e-15 2.15661e-14 2.45637e-15 +81 1 0 6.71838 0 -1.06581e-14 -3.77476e-15 -9.60343e-15 +82 1 0.839798 7.55818 0 2.44249e-15 7.91034e-16 -1.00892e-14 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.80251e-15 +84 1 0 7.55818 0.839798 -8.88178e-15 -2.22045e-16 3.05311e-15 +85 1 1.6796 6.71838 0 -8.04912e-16 -1.72085e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -1.51268e-15 6.66134e-16 -9.54792e-15 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 2.08167e-16 2.77556e-16 3.33067e-15 +89 1 3.35919 6.71838 0 1.24623e-14 -2.22045e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.45221e-14 0 -7.99361e-15 +91 1 4.19899 6.71838 0.839798 -2.33563e-14 -4.89886e-15 2.45637e-15 +92 1 3.35919 7.55818 0.839798 1.30868e-14 8.88178e-16 2.88658e-15 +93 1 5.03879 6.71838 0 -4.02456e-16 -2.83107e-15 -6.43929e-15 +94 1 5.87859 7.55818 0 2.33563e-14 8.88178e-16 -7.10543e-15 +95 1 5.87859 6.71838 0.839798 2.1913e-14 -1.74166e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -2.08167e-16 -5.27356e-16 2.498e-15 +97 1 6.71838 6.71838 0 -2.83107e-15 -3.42781e-15 -7.10543e-15 +98 1 7.55818 7.55818 0 4.44089e-16 0 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 5.55112e-17 -3.10862e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -2.88658e-15 5.27356e-16 2.56739e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -1.11022e-15 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -1.05471e-14 1.80411e-16 +104 1 0 0.839798 2.51939 -1.15463e-14 2.9976e-15 3.88578e-16 +105 1 1.6796 0 1.6796 1.73472e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.6584e-15 -1.06581e-14 -1.4988e-15 +108 1 1.6796 0.839798 2.51939 2.63678e-16 3.10862e-15 -1.67227e-15 +109 1 3.35919 0 1.6796 1.41623e-14 -8.88178e-15 6.66134e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.30371e-14 -7.99361e-15 -1.66533e-15 +112 1 3.35919 0.839798 2.51939 1.4419e-14 2.88658e-15 -1.90126e-15 +113 1 5.03879 0 1.6796 8.67362e-16 -8.88178e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.01159e-14 -8.88178e-15 -1.38778e-15 +116 1 5.03879 0.839798 2.51939 2.91434e-16 3.10862e-15 -1.45023e-15 +117 1 6.71838 0 1.6796 -2.52576e-15 -8.77076e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 1.33227e-15 -9.76996e-15 -1.9984e-15 +120 1 6.71838 0.839798 2.51939 -3.10862e-15 2.90046e-15 -2.10942e-15 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.66454e-15 7.35523e-16 -1.30451e-15 +124 1 0 2.51939 2.51939 -1.06581e-14 -7.49401e-16 -1.44329e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -9.22873e-16 1.38778e-17 -1.17267e-15 +128 1 1.6796 2.51939 2.51939 1.38778e-16 -1.26982e-15 -2.16493e-15 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.2024e-14 4.64906e-16 -2.11636e-15 +132 1 3.35919 2.51939 2.51939 1.47937e-14 -1.33227e-15 -2.23432e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.02546e-14 -2.56739e-16 -2.07473e-15 +136 1 5.03879 2.51939 2.51939 5.82867e-16 -1.91513e-15 -2.16493e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 4.44089e-16 -6.93889e-18 -2.22045e-15 +140 1 6.71838 2.51939 2.51939 -3.27516e-15 -1.67921e-15 -2.38698e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.44249e-15 -2.1684e-14 -6.10623e-16 +143 1 0.839798 3.35919 2.51939 2.44249e-15 1.49047e-14 -1.83187e-15 +144 1 0 4.19899 2.51939 -8.88178e-15 -2.22322e-14 -1.60982e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.72778e-15 -2.28081e-14 -1.32533e-15 +147 1 2.51939 3.35919 2.51939 -9.92262e-16 1.42247e-14 -1.29757e-15 +148 1 1.6796 4.19899 2.51939 6.93889e-18 -2.16632e-14 -2.92821e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1684e-14 -2.2142e-14 -1.26982e-15 +151 1 4.19899 3.35919 2.51939 -2.27457e-14 1.10675e-14 -2.81025e-15 +152 1 3.35919 4.19899 2.51939 1.17337e-14 -2.23849e-14 -3.15026e-15 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.0213e-14 -2.25167e-14 2.28983e-16 +155 1 5.87859 3.35919 2.51939 2.08236e-14 1.21292e-14 -2.5327e-15 +156 1 5.03879 4.19899 2.51939 1.38778e-17 -1.97481e-14 -3.59435e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 2.22045e-16 -2.33147e-14 -4.996e-16 +159 1 7.55818 3.35919 2.51939 1.33227e-15 1.33227e-14 -2.66454e-15 +160 1 6.71838 4.19899 2.51939 -3.27516e-15 -2.33147e-14 -2.84495e-15 +161 1 0 5.03879 1.6796 -7.10543e-15 4.44089e-16 0 +162 1 0.839798 5.87859 1.6796 2.44249e-15 2.08375e-14 7.21645e-16 +163 1 0.839798 5.03879 2.51939 2.88658e-15 2.63678e-16 -1.13798e-15 +164 1 0 5.87859 2.51939 -7.99361e-15 2.03171e-14 -1.44329e-15 +165 1 1.6796 5.03879 1.6796 2.56739e-16 8.60423e-16 8.04912e-16 +166 1 2.51939 5.87859 1.6796 -9.64506e-16 2.08375e-14 -7.35523e-16 +167 1 2.51939 5.03879 2.51939 -2.04003e-15 -4.57967e-16 -2.84495e-16 +168 1 1.6796 5.87859 2.51939 6.93889e-18 2.03101e-14 -7.91034e-16 +169 1 3.35919 5.03879 1.6796 1.12549e-14 2.08167e-17 1.08247e-15 +170 1 4.19899 5.87859 1.6796 -2.15591e-14 2.06987e-14 9.57567e-16 +171 1 4.19899 5.03879 2.51939 -1.96579e-14 4.30211e-16 -2.72699e-15 +172 1 3.35919 5.87859 2.51939 1.23929e-14 2.06432e-14 -2.2482e-15 +173 1 5.03879 5.03879 1.6796 2.77556e-17 -1.38778e-16 1.20737e-15 +174 1 5.87859 5.87859 1.6796 2.07542e-14 2.02408e-14 7.70217e-16 +175 1 5.87859 5.03879 2.51939 1.86587e-14 6.52256e-16 -1.7833e-15 +176 1 5.03879 5.87859 2.51939 -2.08167e-16 1.92762e-14 -1.33227e-15 +177 1 6.71838 5.03879 1.6796 -2.42167e-15 -1.31839e-16 -3.33067e-16 +178 1 7.55818 5.87859 1.6796 -2.22045e-16 2.19824e-14 2.22045e-16 +179 1 7.55818 5.03879 2.51939 -4.44089e-16 1.22125e-15 -1.9984e-15 +180 1 6.71838 5.87859 2.51939 -3.10862e-15 2.20657e-14 -2.19269e-15 +181 1 0 6.71838 1.6796 -1.02141e-14 -2.88658e-15 -6.66134e-16 +182 1 0.839798 7.55818 1.6796 1.9984e-15 6.38378e-16 2.22045e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -3.10862e-15 -2.08167e-15 +184 1 0 7.55818 2.51939 -9.76996e-15 4.44089e-16 -1.88738e-15 +185 1 1.6796 6.71838 1.6796 1.94289e-16 -2.31759e-15 1.249e-16 +186 1 2.51939 7.55818 1.6796 -1.249e-15 -6.17562e-16 5.55112e-17 +187 1 2.51939 6.71838 2.51939 -1.19349e-15 -3.10862e-15 -2.08167e-15 +188 1 1.6796 7.55818 2.51939 -2.22045e-16 1.33227e-15 -2.66454e-15 +189 1 3.35919 6.71838 1.6796 1.34198e-14 -2.02616e-15 -6.245e-17 +190 1 4.19899 7.55818 1.6796 -2.38282e-14 -4.71845e-16 1.45717e-16 +191 1 4.19899 6.71838 2.51939 -2.43278e-14 -4.60743e-15 -3.88578e-15 +192 1 3.35919 7.55818 2.51939 1.29896e-14 1.9984e-15 -2.22045e-15 +193 1 5.03879 6.71838 1.6796 -6.245e-17 -1.65146e-15 2.35922e-16 +194 1 5.87859 7.55818 1.6796 2.23294e-14 1.13798e-15 -6.93889e-18 +195 1 5.87859 6.71838 2.51939 2.15869e-14 -2.9976e-15 -2.63678e-15 +196 1 5.03879 7.55818 2.51939 -2.22045e-16 -2.22045e-16 -1.77636e-15 +197 1 6.71838 6.71838 1.6796 -2.62984e-15 -2.59515e-15 -1.47798e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 2.22045e-16 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 8.88178e-16 -2.27596e-15 -2.66454e-15 +200 1 6.71838 7.55818 2.51939 -2.9976e-15 7.91034e-16 -1.91513e-15 +201 1 0 0 3.35919 -1.06581e-14 -1.04361e-14 1.35447e-14 +202 1 0.839798 0.839798 3.35919 2.66454e-15 2.67841e-15 1.50435e-14 +203 1 0.839798 0 4.19899 2.66454e-15 -8.77076e-15 -2.26139e-14 +204 1 0 0.839798 4.19899 -8.88178e-15 2.88658e-15 -2.24265e-14 +205 1 1.6796 0 3.35919 1.73472e-16 -8.88178e-15 1.42109e-14 +206 1 2.51939 0.839798 3.35919 -1.83881e-15 2.77556e-15 1.55431e-14 +207 1 2.51939 0 4.19899 -1.67227e-15 -7.99361e-15 -2.32037e-14 +208 1 1.6796 0.839798 4.19899 -1.8735e-16 3.33067e-15 -2.28637e-14 +209 1 3.35919 0 3.35919 1.37182e-14 -7.99361e-15 1.44329e-14 +210 1 4.19899 0.839798 3.35919 -2.30232e-14 2.66454e-15 1.19071e-14 +211 1 4.19899 0 4.19899 -2.27665e-14 -5.32907e-15 -2.27041e-14 +212 1 3.35919 0.839798 4.19899 1.24276e-14 2.88658e-15 -2.27457e-14 +213 1 5.03879 0 3.35919 -2.08167e-17 -7.99361e-15 1.11022e-14 +214 1 5.87859 0.839798 3.35919 2.2489e-14 2.55351e-15 1.36002e-14 +215 1 5.87859 0 4.19899 2.21143e-14 -5.32907e-15 -2.24265e-14 +216 1 5.03879 0.839798 4.19899 -1.08941e-15 3.55271e-15 -2.22461e-14 +217 1 6.71838 0 3.35919 -2.47025e-15 -8.77076e-15 1.29619e-14 +218 1 7.55818 0.839798 3.35919 -1.11022e-15 2.60902e-15 1.4766e-14 +219 1 7.55818 0 4.19899 1.33227e-15 -6.43929e-15 -2.4647e-14 +220 1 6.71838 0.839798 4.19899 -2.38698e-15 2.67841e-15 -2.39531e-14 +221 1 0 1.6796 3.35919 -1.11022e-14 -2.22045e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -4.64906e-16 1.52378e-14 +223 1 0.839798 1.6796 4.19899 2.88658e-15 2.498e-16 -2.32592e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -1.60982e-15 -2.32592e-14 +225 1 1.6796 1.6796 3.35919 2.22045e-16 -7.91034e-16 1.5779e-14 +226 1 2.51939 2.51939 3.35919 -1.4086e-15 -1.02002e-15 1.46133e-14 +227 1 2.51939 1.6796 4.19899 -1.39472e-15 3.95517e-16 -2.30857e-14 +228 1 1.6796 2.51939 4.19899 -8.67362e-16 -1.45023e-15 -2.42237e-14 +229 1 3.35919 1.6796 3.35919 1.39888e-14 -2.77556e-17 1.57235e-14 +230 1 4.19899 2.51939 3.35919 -2.32939e-14 -1.64452e-15 1.24276e-14 +231 1 4.19899 1.6796 4.19899 -2.19755e-14 -9.08995e-16 -2.30302e-14 +232 1 3.35919 2.51939 4.19899 1.17822e-14 -2.00534e-15 -2.40433e-14 +233 1 5.03879 1.6796 3.35919 -2.498e-16 -9.22873e-16 1.29757e-14 +234 1 5.87859 2.51939 3.35919 2.13649e-14 -8.67362e-16 1.27398e-14 +235 1 5.87859 1.6796 4.19899 2.08236e-14 -7.42462e-16 -2.31828e-14 +236 1 5.03879 2.51939 4.19899 -4.30211e-16 -1.67227e-15 -2.22253e-14 +237 1 6.71838 1.6796 3.35919 -3.19883e-15 -4.996e-16 1.39264e-14 +238 1 7.55818 2.51939 3.35919 -4.44089e-16 -1.9984e-15 1.24345e-14 +239 1 7.55818 1.6796 4.19899 -4.44089e-16 -5.06539e-16 -2.39808e-14 +240 1 6.71838 2.51939 4.19899 -2.44249e-15 -1.47105e-15 -2.40641e-14 +241 1 0 3.35919 3.35919 -1.11022e-14 1.33227e-14 1.31006e-14 +242 1 0.839798 4.19899 3.35919 2.66454e-15 -2.26555e-14 1.12133e-14 +243 1 0.839798 3.35919 4.19899 2.44249e-15 1.28925e-14 -2.26208e-14 +244 1 0 4.19899 4.19899 -6.21725e-15 -2.26485e-14 -2.26485e-14 +245 1 1.6796 3.35919 3.35919 2.08167e-16 1.3281e-14 1.52794e-14 +246 1 2.51939 4.19899 3.35919 -2.17187e-15 -2.33494e-14 1.22957e-14 +247 1 2.51939 3.35919 4.19899 -1.94983e-15 1.21569e-14 -2.20726e-14 +248 1 1.6796 4.19899 4.19899 -5.20417e-16 -2.2489e-14 -2.38767e-14 +249 1 3.35919 3.35919 3.35919 1.28092e-14 1.24345e-14 1.42109e-14 +250 1 4.19899 4.19899 3.35919 -2.29677e-14 -2.35575e-14 8.33361e-15 +251 1 4.19899 3.35919 4.19899 -2.33702e-14 9.08301e-15 -2.33355e-14 +252 1 3.35919 4.19899 4.19899 9.67976e-15 -2.36547e-14 -2.46539e-14 +253 1 5.03879 3.35919 3.35919 -2.28983e-16 1.06026e-14 1.14353e-14 +254 1 5.87859 4.19899 3.35919 2.19408e-14 -2.21698e-14 8.51402e-15 +255 1 5.87859 3.35919 4.19899 2.15522e-14 1.01238e-14 -2.328e-14 +256 1 5.03879 4.19899 4.19899 -5.20417e-16 -2.11775e-14 -2.23085e-14 +257 1 6.71838 3.35919 3.35919 -3.1225e-15 1.22957e-14 1.31978e-14 +258 1 7.55818 4.19899 3.35919 -1.11022e-15 -2.4647e-14 1.05471e-14 +259 1 7.55818 3.35919 4.19899 -8.88178e-16 1.113e-14 -2.53131e-14 +260 1 6.71838 4.19899 4.19899 -3.60822e-15 -2.5091e-14 -2.32731e-14 +261 1 0 5.03879 3.35919 -7.10543e-15 -2.22045e-16 1.15463e-14 +262 1 0.839798 5.87859 3.35919 2.55351e-15 2.28359e-14 1.37113e-14 +263 1 0.839798 5.03879 4.19899 2.88658e-15 -1.05471e-15 -2.20102e-14 +264 1 0 5.87859 4.19899 -5.32907e-15 2.21212e-14 -2.25375e-14 +265 1 1.6796 5.03879 3.35919 2.56739e-16 -2.498e-16 1.26843e-14 +266 1 2.51939 5.87859 3.35919 -1.31145e-15 2.16702e-14 1.30659e-14 +267 1 2.51939 5.03879 4.19899 -2.06085e-15 8.04912e-16 -2.10873e-14 +268 1 1.6796 5.87859 4.19899 -7.63278e-17 2.17118e-14 -2.12261e-14 +269 1 3.35919 5.03879 3.35919 1.10328e-14 -2.01228e-16 1.11994e-14 +270 1 4.19899 5.87859 3.35919 -2.29886e-14 2.15314e-14 1.08039e-14 +271 1 4.19899 5.03879 4.19899 -2.02338e-14 -4.92661e-16 -2.14065e-14 +272 1 3.35919 5.87859 4.19899 1.03459e-14 2.19963e-14 -2.39878e-14 +273 1 5.03879 5.03879 3.35919 -1.94289e-16 -8.04912e-16 8.64586e-15 +274 1 5.87859 5.87859 3.35919 2.18645e-14 2.20171e-14 1.02141e-14 +275 1 5.87859 5.03879 4.19899 1.98036e-14 1.38778e-16 -2.15869e-14 +276 1 5.03879 5.87859 4.19899 -3.05311e-16 1.94428e-14 -2.04628e-14 +277 1 6.71838 5.03879 3.35919 -2.35922e-15 -3.53884e-16 1.02071e-14 +278 1 7.55818 5.87859 3.35919 -8.88178e-16 2.28706e-14 1.02141e-14 +279 1 7.55818 5.03879 4.19899 -1.33227e-15 -3.05311e-16 -2.33147e-14 +280 1 6.71838 5.87859 4.19899 -3.27516e-15 2.23987e-14 -2.53547e-14 +281 1 0 6.71838 3.35919 -9.32587e-15 -3.77476e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.33147e-15 1.13798e-15 1.40166e-14 +283 1 0.839798 6.71838 4.19899 2.66454e-15 -2.44249e-15 -2.37865e-14 +284 1 0 7.55818 4.19899 -6.21725e-15 -2.22045e-16 -2.50355e-14 +285 1 1.6796 6.71838 3.35919 1.94289e-16 -2.25514e-15 1.4419e-14 +286 1 2.51939 7.55818 3.35919 -1.59595e-15 -6.10623e-16 1.37668e-14 +287 1 2.51939 6.71838 4.19899 -8.95117e-16 -2.55351e-15 -2.28983e-14 +288 1 1.6796 7.55818 4.19899 -5.13478e-16 8.88178e-16 -2.44249e-14 +289 1 3.35919 6.71838 3.35919 1.20876e-14 -2.85189e-15 1.31353e-14 +290 1 4.19899 7.55818 3.35919 -2.47094e-14 -9.4369e-16 1.06026e-14 +291 1 4.19899 6.71838 4.19899 -2.41057e-14 -3.77476e-15 -2.26208e-14 +292 1 3.35919 7.55818 4.19899 1.06998e-14 1.55431e-15 -2.53131e-14 +293 1 5.03879 6.71838 3.35919 -6.245e-17 -3.36536e-15 1.00892e-14 +294 1 5.87859 7.55818 3.35919 2.328e-14 4.44089e-16 1.02696e-14 +295 1 5.87859 6.71838 4.19899 2.31135e-14 -3.33067e-15 -2.39531e-14 +296 1 5.03879 7.55818 4.19899 -6.93889e-17 2.22045e-16 -2.28706e-14 +297 1 6.71838 6.71838 3.35919 -2.63678e-15 -2.97679e-15 1.21014e-14 +298 1 7.55818 7.55818 3.35919 -4.44089e-16 2.22045e-16 1.2268e-14 +299 1 7.55818 6.71838 4.19899 0 -2.94209e-15 -2.70894e-14 +300 1 6.71838 7.55818 4.19899 -3.10862e-15 9.57567e-16 -2.65621e-14 +301 1 0 0 5.03879 -7.99361e-15 -7.77156e-15 6.66134e-16 +302 1 0.839798 0.839798 5.03879 2.44249e-15 2.56739e-15 2.22045e-16 +303 1 0.839798 0 5.87859 2.88658e-15 -7.88258e-15 2.30926e-14 +304 1 0 0.839798 5.87859 -8.88178e-15 2.88658e-15 2.23155e-14 +305 1 1.6796 0 5.03879 -3.67761e-16 -8.88178e-15 -6.66134e-16 +306 1 2.51939 0.839798 5.03879 -1.26982e-15 2.66454e-15 8.60423e-16 +307 1 2.51939 0 5.87859 -2.08167e-15 -7.99361e-15 2.15383e-14 +308 1 1.6796 0.839798 5.87859 2.63678e-16 2.88658e-15 2.07612e-14 +309 1 3.35919 0 5.03879 1.09704e-14 -7.10543e-15 1.11022e-15 +310 1 4.19899 0.839798 5.03879 -2.02546e-14 2.66454e-15 -4.996e-16 +311 1 4.19899 0 5.87859 -2.26694e-14 -5.32907e-15 2.09832e-14 +312 1 3.35919 0.839798 5.87859 1.21708e-14 2.88658e-15 2.16979e-14 +313 1 5.03879 0 5.03879 -3.1225e-16 -5.32907e-15 2.22045e-16 +314 1 5.87859 0.839798 5.03879 1.91652e-14 2.77556e-15 1.9984e-15 +315 1 5.87859 0 5.87859 2.18436e-14 -4.44089e-15 2.27041e-14 +316 1 5.03879 0.839798 5.87859 -3.747e-16 3.10862e-15 2.10387e-14 +317 1 6.71838 0 5.03879 -3.30291e-15 -5.27356e-15 8.32667e-17 +318 1 7.55818 0.839798 5.03879 -1.11022e-16 2.41474e-15 1.66533e-15 +319 1 7.55818 0 5.87859 8.88178e-16 -7.32747e-15 2.33147e-14 +320 1 6.71838 0.839798 5.87859 -2.27596e-15 2.67841e-15 2.30926e-14 +321 1 0 1.6796 5.03879 -7.99361e-15 -6.66134e-16 2.22045e-16 +322 1 0.839798 2.51939 5.03879 2.44249e-15 -1.1588e-15 5.82867e-16 +323 1 0.839798 1.6796 5.87859 2.66454e-15 7.35523e-16 2.19269e-14 +324 1 0 2.51939 5.87859 -7.99361e-15 -1.83187e-15 2.15938e-14 +325 1 1.6796 1.6796 5.03879 2.01228e-16 -5.27356e-16 1.97065e-15 +326 1 2.51939 2.51939 5.03879 -1.00614e-15 -1.22818e-15 4.16334e-17 +327 1 2.51939 1.6796 5.87859 -9.99201e-16 -1.38778e-17 2.22808e-14 +328 1 1.6796 2.51939 5.87859 1.52656e-16 -1.38778e-15 2.04003e-14 +329 1 3.35919 1.6796 5.03879 1.17545e-14 2.63678e-16 1.02696e-15 +330 1 4.19899 2.51939 5.03879 -2.02893e-14 -2.11636e-15 -4.30211e-16 +331 1 4.19899 1.6796 5.87859 -2.20032e-14 -9.02056e-16 2.10318e-14 +332 1 3.35919 2.51939 5.87859 1.25316e-14 -1.51962e-15 2.06363e-14 +333 1 5.03879 1.6796 5.03879 8.88178e-16 -5.6205e-16 2.7478e-15 +334 1 5.87859 2.51939 5.03879 1.8846e-14 -7.84095e-16 1.20737e-15 +335 1 5.87859 1.6796 5.87859 2.0664e-14 -1.14492e-15 2.01852e-14 +336 1 5.03879 2.51939 5.87859 3.60822e-16 -1.94289e-15 1.76248e-14 +337 1 6.71838 1.6796 5.03879 -3.08781e-15 -8.74301e-16 5.96745e-16 +338 1 7.55818 2.51939 5.03879 -2.22045e-16 -1.55431e-15 2.22045e-16 +339 1 7.55818 1.6796 5.87859 1.77636e-15 -9.08995e-16 2.19824e-14 +340 1 6.71838 2.51939 5.87859 -2.60902e-15 -1.94289e-15 2.10665e-14 +341 1 0 3.35919 5.03879 -8.88178e-15 1.06581e-14 4.44089e-16 +342 1 0.839798 4.19899 5.03879 2.77556e-15 -2.00534e-14 -9.71445e-16 +343 1 0.839798 3.35919 5.87859 2.66454e-15 1.26565e-14 2.26763e-14 +344 1 0 4.19899 5.87859 -7.10543e-15 -2.27318e-14 2.12053e-14 +345 1 1.6796 3.35919 5.03879 2.15106e-16 1.11022e-14 1.249e-15 +346 1 2.51939 4.19899 5.03879 -1.61676e-15 -2.07542e-14 8.32667e-17 +347 1 2.51939 3.35919 5.87859 -1.34615e-15 1.1921e-14 2.25445e-14 +348 1 1.6796 4.19899 5.87859 -8.74301e-16 -2.1684e-14 1.93387e-14 +349 1 3.35919 3.35919 5.03879 1.08247e-14 1.05055e-14 6.245e-16 +350 1 4.19899 4.19899 5.03879 -2.08722e-14 -2.192e-14 5.55112e-16 +351 1 4.19899 3.35919 5.87859 -2.34326e-14 9.83241e-15 2.01436e-14 +352 1 3.35919 4.19899 5.87859 9.61037e-15 -2.29053e-14 2.15591e-14 +353 1 5.03879 3.35919 5.03879 6.31439e-16 6.7446e-15 5.41234e-16 +354 1 5.87859 4.19899 5.03879 1.91375e-14 -2.03101e-14 2.498e-16 +355 1 5.87859 3.35919 5.87859 2.14412e-14 1.00198e-14 2.06293e-14 +356 1 5.03879 4.19899 5.87859 -2.01228e-16 -2.06224e-14 1.59386e-14 +357 1 6.71838 3.35919 5.03879 -3.02536e-15 9.69363e-15 4.85723e-17 +358 1 7.55818 4.19899 5.03879 -8.88178e-16 -2.28706e-14 -3.33067e-16 +359 1 7.55818 3.35919 5.87859 4.44089e-16 1.11855e-14 2.30926e-14 +360 1 6.71838 4.19899 5.87859 -3.44169e-15 -2.34396e-14 2.11914e-14 +361 1 0 5.03879 5.03879 -3.9968e-15 -6.66134e-16 4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.66454e-15 1.93595e-14 5.55112e-16 +363 1 0.839798 5.03879 5.87859 3.10862e-15 -4.02456e-16 2.03726e-14 +364 1 0 5.87859 5.87859 -5.32907e-15 2.18159e-14 2.27596e-14 +365 1 1.6796 5.03879 5.03879 2.77556e-17 4.16334e-17 1.3739e-15 +366 1 2.51939 5.87859 5.03879 -1.56125e-15 1.82285e-14 1.76248e-15 +367 1 2.51939 5.03879 5.87859 -2.04003e-15 -1.1241e-15 1.95052e-14 +368 1 1.6796 5.87859 5.87859 2.08167e-17 2.11636e-14 2.05252e-14 +369 1 3.35919 5.03879 5.03879 8.17402e-15 3.40006e-16 3.33067e-16 +370 1 4.19899 5.87859 5.03879 -2.08653e-14 1.81868e-14 3.26128e-16 +371 1 4.19899 5.03879 5.87859 -2.05391e-14 -2.28983e-16 1.85199e-14 +372 1 3.35919 5.87859 5.87859 1.02834e-14 2.14967e-14 2.09693e-14 +373 1 5.03879 5.03879 5.03879 2.35922e-16 2.498e-16 -1.30451e-15 +374 1 5.87859 5.87859 5.03879 1.90889e-14 1.87003e-14 -2.70617e-16 +375 1 5.87859 5.03879 5.87859 1.91305e-14 8.74301e-16 1.98105e-14 +376 1 5.03879 5.87859 5.87859 1.38778e-17 1.92832e-14 1.88183e-14 +377 1 6.71838 5.03879 5.03879 -3.45557e-15 -3.05311e-16 1.51962e-15 +378 1 7.55818 5.87859 5.03879 -4.44089e-16 2.08722e-14 1.66533e-16 +379 1 7.55818 5.03879 5.87859 -1.33227e-15 5.55112e-16 2.08722e-14 +380 1 6.71838 5.87859 5.87859 -3.33067e-15 2.20102e-14 2.08999e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.44089e-15 8.88178e-16 +382 1 0.839798 7.55818 5.03879 2.33147e-15 4.71845e-16 9.15934e-16 +383 1 0.839798 6.71838 5.87859 2.88658e-15 -2.27596e-15 2.23016e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 -2.22045e-16 2.31482e-14 +385 1 1.6796 6.71838 5.03879 -1.38778e-17 -2.86576e-15 1.27676e-15 +386 1 2.51939 7.55818 5.03879 -1.51268e-15 -8.32667e-16 6.66134e-16 +387 1 2.51939 6.71838 5.87859 -1.32533e-15 -2.27596e-15 2.22322e-14 +388 1 1.6796 7.55818 5.87859 -2.498e-16 1.77636e-15 2.13163e-14 +389 1 3.35919 6.71838 5.03879 1.05402e-14 -3.47639e-15 2.19963e-15 +390 1 4.19899 7.55818 5.03879 -2.27665e-14 -1.44329e-15 8.32667e-16 +391 1 4.19899 6.71838 5.87859 -2.39184e-14 -2.94209e-15 2.11775e-14 +392 1 3.35919 7.55818 5.87859 1.08802e-14 1.55431e-15 2.28706e-14 +393 1 5.03879 6.71838 5.03879 -7.63278e-17 -4.04538e-15 1.38778e-17 +394 1 5.87859 7.55818 5.03879 2.10457e-14 -7.21645e-16 7.21645e-16 +395 1 5.87859 6.71838 5.87859 2.31065e-14 -3.10862e-15 2.18714e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-17 -4.44089e-16 2.08722e-14 +397 1 6.71838 6.71838 5.03879 -2.76168e-15 -2.74086e-15 -3.88578e-16 +398 1 7.55818 7.55818 5.03879 0 0 -6.66134e-16 +399 1 7.55818 6.71838 5.87859 0 -2.94209e-15 2.39808e-14 +400 1 6.71838 7.55818 5.87859 -3.16414e-15 7.77156e-16 2.42029e-14 +401 1 0 0 6.71838 -1.06581e-14 -1.04361e-14 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.66454e-15 2.67841e-15 -2.72005e-15 +403 1 0.839798 0 7.55818 2.55351e-15 -9.70057e-15 1.05471e-15 +404 1 0 0.839798 7.55818 -8.88178e-15 2.66454e-15 4.44089e-16 +405 1 1.6796 0 6.71838 2.08167e-16 -7.99361e-15 -2.44249e-15 +406 1 2.51939 0.839798 6.71838 -1.8735e-15 2.77556e-15 -2.72005e-15 +407 1 2.51939 0 7.55818 -1.56819e-15 -8.88178e-15 0 +408 1 1.6796 0.839798 7.55818 -1.11022e-16 2.66454e-15 1.55431e-15 +409 1 3.35919 0 6.71838 1.26288e-14 -7.10543e-15 -2.88658e-15 +410 1 4.19899 0.839798 6.71838 -2.40641e-14 2.66454e-15 -4.69069e-15 +411 1 4.19899 0 7.55818 -2.43069e-14 -7.99361e-15 -4.44089e-16 +412 1 3.35919 0.839798 7.55818 1.38223e-14 2.66454e-15 1.33227e-15 +413 1 5.03879 0 6.71838 2.22045e-16 -6.21725e-15 -3.10862e-15 +414 1 5.87859 0.839798 6.71838 2.22183e-14 2.55351e-15 -1.4988e-15 +415 1 5.87859 0 7.55818 2.35922e-14 -6.21725e-15 -8.88178e-16 +416 1 5.03879 0.839798 7.55818 -4.71845e-16 2.55351e-15 -2.77556e-17 +417 1 6.71838 0 6.71838 -3.38618e-15 -6.99441e-15 -3.94129e-15 +418 1 7.55818 0.839798 6.71838 -1.16573e-15 2.60902e-15 -3.10862e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -2.27596e-15 2.45637e-15 0 +421 1 0 1.6796 6.71838 -1.02141e-14 -4.44089e-16 -3.33067e-15 +422 1 0.839798 2.51939 6.71838 2.77556e-15 -4.996e-16 -3.05311e-15 +423 1 0.839798 1.6796 7.55818 2.66454e-15 1.11022e-16 -1.66533e-16 +424 1 0 2.51939 7.55818 -7.99361e-15 -1.76248e-15 -2.22045e-16 +425 1 1.6796 1.6796 6.71838 2.08167e-16 -7.63278e-16 -2.31759e-15 +426 1 2.51939 2.51939 6.71838 -1.38778e-15 -9.99201e-16 -2.73392e-15 +427 1 2.51939 1.6796 7.55818 -1.47105e-15 5.55112e-17 7.14706e-16 +428 1 1.6796 2.51939 7.55818 -3.33067e-16 -2.06779e-15 -1.45717e-16 +429 1 3.35919 1.6796 6.71838 1.30312e-14 -6.93889e-18 -2.52576e-15 +430 1 4.19899 2.51939 6.71838 -2.37796e-14 -2.35922e-15 -4.35069e-15 +431 1 4.19899 1.6796 7.55818 -2.36061e-14 4.64906e-16 -6.45317e-16 +432 1 3.35919 2.51939 7.55818 1.29549e-14 -8.60423e-16 -1.20043e-15 +433 1 5.03879 1.6796 6.71838 0 -5.68989e-16 -2.42861e-15 +434 1 5.87859 2.51939 6.71838 2.20657e-14 -1.10328e-15 -2.7478e-15 +435 1 5.87859 1.6796 7.55818 2.22045e-14 -6.245e-16 5.20417e-16 +436 1 5.03879 2.51939 7.55818 1.38778e-16 -1.83187e-15 -8.46545e-16 +437 1 6.71838 1.6796 6.71838 -2.32453e-15 -5.06539e-16 -2.59515e-15 +438 1 7.55818 2.51939 6.71838 -2.22045e-16 -1.9984e-15 -3.4972e-15 +439 1 7.55818 1.6796 7.55818 6.66134e-16 5.55112e-17 -1.33227e-15 +440 1 6.71838 2.51939 7.55818 -2.83107e-15 -2.06779e-15 -6.66134e-16 +441 1 0 3.35919 6.71838 -1.11022e-14 1.31006e-14 -2.88658e-15 +442 1 0.839798 4.19899 6.71838 2.66454e-15 -2.28359e-14 -4.46865e-15 +443 1 0.839798 3.35919 7.55818 2.55351e-15 1.38362e-14 5.55112e-17 +444 1 0 4.19899 7.55818 -7.99361e-15 -2.44457e-14 -8.88178e-16 +445 1 1.6796 3.35919 6.71838 2.22045e-16 1.20598e-14 -2.05391e-15 +446 1 2.51939 4.19899 6.71838 -1.09635e-15 -2.38767e-14 -4.46171e-15 +447 1 2.51939 3.35919 7.55818 -1.92901e-15 1.40235e-14 -9.02056e-17 +448 1 1.6796 4.19899 7.55818 4.16334e-17 -2.43833e-14 -1.54737e-15 +449 1 3.35919 3.35919 6.71838 1.28716e-14 1.13104e-14 -2.16493e-15 +450 1 4.19899 4.19899 6.71838 -2.44943e-14 -2.37588e-14 -4.78784e-15 +451 1 4.19899 3.35919 7.55818 -2.42584e-14 1.09426e-14 6.38378e-16 +452 1 3.35919 4.19899 7.55818 1.13798e-14 -2.49245e-14 -1.59595e-15 +453 1 5.03879 3.35919 6.71838 -2.35922e-16 8.98587e-15 -1.98452e-15 +454 1 5.87859 4.19899 6.71838 2.29469e-14 -2.33771e-14 -3.1572e-15 +455 1 5.87859 3.35919 7.55818 2.34951e-14 1.07414e-14 1.80411e-15 +456 1 5.03879 4.19899 7.55818 4.16334e-17 -2.19547e-14 -1.42941e-15 +457 1 6.71838 3.35919 6.71838 -3.13638e-15 1.12688e-14 -2.26208e-15 +458 1 7.55818 4.19899 6.71838 2.22045e-16 -2.59792e-14 -1.38778e-15 +459 1 7.55818 3.35919 7.55818 0 1.28855e-14 -8.88178e-16 +460 1 6.71838 4.19899 7.55818 -2.66454e-15 -2.52992e-14 -1.05471e-15 +461 1 0 5.03879 6.71838 -6.21725e-15 2.22045e-16 -2.22045e-15 +462 1 0.839798 5.87859 6.71838 2.55351e-15 2.25375e-14 -2.38698e-15 +463 1 0.839798 5.03879 7.55818 2.66454e-15 1.38778e-17 6.38378e-16 +464 1 0 5.87859 7.55818 -6.21725e-15 2.3842e-14 -2.22045e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -1.17961e-15 -2.20657e-15 +466 1 2.51939 5.87859 6.71838 -1.51962e-15 2.23849e-14 -2.19269e-15 +467 1 2.51939 5.03879 7.55818 -1.90126e-15 -3.26128e-16 6.38378e-16 +468 1 1.6796 5.87859 7.55818 -6.93889e-17 2.2593e-14 1.76942e-15 +469 1 3.35919 5.03879 6.71838 1.02557e-14 -1.31839e-15 -2.20657e-15 +470 1 4.19899 5.87859 6.71838 -2.37102e-14 2.16563e-14 -1.60288e-15 +471 1 4.19899 5.03879 7.55818 -2.25375e-14 1.38778e-17 -7.63278e-16 +472 1 3.35919 5.87859 7.55818 1.15047e-14 2.3162e-14 8.32667e-16 +473 1 5.03879 5.03879 6.71838 -2.28983e-16 -1.00614e-15 -3.27516e-15 +474 1 5.87859 5.87859 6.71838 2.35922e-14 2.19824e-14 -1.88738e-15 +475 1 5.87859 5.03879 7.55818 2.15383e-14 -2.63678e-16 7.70217e-16 +476 1 5.03879 5.87859 7.55818 1.38778e-17 2.13718e-14 3.26128e-16 +477 1 6.71838 5.03879 6.71838 -3.48332e-15 -9.71445e-16 -1.83187e-15 +478 1 7.55818 5.87859 6.71838 -2.22045e-16 2.39808e-14 -3.38618e-15 +479 1 7.55818 5.03879 7.55818 -1.33227e-15 -1.17961e-16 -6.66134e-16 +480 1 6.71838 5.87859 7.55818 -2.83107e-15 2.47372e-14 -3.88578e-16 +481 1 0 6.71838 6.71838 -9.32587e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.44249e-15 0 -2.94209e-15 +483 1 0.839798 6.71838 7.55818 2.55351e-15 -3.15026e-15 -3.33067e-16 +484 1 0 7.55818 7.55818 -8.88178e-15 0 -2.22045e-16 +485 1 1.6796 6.71838 6.71838 2.15106e-16 -3.04617e-15 -3.05311e-15 +486 1 2.51939 7.55818 6.71838 -1.54043e-15 -5.55112e-16 -2.72005e-15 +487 1 2.51939 6.71838 7.55818 -2.08167e-15 -2.55351e-15 -2.77556e-17 +488 1 1.6796 7.55818 7.55818 2.77556e-17 -6.66134e-16 -1.11022e-15 +489 1 3.35919 6.71838 6.71838 1.22749e-14 -3.60129e-15 -2.27596e-15 +490 1 4.19899 7.55818 6.71838 -2.57433e-14 -6.66134e-16 -3.27516e-15 +491 1 4.19899 6.71838 7.55818 -2.58682e-14 -3.55271e-15 4.44089e-16 +492 1 3.35919 7.55818 7.55818 1.25316e-14 0 -4.44089e-16 +493 1 5.03879 6.71838 6.71838 0 -4.14252e-15 -3.19189e-15 +494 1 5.87859 7.55818 6.71838 2.47719e-14 -4.996e-16 -2.66454e-15 +495 1 5.87859 6.71838 7.55818 2.47163e-14 -2.66454e-15 -5.55112e-17 +496 1 5.03879 7.55818 7.55818 5.55112e-17 -2.22045e-16 6.66134e-16 +497 1 6.71838 6.71838 6.71838 -2.58127e-15 -3.18495e-15 -3.03924e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 0 -3.05311e-15 +499 1 7.55818 6.71838 7.55818 0 -2.69229e-15 -1.33227e-15 +500 1 6.71838 7.55818 7.55818 -2.66454e-15 9.02056e-16 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/dump.17Jun22.snapshot.driver.tcp.4 b/examples/mdi/dump.17Jun22.snapshot.driver.tcp.4 new file mode 100644 index 0000000000..db50370991 --- /dev/null +++ b/examples/mdi/dump.17Jun22.snapshot.driver.tcp.4 @@ -0,0 +1,2036 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0 0 0 -1.06581e-14 -1.13243e-14 -1.09635e-14 +2 1 0.839798 0.839798 0 2.88658e-15 3.34455e-15 -9.76996e-15 +3 1 0.839798 0 0.839798 2.66454e-15 -9.65894e-15 4.45477e-15 +4 1 0 0.839798 0.839798 -1.15463e-14 2.88658e-15 3.44169e-15 +5 1 1.6796 0 0 -3.95517e-16 -1.06581e-14 -1.11022e-14 +6 1 2.51939 0.839798 0 -3.1225e-16 2.66454e-15 -9.76996e-15 +7 1 2.51939 0 0.839798 -7.97973e-16 -1.06581e-14 2.88658e-15 +8 1 1.6796 0.839798 0.839798 -4.3715e-16 3.10862e-15 3.1225e-15 +9 1 3.35919 0 0 1.30798e-14 -1.06581e-14 -1.06581e-14 +10 1 4.19899 0.839798 0 -2.24404e-14 2.66454e-15 -8.88178e-15 +11 1 4.19899 0 0.839798 -2.33424e-14 -8.88178e-15 2.55351e-15 +12 1 3.35919 0.839798 0.839798 1.37182e-14 3.10862e-15 4.23273e-15 +13 1 5.03879 0 0 3.19189e-16 -7.99361e-15 -7.10543e-15 +14 1 5.87859 0.839798 0 2.27665e-14 2.88658e-15 -7.99361e-15 +15 1 5.87859 0 0.839798 2.17673e-14 -7.99361e-15 2.77556e-15 +16 1 5.03879 0.839798 0.839798 -4.09395e-16 2.88658e-15 2.90046e-15 +17 1 6.71838 0 0 -3.21965e-15 -9.63118e-15 -1.01863e-14 +18 1 7.55818 0.839798 0 4.44089e-16 2.58127e-15 -9.10383e-15 +19 1 7.55818 0 0.839798 -4.44089e-16 -9.99201e-15 3.21965e-15 +20 1 6.71838 0.839798 0.839798 -2.94209e-15 2.90046e-15 4.02456e-15 +21 1 0 1.6796 0 -1.15463e-14 0 -1.04361e-14 +22 1 0.839798 2.51939 0 3.10862e-15 -9.71445e-17 -1.00198e-14 +23 1 0.839798 1.6796 0.839798 2.33147e-15 2.22045e-16 3.34455e-15 +24 1 0 2.51939 0.839798 -1.06581e-14 -7.21645e-16 2.9976e-15 +25 1 1.6796 1.6796 0 -4.23273e-16 6.93889e-18 -8.88178e-15 +26 1 2.51939 2.51939 0 -2.19963e-15 -1.77636e-15 -1.09079e-14 +27 1 2.51939 1.6796 0.839798 -1.2837e-15 9.08995e-16 2.88658e-15 +28 1 1.6796 2.51939 0.839798 3.53884e-16 -2.0331e-15 2.8727e-15 +29 1 3.35919 1.6796 0 1.351e-14 1.45717e-16 -7.99361e-15 +30 1 4.19899 2.51939 0 -2.32314e-14 -1.88738e-15 -9.99201e-15 +31 1 4.19899 1.6796 0.839798 -2.24404e-14 -2.08167e-16 3.33067e-15 +32 1 3.35919 2.51939 0.839798 1.45925e-14 -1.36002e-15 3.31679e-15 +33 1 5.03879 1.6796 0 2.28983e-16 1.94289e-16 -7.99361e-15 +34 1 5.87859 2.51939 0 2.13649e-14 -1.66533e-15 -8.21565e-15 +35 1 5.87859 1.6796 0.839798 1.98383e-14 1.17961e-15 3.10862e-15 +36 1 5.03879 2.51939 0.839798 3.40006e-16 -2.80331e-15 2.8727e-15 +37 1 6.71838 1.6796 0 -2.88658e-15 -2.63678e-16 -8.99281e-15 +38 1 7.55818 2.51939 0 1.33227e-15 -1.33227e-15 -9.99201e-15 +39 1 7.55818 1.6796 0.839798 -8.04912e-16 1.94289e-16 3.33067e-15 +40 1 6.71838 2.51939 0.839798 -3.10862e-15 -1.66533e-15 3.55271e-15 +41 1 0 3.35919 0 -1.06581e-14 1.31006e-14 -1.02141e-14 +42 1 0.839798 4.19899 0 2.66454e-15 -2.27873e-14 -9.34669e-15 +43 1 0.839798 3.35919 0.839798 2.33147e-15 1.43774e-14 4.01068e-15 +44 1 0 4.19899 0.839798 -9.76996e-15 -2.33147e-14 2.60902e-15 +45 1 1.6796 3.35919 0 -8.11851e-16 1.5099e-14 -1.02141e-14 +46 1 2.51939 4.19899 0 -1.89432e-15 -2.39808e-14 -7.54952e-15 +47 1 2.51939 3.35919 0.839798 -5.06539e-16 1.51268e-14 3.44169e-15 +48 1 1.6796 4.19899 0.839798 -4.16334e-16 -2.30926e-14 3.10862e-15 +49 1 3.35919 3.35919 0 1.26774e-14 1.46549e-14 -9.32587e-15 +50 1 4.19899 4.19899 0 -2.30302e-14 -2.4869e-14 -7.10543e-15 +51 1 4.19899 3.35919 0.839798 -2.21004e-14 1.13798e-14 2.77556e-15 +52 1 3.35919 4.19899 0.839798 1.18308e-14 -2.22045e-14 2.66454e-15 +53 1 5.03879 3.35919 0 6.93889e-17 1.13243e-14 -7.54952e-15 +54 1 5.87859 4.19899 0 2.21975e-14 -2.22045e-14 -6.43929e-15 +55 1 5.87859 3.35919 0.839798 2.14412e-14 1.27398e-14 2.77556e-15 +56 1 5.03879 4.19899 0.839798 -2.22045e-16 -2.13163e-14 2.72005e-15 +57 1 6.71838 3.35919 0 -3.38618e-15 1.34892e-14 -9.15934e-15 +58 1 7.55818 4.19899 0 0 -2.35367e-14 -7.32747e-15 +59 1 7.55818 3.35919 0.839798 1.11022e-16 1.39888e-14 3.10862e-15 +60 1 6.71838 4.19899 0.839798 -2.9976e-15 -2.31204e-14 2.34535e-15 +61 1 0 5.03879 0 -6.21725e-15 -2.22045e-16 -7.32747e-15 +62 1 0.839798 5.87859 0 2.44249e-15 2.22322e-14 -7.10543e-15 +63 1 0.839798 5.03879 0.839798 2.55351e-15 -1.66533e-16 2.61596e-15 +64 1 0 5.87859 0.839798 -7.10543e-15 2.15938e-14 3.10862e-15 +65 1 1.6796 5.03879 0 1.249e-16 4.44089e-16 -7.99361e-15 +66 1 2.51939 5.87859 0 -1.73472e-15 2.16008e-14 -7.99361e-15 +67 1 2.51939 5.03879 0.839798 -1.7833e-15 6.66134e-16 3.04617e-15 +68 1 1.6796 5.87859 0.839798 4.16334e-17 2.04697e-14 3.33067e-15 +69 1 3.35919 5.03879 0 1.08802e-14 0 -8.02136e-15 +70 1 4.19899 5.87859 0 -2.37727e-14 2.2253e-14 -6.21725e-15 +71 1 4.19899 5.03879 0.839798 -1.93734e-14 2.22045e-16 3.26822e-15 +72 1 3.35919 5.87859 0.839798 1.27537e-14 2.2593e-14 3.33067e-15 +73 1 5.03879 5.03879 0 1.94289e-16 6.66134e-16 -5.32907e-15 +74 1 5.87859 5.87859 0 2.20449e-14 2.1233e-14 -6.21725e-15 +75 1 5.87859 5.03879 0.839798 1.92277e-14 4.44089e-16 2.82413e-15 +76 1 5.03879 5.87859 0.839798 -6.93889e-18 2.00326e-14 3.33067e-15 +77 1 6.71838 5.03879 0 -2.27596e-15 -4.16334e-17 -8.24341e-15 +78 1 7.55818 5.87859 0 -8.88178e-16 2.33147e-14 -7.54952e-15 +79 1 7.55818 5.03879 0.839798 8.32667e-16 1.88738e-15 2.55351e-15 +80 1 6.71838 5.87859 0.839798 -3.16414e-15 2.25098e-14 3.1225e-15 +81 1 0 6.71838 0 -9.76996e-15 -3.77476e-15 -9.38138e-15 +82 1 0.839798 7.55818 0 2.22045e-15 1.67921e-15 -9.20097e-15 +83 1 0.839798 6.71838 0.839798 2.33147e-15 -2.83107e-15 3.58047e-15 +84 1 0 7.55818 0.839798 -7.99361e-15 -1.11022e-15 3.05311e-15 +85 1 1.6796 6.71838 0 1.38778e-16 -2.72005e-15 -8.99281e-15 +86 1 2.51939 7.55818 0 -2.69229e-15 1.55431e-15 -8.43769e-15 +87 1 2.51939 6.71838 0.839798 -7.91034e-16 -2.83801e-15 3.56659e-15 +88 1 1.6796 7.55818 0.839798 4.64906e-16 -5.55112e-17 3.10862e-15 +89 1 3.35919 6.71838 0 1.27398e-14 -2.10942e-15 -8.04912e-15 +90 1 4.19899 7.55818 0 -2.46053e-14 -2.22045e-16 -6.21725e-15 +91 1 4.19899 6.71838 0.839798 -2.40225e-14 -4.89886e-15 2.67841e-15 +92 1 3.35919 7.55818 0.839798 1.36349e-14 -5.55112e-17 2.66454e-15 +93 1 5.03879 6.71838 0 3.19189e-16 -3.71925e-15 -7.32747e-15 +94 1 5.87859 7.55818 0 2.2593e-14 0 -7.10543e-15 +95 1 5.87859 6.71838 0.839798 2.19269e-14 -2.62984e-15 2.45637e-15 +96 1 5.03879 7.55818 0.839798 -4.16334e-16 -8.32667e-17 2.05391e-15 +97 1 6.71838 6.71838 0 -2.60902e-15 -2.42861e-15 -7.99361e-15 +98 1 7.55818 7.55818 0 -4.44089e-16 -8.88178e-16 -8.88178e-15 +99 1 7.55818 6.71838 0.839798 -1.66533e-16 -2.22045e-15 2.55351e-15 +100 1 6.71838 7.55818 0.839798 -3.16414e-15 2.77556e-17 2.78944e-15 +101 1 0 0 1.6796 -1.15463e-14 -1.04361e-14 -8.88178e-16 +102 1 0.839798 0.839798 1.6796 2.44249e-15 2.56739e-15 6.66134e-16 +103 1 0.839798 0 2.51939 2.66454e-15 -9.65894e-15 -1.52656e-16 +104 1 0 0.839798 2.51939 -1.15463e-14 2.9976e-15 3.88578e-16 +105 1 1.6796 0 1.6796 2.15106e-16 -9.76996e-15 0 +106 1 2.51939 0.839798 1.6796 -1.71391e-15 2.66454e-15 3.88578e-16 +107 1 2.51939 0 2.51939 -1.74166e-15 -1.06581e-14 -1.60982e-15 +108 1 1.6796 0.839798 2.51939 2.63678e-16 3.10862e-15 -1.67227e-15 +109 1 3.35919 0 1.6796 1.42039e-14 -8.88178e-15 8.88178e-16 +110 1 4.19899 0.839798 1.6796 -2.18159e-14 2.44249e-15 -6.10623e-16 +111 1 4.19899 0 2.51939 -2.31759e-14 -9.76996e-15 -1.66533e-15 +112 1 3.35919 0.839798 2.51939 1.4419e-14 2.88658e-15 -1.90126e-15 +113 1 5.03879 0 1.6796 9.08995e-16 -9.76996e-15 8.88178e-16 +114 1 5.87859 0.839798 1.6796 2.02685e-14 2.44249e-15 1.02696e-15 +115 1 5.87859 0 2.51939 2.0213e-14 -8.88178e-15 -1.27676e-15 +116 1 5.03879 0.839798 2.51939 2.91434e-16 3.10862e-15 -1.45023e-15 +117 1 6.71838 0 1.6796 -2.30371e-15 -9.65894e-15 -9.02056e-17 +118 1 7.55818 0.839798 1.6796 3.747e-16 2.16493e-15 1.04083e-16 +119 1 7.55818 0 2.51939 1.33227e-15 -9.76996e-15 -1.9984e-15 +120 1 6.71838 0.839798 2.51939 -3.10862e-15 2.90046e-15 -2.10942e-15 +121 1 0 1.6796 1.6796 -1.28786e-14 8.88178e-16 6.66134e-16 +122 1 0.839798 2.51939 1.6796 2.33147e-15 -1.43635e-15 1.11022e-16 +123 1 0.839798 1.6796 2.51939 2.66454e-15 7.35523e-16 -1.30451e-15 +124 1 0 2.51939 2.51939 -9.76996e-15 -1.249e-15 -1.4988e-15 +125 1 1.6796 1.6796 1.6796 2.22045e-16 -1.67921e-15 5.96745e-16 +126 1 2.51939 2.51939 1.6796 -8.95117e-16 -2.39392e-15 -1.3739e-15 +127 1 2.51939 1.6796 2.51939 -9.22873e-16 1.38778e-17 -1.17267e-15 +128 1 1.6796 2.51939 2.51939 1.38778e-16 -1.4988e-15 -2.498e-15 +129 1 3.35919 1.6796 1.6796 1.44329e-14 -1.58207e-15 5.27356e-16 +130 1 4.19899 2.51939 1.6796 -2.17534e-14 -1.89432e-15 -4.85723e-16 +131 1 4.19899 1.6796 2.51939 -2.2024e-14 4.64906e-16 -2.11636e-15 +132 1 3.35919 2.51939 2.51939 1.47937e-14 -1.55431e-15 -2.52576e-15 +133 1 5.03879 1.6796 1.6796 6.38378e-16 -4.78784e-16 8.46545e-16 +134 1 5.87859 2.51939 1.6796 2.05322e-14 -1.4086e-15 2.28983e-16 +135 1 5.87859 1.6796 2.51939 2.02546e-14 -2.56739e-16 -2.07473e-15 +136 1 5.03879 2.51939 2.51939 5.82867e-16 -2.16493e-15 -2.498e-15 +137 1 6.71838 1.6796 1.6796 -2.16493e-15 -9.4369e-16 5.55112e-17 +138 1 7.55818 2.51939 1.6796 -4.44089e-16 -1.11022e-15 -2.77556e-17 +139 1 7.55818 1.6796 2.51939 4.44089e-16 -6.93889e-18 -2.22045e-15 +140 1 6.71838 2.51939 2.51939 -3.27516e-15 -1.76248e-15 -2.55351e-15 +141 1 0 3.35919 1.6796 -1.11022e-14 1.39888e-14 -2.22045e-16 +142 1 0.839798 4.19899 1.6796 2.55351e-15 -2.46053e-14 -7.77156e-16 +143 1 0.839798 3.35919 2.51939 2.88658e-15 1.46688e-14 -1.47105e-15 +144 1 0 4.19899 2.51939 -7.99361e-15 -2.26485e-14 -1.33227e-15 +145 1 1.6796 3.35919 1.6796 2.08167e-16 1.37251e-14 5.41234e-16 +146 1 2.51939 4.19899 1.6796 -1.9082e-15 -2.30926e-14 -1.55431e-15 +147 1 2.51939 3.35919 2.51939 -1.04777e-15 1.5099e-14 -1.77636e-15 +148 1 1.6796 4.19899 2.51939 -2.01228e-16 -2.22045e-14 -2.27596e-15 +149 1 3.35919 3.35919 1.6796 1.39194e-14 1.31006e-14 3.46945e-16 +150 1 4.19899 4.19899 1.6796 -2.1802e-14 -2.22045e-14 -4.44089e-16 +151 1 4.19899 3.35919 2.51939 -2.31759e-14 1.11022e-14 -2.44249e-15 +152 1 3.35919 4.19899 2.51939 1.19696e-14 -2.30926e-14 -1.38778e-15 +153 1 5.03879 3.35919 1.6796 -6.93889e-18 1.12688e-14 1.38778e-16 +154 1 5.87859 4.19899 1.6796 2.09208e-14 -2.22045e-14 -4.44089e-16 +155 1 5.87859 3.35919 2.51939 2.10595e-14 1.06581e-14 -1.9984e-15 +156 1 5.03879 4.19899 2.51939 -2.22045e-16 -2.13163e-14 -2.05391e-15 +157 1 6.71838 3.35919 1.6796 -2.96291e-15 1.29619e-14 -1.11716e-15 +158 1 7.55818 4.19899 1.6796 1.11022e-15 -2.30926e-14 -1.52656e-15 +159 1 7.55818 3.35919 2.51939 4.44089e-16 1.40998e-14 -8.88178e-16 +160 1 6.71838 4.19899 2.51939 -2.83107e-15 -2.29539e-14 -1.73472e-15 +161 1 0 5.03879 1.6796 -7.99361e-15 1.11022e-15 -4.44089e-16 +162 1 0.839798 5.87859 1.6796 2.44249e-15 1.9991e-14 2.77556e-16 +163 1 0.839798 5.03879 2.51939 2.88658e-15 6.80012e-16 -1.66533e-16 +164 1 0 5.87859 2.51939 -7.99361e-15 2.1011e-14 -1.77636e-15 +165 1 1.6796 5.03879 1.6796 4.71845e-16 -3.33067e-16 -1.11022e-16 +166 1 2.51939 5.87859 1.6796 -8.88178e-16 2.06501e-14 8.04912e-16 +167 1 2.51939 5.03879 2.51939 -2.06085e-15 -2.22045e-16 -1.08941e-15 +168 1 1.6796 5.87859 2.51939 2.63678e-16 2.05669e-14 -2.28983e-15 +169 1 3.35919 5.03879 1.6796 1.12202e-14 -1.11022e-15 6.93889e-16 +170 1 4.19899 5.87859 1.6796 -2.19824e-14 2.13163e-14 6.52256e-16 +171 1 4.19899 5.03879 2.51939 -1.94983e-14 -2.22045e-16 -1.7486e-15 +172 1 3.35919 5.87859 2.51939 1.26982e-14 2.15383e-14 -1.8735e-15 +173 1 5.03879 5.03879 1.6796 6.245e-17 -9.99201e-16 6.38378e-16 +174 1 5.87859 5.87859 1.6796 2.06501e-14 2.06501e-14 3.33067e-16 +175 1 5.87859 5.03879 2.51939 1.84575e-14 1.11022e-15 -8.04912e-16 +176 1 5.03879 5.87859 2.51939 -2.22045e-16 1.88322e-14 -2.51188e-15 +177 1 6.71838 5.03879 1.6796 -3.22659e-15 -1.26288e-15 -2.22045e-16 +178 1 7.55818 5.87859 1.6796 2.22045e-16 2.19824e-14 8.60423e-16 +179 1 7.55818 5.03879 2.51939 -8.88178e-16 1.11022e-16 -1.77636e-15 +180 1 6.71838 5.87859 2.51939 -2.9976e-15 2.17326e-14 -2.78944e-15 +181 1 0 6.71838 1.6796 -9.76996e-15 -2.88658e-15 0 +182 1 0.839798 7.55818 1.6796 2.10942e-15 1.17961e-15 9.15934e-16 +183 1 0.839798 6.71838 2.51939 2.66454e-15 -3.10862e-15 -1.19349e-15 +184 1 0 7.55818 2.51939 -1.06581e-14 8.88178e-16 -2.77556e-15 +185 1 1.6796 6.71838 1.6796 1.38778e-16 -2.31759e-15 -3.19189e-16 +186 1 2.51939 7.55818 1.6796 -1.1241e-15 8.8124e-16 -1.249e-16 +187 1 2.51939 6.71838 2.51939 -1.19349e-15 -3.10862e-15 -2.96985e-15 +188 1 1.6796 7.55818 2.51939 2.77556e-17 2.22045e-16 -1.9984e-15 +189 1 3.35919 6.71838 1.6796 1.29757e-14 -2.02616e-15 -5.06539e-16 +190 1 4.19899 7.55818 1.6796 -2.29122e-14 1.06859e-15 -2.91434e-16 +191 1 4.19899 6.71838 2.51939 -2.36616e-14 -4.60743e-15 -2.9976e-15 +192 1 3.35919 7.55818 2.51939 1.28508e-14 2.22045e-16 -2.22045e-15 +193 1 5.03879 6.71838 1.6796 1.31839e-16 -2.53964e-15 -6.52256e-16 +194 1 5.87859 7.55818 1.6796 2.15661e-14 7.63278e-16 -9.71445e-16 +195 1 5.87859 6.71838 2.51939 2.18089e-14 -3.88578e-15 -2.63678e-15 +196 1 5.03879 7.55818 2.51939 0 -6.66134e-16 -1.9984e-15 +197 1 6.71838 6.71838 1.6796 -2.24126e-15 -2.59515e-15 -1.0339e-15 +198 1 7.55818 7.55818 1.6796 4.44089e-16 0 -8.32667e-17 +199 1 7.55818 6.71838 2.51939 -8.88178e-16 -2.27596e-15 -1.77636e-15 +200 1 6.71838 7.55818 2.51939 -3.21965e-15 -9.71445e-17 -2.35922e-15 +201 1 0 0 3.35919 -1.06581e-14 -1.04361e-14 1.35447e-14 +202 1 0.839798 0.839798 3.35919 2.66454e-15 2.67841e-15 1.50435e-14 +203 1 0.839798 0 4.19899 2.88658e-15 -9.65894e-15 -2.24473e-14 +204 1 0 0.839798 4.19899 -7.99361e-15 2.88658e-15 -2.26485e-14 +205 1 1.6796 0 3.35919 2.15106e-16 -8.88178e-15 1.42109e-14 +206 1 2.51939 0.839798 3.35919 -1.83881e-15 2.77556e-15 1.55431e-14 +207 1 2.51939 0 4.19899 -1.76942e-15 -8.88178e-15 -2.35367e-14 +208 1 1.6796 0.839798 4.19899 -3.53884e-16 2.66454e-15 -2.19824e-14 +209 1 3.35919 0 3.35919 1.37598e-14 -7.99361e-15 1.46549e-14 +210 1 4.19899 0.839798 3.35919 -2.30232e-14 2.66454e-15 1.19071e-14 +211 1 4.19899 0 4.19899 -2.28637e-14 -7.10543e-15 -2.35367e-14 +212 1 3.35919 0.839798 4.19899 1.17892e-14 2.66454e-15 -2.28706e-14 +213 1 5.03879 0 3.35919 2.08167e-17 -7.99361e-15 1.08802e-14 +214 1 5.87859 0.839798 3.35919 2.2489e-14 2.55351e-15 1.36002e-14 +215 1 5.87859 0 4.19899 2.18922e-14 -5.32907e-15 -2.28706e-14 +216 1 5.03879 0.839798 4.19899 -1.25594e-15 2.66454e-15 -2.2024e-14 +217 1 6.71838 0 3.35919 -2.47025e-15 -8.77076e-15 1.29619e-14 +218 1 7.55818 0.839798 3.35919 -1.11022e-15 2.60902e-15 1.4766e-14 +219 1 7.55818 0 4.19899 -4.44089e-16 -6.66134e-15 -2.39808e-14 +220 1 6.71838 0.839798 4.19899 -2.60902e-15 2.90046e-15 -2.30371e-14 +221 1 0 1.6796 3.35919 -1.11022e-14 -2.22045e-16 1.44329e-14 +222 1 0.839798 2.51939 3.35919 2.77556e-15 -5.68989e-16 1.53766e-14 +223 1 0.839798 1.6796 4.19899 2.66454e-15 1.52656e-16 -2.39253e-14 +224 1 0 2.51939 4.19899 -8.88178e-15 -1.63758e-15 -2.37588e-14 +225 1 1.6796 1.6796 3.35919 2.22045e-16 -7.91034e-16 1.5779e-14 +226 1 2.51939 2.51939 3.35919 -1.4086e-15 -9.15934e-16 1.38917e-14 +227 1 2.51939 1.6796 4.19899 -1.72778e-15 2.84495e-16 -2.30926e-14 +228 1 1.6796 2.51939 4.19899 -7.28584e-16 -8.88178e-16 -2.2482e-14 +229 1 3.35919 1.6796 3.35919 1.39888e-14 -2.77556e-17 1.57235e-14 +230 1 4.19899 2.51939 3.35919 -2.32939e-14 -1.98452e-15 1.25663e-14 +231 1 4.19899 1.6796 4.19899 -2.16285e-14 -2.22045e-16 -2.22045e-14 +232 1 3.35919 2.51939 4.19899 1.21222e-14 -1.60982e-15 -2.33147e-14 +233 1 5.03879 1.6796 3.35919 -2.498e-16 -9.22873e-16 1.29757e-14 +234 1 5.87859 2.51939 3.35919 2.13649e-14 -9.71445e-17 1.28855e-14 +235 1 5.87859 1.6796 4.19899 2.10457e-14 -1.0339e-15 -2.22045e-14 +236 1 5.03879 2.51939 4.19899 -5.13478e-16 -2.05391e-15 -2.16771e-14 +237 1 6.71838 1.6796 3.35919 -3.19883e-15 -4.996e-16 1.39264e-14 +238 1 7.55818 2.51939 3.35919 -4.44089e-16 -2.22045e-15 1.29896e-14 +239 1 7.55818 1.6796 4.19899 6.66134e-16 -5.06539e-16 -2.4869e-14 +240 1 6.71838 2.51939 4.19899 -2.498e-15 -1.90126e-15 -2.40918e-14 +241 1 0 3.35919 3.35919 -1.11022e-14 1.35447e-14 1.33227e-14 +242 1 0.839798 4.19899 3.35919 2.77556e-15 -2.37171e-14 1.12133e-14 +243 1 0.839798 3.35919 4.19899 2.66454e-15 1.23929e-14 -2.45498e-14 +244 1 0 4.19899 4.19899 -7.10543e-15 -2.35367e-14 -2.29816e-14 +245 1 1.6796 3.35919 3.35919 2.08167e-16 1.33782e-14 1.51545e-14 +246 1 2.51939 4.19899 3.35919 -1.46411e-15 -2.13163e-14 1.06581e-14 +247 1 2.51939 3.35919 4.19899 -2.2829e-15 1.26565e-14 -2.33147e-14 +248 1 1.6796 4.19899 4.19899 -2.84495e-16 -2.30926e-14 -2.17604e-14 +249 1 3.35919 3.35919 3.35919 1.27814e-14 1.27121e-14 1.41553e-14 +250 1 4.19899 4.19899 3.35919 -2.30857e-14 -2.22045e-14 8.88178e-15 +251 1 4.19899 3.35919 4.19899 -2.29677e-14 9.32587e-15 -2.44249e-14 +252 1 3.35919 4.19899 4.19899 9.80466e-15 -2.30926e-14 -2.24265e-14 +253 1 5.03879 3.35919 3.35919 -2.28983e-16 1.00475e-14 1.12133e-14 +254 1 5.87859 4.19899 3.35919 2.19824e-14 -2.30926e-14 9.32587e-15 +255 1 5.87859 3.35919 4.19899 2.17881e-14 1.06581e-14 -2.53131e-14 +256 1 5.03879 4.19899 4.19899 -3.53884e-16 -2.04281e-14 -2.10942e-14 +257 1 6.71838 3.35919 3.35919 -3.1225e-15 1.29619e-14 1.27814e-14 +258 1 7.55818 4.19899 3.35919 6.66134e-16 -2.4647e-14 9.76996e-15 +259 1 7.55818 3.35919 4.19899 4.44089e-16 1.05749e-14 -2.53131e-14 +260 1 6.71838 4.19899 4.19899 -3.16414e-15 -2.29816e-14 -2.33424e-14 +261 1 0 5.03879 3.35919 -7.99361e-15 4.44089e-16 1.15463e-14 +262 1 0.839798 5.87859 3.35919 2.44249e-15 2.17673e-14 1.32672e-14 +263 1 0.839798 5.03879 4.19899 2.88658e-15 1.94289e-16 -2.1233e-14 +264 1 0 5.87859 4.19899 -6.21725e-15 2.16216e-14 -2.37588e-14 +265 1 1.6796 5.03879 3.35919 2.498e-16 -5.55112e-16 1.17684e-14 +266 1 2.51939 5.87859 3.35919 -1.11022e-15 2.13163e-14 1.34337e-14 +267 1 2.51939 5.03879 4.19899 -2.14412e-15 8.88178e-16 -2.12053e-14 +268 1 1.6796 5.87859 4.19899 2.498e-16 2.09971e-14 -2.13163e-14 +269 1 3.35919 5.03879 3.35919 1.09981e-14 -4.44089e-16 1.1241e-14 +270 1 4.19899 5.87859 3.35919 -2.33147e-14 2.19824e-14 1.00406e-14 +271 1 4.19899 5.03879 4.19899 -2.07542e-14 -4.44089e-16 -2.11775e-14 +272 1 3.35919 5.87859 4.19899 1.04916e-14 2.26069e-14 -2.22045e-14 +273 1 5.03879 5.03879 3.35919 6.245e-17 -3.33067e-16 8.27116e-15 +274 1 5.87859 5.87859 3.35919 2.19824e-14 2.10942e-14 9.47159e-15 +275 1 5.87859 5.03879 4.19899 1.91305e-14 4.44089e-16 -2.11775e-14 +276 1 5.03879 5.87859 4.19899 3.05311e-16 1.99285e-14 -2.13163e-14 +277 1 6.71838 5.03879 3.35919 -2.26208e-15 2.91434e-16 1.09773e-14 +278 1 7.55818 5.87859 3.35919 2.22045e-16 2.33147e-14 9.88098e-15 +279 1 7.55818 5.03879 4.19899 -4.44089e-16 5.55112e-16 -2.28706e-14 +280 1 6.71838 5.87859 4.19899 -3.10862e-15 2.27873e-14 -2.21212e-14 +281 1 0 6.71838 3.35919 -9.76996e-15 -3.77476e-15 1.31006e-14 +282 1 0.839798 7.55818 3.35919 2.22045e-15 3.46945e-16 1.46827e-14 +283 1 0.839798 6.71838 4.19899 2.66454e-15 -2.498e-15 -2.40086e-14 +284 1 0 7.55818 4.19899 -8.88178e-15 -2.22045e-16 -2.48135e-14 +285 1 1.6796 6.71838 3.35919 1.38778e-16 -2.25514e-15 1.30868e-14 +286 1 2.51939 7.55818 3.35919 -2.23432e-15 7.21645e-16 1.35447e-14 +287 1 2.51939 6.71838 4.19899 -1.64452e-15 -2.66454e-15 -2.40918e-14 +288 1 1.6796 7.55818 4.19899 -3.05311e-16 2.22045e-16 -2.39808e-14 +289 1 3.35919 6.71838 3.35919 1.25316e-14 -2.85189e-15 1.33574e-14 +290 1 4.19899 7.55818 3.35919 -2.53617e-14 -5.55112e-17 1.02141e-14 +291 1 4.19899 6.71838 4.19899 -2.41057e-14 -2.94209e-15 -2.32314e-14 +292 1 3.35919 7.55818 4.19899 1.14075e-14 2.22045e-16 -2.37588e-14 +293 1 5.03879 6.71838 3.35919 -3.1225e-16 -3.36536e-15 9.20097e-15 +294 1 5.87859 7.55818 3.35919 2.31273e-14 1.11022e-16 1.01585e-14 +295 1 5.87859 6.71838 4.19899 2.2711e-14 -3.4972e-15 -2.40918e-14 +296 1 5.03879 7.55818 4.19899 -8.32667e-17 6.66134e-16 -2.24265e-14 +297 1 6.71838 6.71838 3.35919 -3.13638e-15 -2.97679e-15 1.16573e-14 +298 1 7.55818 7.55818 3.35919 -4.44089e-16 -4.44089e-16 1.2268e-14 +299 1 7.55818 6.71838 4.19899 -4.44089e-16 -3.16414e-15 -2.62013e-14 +300 1 6.71838 7.55818 4.19899 -1.9984e-15 -1.52656e-16 -2.6118e-14 +301 1 0 0 5.03879 -7.99361e-15 -6.66134e-15 2.22045e-16 +302 1 0.839798 0.839798 5.03879 2.33147e-15 2.45637e-15 1.11022e-16 +303 1 0.839798 0 5.87859 2.44249e-15 -6.10623e-15 2.20934e-14 +304 1 0 0.839798 5.87859 -7.99361e-15 2.35922e-15 2.17604e-14 +305 1 1.6796 0 5.03879 -3.33067e-16 -8.88178e-15 0 +306 1 2.51939 0.839798 5.03879 -1.30451e-15 2.44249e-15 1.16573e-15 +307 1 2.51939 0 5.87859 -1.73472e-15 -7.10543e-15 2.13163e-14 +308 1 1.6796 0.839798 5.87859 2.77556e-17 3.33067e-15 2.08791e-14 +309 1 3.35919 0 5.03879 1.10051e-14 -7.99361e-15 6.66134e-16 +310 1 4.19899 0.839798 5.03879 -2.01922e-14 2.55351e-15 3.33067e-16 +311 1 4.19899 0 5.87859 -2.36061e-14 -4.44089e-15 2.226e-14 +312 1 3.35919 0.839798 5.87859 1.25663e-14 2.88658e-15 2.29261e-14 +313 1 5.03879 0 5.03879 -2.63678e-16 -6.21725e-15 1.11022e-15 +314 1 5.87859 0.839798 5.03879 1.90889e-14 2.66454e-15 1.22125e-15 +315 1 5.87859 0 5.87859 2.1913e-14 -4.44089e-15 2.19269e-14 +316 1 5.03879 0.839798 5.87859 -2.28983e-16 3.10862e-15 2.01297e-14 +317 1 6.71838 0 5.03879 -3.21965e-15 -4.38538e-15 7.49401e-16 +318 1 7.55818 0.839798 5.03879 -4.44089e-16 2.19269e-15 2.44249e-15 +319 1 7.55818 0 5.87859 -4.44089e-16 -7.32747e-15 2.37588e-14 +320 1 6.71838 0.839798 5.87859 -2.55351e-15 2.67841e-15 2.34257e-14 +321 1 0 1.6796 5.03879 -7.10543e-15 -6.66134e-16 8.88178e-16 +322 1 0.839798 2.51939 5.03879 2.44249e-15 -1.19349e-15 -2.77556e-17 +323 1 0.839798 1.6796 5.87859 2.66454e-15 -7.07767e-16 2.14273e-14 +324 1 0 2.51939 5.87859 -7.99361e-15 -1.66533e-15 2.14828e-14 +325 1 1.6796 1.6796 5.03879 1.94289e-16 -5.48173e-16 4.44089e-16 +326 1 2.51939 2.51939 5.03879 -1.02696e-15 -1.26288e-15 -7.56339e-16 +327 1 2.51939 1.6796 5.87859 -8.88178e-16 9.71445e-17 2.10942e-14 +328 1 1.6796 2.51939 5.87859 1.38778e-17 -6.10623e-16 2.04003e-14 +329 1 3.35919 1.6796 5.03879 1.18031e-14 2.42861e-16 -2.22045e-16 +330 1 4.19899 2.51939 5.03879 -2.02546e-14 -2.13024e-15 3.53884e-16 +331 1 4.19899 1.6796 5.87859 -2.17604e-14 -1.80411e-16 2.13163e-14 +332 1 3.35919 2.51939 5.87859 1.22541e-14 -7.21645e-16 2.11497e-14 +333 1 5.03879 1.6796 5.03879 8.95117e-16 -5.75928e-16 8.88178e-16 +334 1 5.87859 2.51939 5.03879 1.87558e-14 -8.04912e-16 1.24206e-15 +335 1 5.87859 1.6796 5.87859 2.08722e-14 -3.46945e-16 2.10942e-14 +336 1 5.03879 2.51939 5.87859 1.20737e-15 -3.88578e-16 1.87628e-14 +337 1 6.71838 1.6796 5.03879 -3.00454e-15 -8.95117e-16 -4.16334e-17 +338 1 7.55818 2.51939 5.03879 -8.88178e-16 -1.77636e-15 9.4369e-16 +339 1 7.55818 1.6796 5.87859 2.22045e-16 9.4369e-16 2.22045e-14 +340 1 6.71838 2.51939 5.87859 -2.94209e-15 -1.17961e-15 2.15106e-14 +341 1 0 3.35919 5.03879 -7.99361e-15 1.06581e-14 0 +342 1 0.839798 4.19899 5.03879 2.66454e-15 -2.28359e-14 -1.38778e-16 +343 1 0.839798 3.35919 5.87859 2.44249e-15 1.19904e-14 2.33008e-14 +344 1 0 4.19899 5.87859 -6.21725e-15 -2.33147e-14 2.226e-14 +345 1 1.6796 3.35919 5.03879 2.08167e-16 1.11577e-14 4.996e-16 +346 1 2.51939 4.19899 5.03879 -1.74166e-15 -2.13163e-14 -4.44089e-16 +347 1 2.51939 3.35919 5.87859 -1.19349e-15 1.15463e-14 2.17604e-14 +348 1 1.6796 4.19899 5.87859 -5.55112e-17 -2.04281e-14 2.13718e-14 +349 1 3.35919 3.35919 5.03879 1.08177e-14 1.04916e-14 -2.77556e-16 +350 1 4.19899 4.19899 5.03879 -2.10457e-14 -2.13163e-14 -1.9984e-15 +351 1 4.19899 3.35919 5.87859 -2.33286e-14 9.76996e-15 2.15383e-14 +352 1 3.35919 4.19899 5.87859 1.03251e-14 -2.13163e-14 2.30926e-14 +353 1 5.03879 3.35919 5.03879 6.38378e-16 6.71685e-15 -1.66533e-16 +354 1 5.87859 4.19899 5.03879 1.88877e-14 -2.13163e-14 -4.44089e-16 +355 1 5.87859 3.35919 5.87859 2.20379e-14 9.99201e-15 2.24265e-14 +356 1 5.03879 4.19899 5.87859 9.71445e-17 -1.95399e-14 2.00395e-14 +357 1 6.71838 3.35919 5.03879 -2.92821e-15 9.64506e-15 -1.42941e-15 +358 1 7.55818 4.19899 5.03879 -2.22045e-16 -2.26485e-14 8.88178e-16 +359 1 7.55818 3.35919 5.87859 0 1.21014e-14 2.33147e-14 +360 1 6.71838 4.19899 5.87859 -3.4972e-15 -2.11775e-14 2.40086e-14 +361 1 0 5.03879 5.03879 -4.44089e-15 1.11022e-15 4.44089e-16 +362 1 0.839798 5.87859 5.03879 2.10942e-15 1.80897e-14 3.33067e-16 +363 1 0.839798 5.03879 5.87859 2.88658e-15 1.38778e-17 1.93734e-14 +364 1 0 5.87859 5.87859 -5.32907e-15 2.22322e-14 2.29261e-14 +365 1 1.6796 5.03879 5.03879 -2.08167e-16 -3.33067e-16 -4.996e-16 +366 1 2.51939 5.87859 5.03879 -1.56819e-15 1.85754e-14 2.44249e-15 +367 1 2.51939 5.03879 5.87859 -1.56819e-15 2.22045e-16 2.07334e-14 +368 1 1.6796 5.87859 5.87859 3.46945e-16 2.06085e-14 2.06155e-14 +369 1 3.35919 5.03879 5.03879 8.10463e-15 -2.22045e-16 6.66134e-16 +370 1 4.19899 5.87859 5.03879 -2.05252e-14 1.93803e-14 8.88178e-16 +371 1 4.19899 5.03879 5.87859 -2.11428e-14 1.11022e-15 1.98105e-14 +372 1 3.35919 5.87859 5.87859 1.05194e-14 2.16355e-14 2.19477e-14 +373 1 5.03879 5.03879 5.03879 -1.38778e-17 0 2.77556e-17 +374 1 5.87859 5.87859 5.03879 1.91513e-14 1.84922e-14 1.77636e-15 +375 1 5.87859 5.03879 5.87859 1.93248e-14 8.88178e-16 1.91375e-14 +376 1 5.03879 5.87859 5.87859 3.46945e-16 1.88322e-14 1.95607e-14 +377 1 6.71838 5.03879 5.03879 -3.06699e-15 6.93889e-17 -4.57967e-16 +378 1 7.55818 5.87859 5.03879 0 2.04281e-14 -4.44089e-16 +379 1 7.55818 5.03879 5.87859 4.44089e-16 5.82867e-16 2.19824e-14 +380 1 6.71838 5.87859 5.87859 -3.55271e-15 2.33841e-14 2.40086e-14 +381 1 0 6.71838 5.03879 -7.54952e-15 -4.44089e-15 8.88178e-16 +382 1 0.839798 7.55818 5.03879 2.33147e-15 -4.85723e-16 2.41474e-15 +383 1 0.839798 6.71838 5.87859 3.10862e-15 -1.33227e-15 2.21906e-14 +384 1 0 7.55818 5.87859 -6.21725e-15 0 2.35922e-14 +385 1 1.6796 6.71838 5.03879 6.45317e-16 -3.44863e-15 -2.63678e-16 +386 1 2.51939 7.55818 5.03879 -1.96371e-15 -5.55112e-17 5.55112e-16 +387 1 2.51939 6.71838 5.87859 -1.55431e-15 -1.66533e-15 2.21767e-14 +388 1 1.6796 7.55818 5.87859 3.46945e-16 6.66134e-16 2.19824e-14 +389 1 3.35919 6.71838 5.03879 1.04777e-14 -3.17107e-15 8.46545e-16 +390 1 4.19899 7.55818 5.03879 -2.16979e-14 1.66533e-16 2.10942e-15 +391 1 4.19899 6.71838 5.87859 -2.39531e-14 -2.88658e-15 2.22045e-14 +392 1 3.35919 7.55818 5.87859 1.07414e-14 2.22045e-16 2.33147e-14 +393 1 5.03879 6.71838 5.03879 3.67761e-16 -3.74006e-15 4.02456e-16 +394 1 5.87859 7.55818 5.03879 2.08999e-14 2.77556e-16 2.22045e-16 +395 1 5.87859 6.71838 5.87859 2.30649e-14 -1.94289e-15 2.37588e-14 +396 1 5.03879 7.55818 5.87859 1.38778e-16 2.22045e-16 2.13163e-14 +397 1 6.71838 6.71838 5.03879 -3.53884e-15 -3.51802e-15 -8.32667e-17 +398 1 7.55818 7.55818 5.03879 0 0 3.33067e-16 +399 1 7.55818 6.71838 5.87859 0 -3.55271e-15 2.44249e-14 +400 1 6.71838 7.55818 5.87859 -3.44169e-15 9.99201e-16 2.4647e-14 +401 1 0 0 6.71838 -9.76996e-15 -9.54792e-15 -3.77476e-15 +402 1 0.839798 0.839798 6.71838 2.66454e-15 2.67841e-15 -2.72005e-15 +403 1 0.839798 0 7.55818 2.55351e-15 -7.92422e-15 -7.21645e-16 +404 1 0 0.839798 7.55818 -7.99361e-15 2.56739e-15 -4.44089e-16 +405 1 1.6796 0 6.71838 2.498e-16 -8.88178e-15 -3.55271e-15 +406 1 2.51939 0.839798 6.71838 -1.8735e-15 2.77556e-15 -3.60822e-15 +407 1 2.51939 0 7.55818 -2.30371e-15 -7.10543e-15 6.66134e-16 +408 1 1.6796 0.839798 7.55818 1.16573e-15 2.55351e-15 3.33067e-16 +409 1 3.35919 0 6.71838 1.26704e-14 -7.10543e-15 -3.10862e-15 +410 1 4.19899 0.839798 6.71838 -2.40641e-14 2.44249e-15 -4.69069e-15 +411 1 4.19899 0 7.55818 -2.46123e-14 -7.10543e-15 -6.66134e-16 +412 1 3.35919 0.839798 7.55818 1.24484e-14 2.55351e-15 1.33227e-15 +413 1 5.03879 0 6.71838 2.63678e-16 -6.21725e-15 -3.9968e-15 +414 1 5.87859 0.839798 6.71838 2.22253e-14 2.55351e-15 -2.38698e-15 +415 1 5.87859 0 7.55818 2.26069e-14 -6.21725e-15 -6.66134e-16 +416 1 5.03879 0.839798 7.55818 -1.66533e-16 2.77556e-15 1.66533e-16 +417 1 6.71838 0 6.71838 -2.498e-15 -6.99441e-15 -4.16334e-15 +418 1 7.55818 0.839798 6.71838 -1.16573e-15 2.60902e-15 -3.10862e-15 +419 1 7.55818 0 7.55818 -4.44089e-16 -8.65974e-15 -8.88178e-16 +420 1 6.71838 0.839798 7.55818 -3.16414e-15 2.45637e-15 6.66134e-16 +421 1 0 1.6796 6.71838 -9.32587e-15 -4.44089e-16 -3.33067e-15 +422 1 0.839798 2.51939 6.71838 2.9976e-15 -1.49186e-15 -3.69149e-15 +423 1 0.839798 1.6796 7.55818 2.55351e-15 7.49401e-16 8.88178e-16 +424 1 0 2.51939 7.55818 -8.88178e-15 -2.28983e-15 8.88178e-16 +425 1 1.6796 1.6796 6.71838 2.08167e-16 -7.63278e-16 -3.20577e-15 +426 1 2.51939 2.51939 6.71838 -1.38778e-15 -1.06165e-15 -4.37844e-15 +427 1 2.51939 1.6796 7.55818 -1.4988e-15 3.33067e-16 -3.26128e-16 +428 1 1.6796 2.51939 7.55818 1.38778e-16 -1.4988e-15 3.05311e-16 +429 1 3.35919 1.6796 6.71838 1.30312e-14 -8.95117e-16 -3.41394e-15 +430 1 4.19899 2.51939 6.71838 -2.33355e-14 -1.58901e-15 -5.10703e-15 +431 1 4.19899 1.6796 7.55818 -2.35506e-14 -4.23273e-16 3.46945e-17 +432 1 3.35919 2.51939 7.55818 1.32186e-14 -1.16573e-15 8.04912e-16 +433 1 5.03879 1.6796 6.71838 0 -5.68989e-16 -2.42861e-15 +434 1 5.87859 2.51939 6.71838 2.25098e-14 -1.25594e-15 -3.50414e-15 +435 1 5.87859 1.6796 7.55818 2.22322e-14 -6.93889e-17 2.28983e-16 +436 1 5.03879 2.51939 7.55818 3.60822e-16 -1.60982e-15 1.11022e-15 +437 1 6.71838 1.6796 6.71838 -3.21271e-15 -5.06539e-16 -3.48332e-15 +438 1 7.55818 2.51939 6.71838 -2.22045e-16 -1.77636e-15 -3.44169e-15 +439 1 7.55818 1.6796 7.55818 8.88178e-16 2.08167e-16 4.44089e-16 +440 1 6.71838 2.51939 7.55818 -2.60902e-15 -9.85323e-16 -2.498e-16 +441 1 0 3.35919 6.71838 -1.02141e-14 1.33227e-14 -3.33067e-15 +442 1 0.839798 4.19899 6.71838 2.77556e-15 -2.37171e-14 -3.94129e-15 +443 1 0.839798 3.35919 7.55818 2.55351e-15 1.37113e-14 1.94289e-15 +444 1 0 4.19899 7.55818 -7.99361e-15 -2.4647e-14 -6.66134e-16 +445 1 1.6796 3.35919 6.71838 2.22045e-16 1.2601e-14 -1.94289e-15 +446 1 2.51939 4.19899 6.71838 -1.70697e-15 -2.30926e-14 -4.66294e-15 +447 1 2.51939 3.35919 7.55818 -1.94289e-15 1.33227e-14 1.77636e-15 +448 1 1.6796 4.19899 7.55818 -6.38378e-16 -2.30926e-14 1.9984e-15 +449 1 3.35919 3.35919 6.71838 1.28439e-14 1.19904e-14 -2.05391e-15 +450 1 4.19899 4.19899 6.71838 -2.41265e-14 -2.22045e-14 -3.55271e-15 +451 1 4.19899 3.35919 7.55818 -2.48274e-14 1.02141e-14 8.88178e-16 +452 1 3.35919 4.19899 7.55818 1.20182e-14 -2.30926e-14 2.22045e-16 +453 1 5.03879 3.35919 6.71838 -2.35922e-16 9.49241e-15 -1.9984e-15 +454 1 5.87859 4.19899 6.71838 2.29608e-14 -2.39808e-14 -4.66294e-15 +455 1 5.87859 3.35919 7.55818 2.30649e-14 1.15463e-14 1.33227e-15 +456 1 5.03879 4.19899 7.55818 2.77556e-17 -2.30926e-14 1.55431e-15 +457 1 6.71838 3.35919 6.71838 -3.13638e-15 1.16851e-14 -2.09555e-15 +458 1 7.55818 4.19899 6.71838 -2.22045e-16 -2.5091e-14 -2.10942e-15 +459 1 7.55818 3.35919 7.55818 -8.88178e-16 1.28231e-14 4.44089e-16 +460 1 6.71838 4.19899 7.55818 -3.4972e-15 -2.54935e-14 9.99201e-16 +461 1 0 5.03879 6.71838 -7.10543e-15 8.88178e-16 -3.9968e-15 +462 1 0.839798 5.87859 6.71838 2.66454e-15 2.20796e-14 -3.27516e-15 +463 1 0.839798 5.03879 7.55818 3.10862e-15 4.02456e-16 -5.55112e-16 +464 1 0 5.87859 7.55818 -5.32907e-15 2.28151e-14 -2.22045e-16 +465 1 1.6796 5.03879 6.71838 4.44089e-16 -5.55112e-16 -2.63678e-15 +466 1 2.51939 5.87859 6.71838 -1.33227e-15 2.24265e-14 -3.08087e-15 +467 1 2.51939 5.03879 7.55818 -2.13024e-15 3.33067e-16 -3.88578e-16 +468 1 1.6796 5.87859 7.55818 4.57967e-16 2.30371e-14 4.51028e-16 +469 1 3.35919 5.03879 6.71838 1.02279e-14 -1.11022e-16 -2.58127e-15 +470 1 4.19899 5.87859 6.71838 -2.37588e-14 2.30926e-14 -3.37924e-15 +471 1 4.19899 5.03879 7.55818 -2.2489e-14 -2.22045e-16 -3.33067e-16 +472 1 3.35919 5.87859 7.55818 1.17684e-14 2.40502e-14 9.4369e-16 +473 1 5.03879 5.03879 6.71838 2.15106e-16 2.22045e-16 -2.83107e-15 +474 1 5.87859 5.87859 6.71838 2.28706e-14 2.26485e-14 -3.66374e-15 +475 1 5.87859 5.03879 7.55818 2.09346e-14 -3.33067e-16 -1.94289e-16 +476 1 5.03879 5.87859 7.55818 2.35922e-16 2.18159e-14 8.39606e-16 +477 1 6.71838 5.03879 6.71838 -3.3723e-15 -2.63678e-16 -2.04003e-15 +478 1 7.55818 5.87859 6.71838 -2.22045e-16 2.44249e-14 -4.27436e-15 +479 1 7.55818 5.03879 7.55818 -8.88178e-16 1.249e-16 -2.22045e-16 +480 1 6.71838 5.87859 7.55818 -3.55271e-15 2.49384e-14 -2.22045e-16 +481 1 0 6.71838 6.71838 -8.88178e-15 -3.9968e-15 -2.88658e-15 +482 1 0.839798 7.55818 6.71838 2.33147e-15 -2.77556e-16 -2.94209e-15 +483 1 0.839798 6.71838 7.55818 2.77556e-15 -2.8727e-15 -3.88578e-16 +484 1 0 7.55818 7.55818 -9.76996e-15 -4.44089e-16 -6.66134e-16 +485 1 1.6796 6.71838 6.71838 2.15106e-16 -3.93435e-15 -3.94129e-15 +486 1 2.51939 7.55818 6.71838 -2.44249e-15 -1.66533e-16 -3.60822e-15 +487 1 2.51939 6.71838 7.55818 -1.249e-15 -2.83107e-15 -7.21645e-16 +488 1 1.6796 7.55818 7.55818 0 4.44089e-16 8.88178e-16 +489 1 3.35919 6.71838 6.71838 1.22749e-14 -3.60129e-15 -4.05231e-15 +490 1 4.19899 7.55818 6.71838 -2.59862e-14 2.22045e-16 -3.27516e-15 +491 1 4.19899 6.71838 7.55818 -2.56323e-14 -3.9968e-15 -9.99201e-16 +492 1 3.35919 7.55818 7.55818 1.15741e-14 6.66134e-16 0 +493 1 5.03879 6.71838 6.71838 0 -3.25434e-15 -4.08007e-15 +494 1 5.87859 7.55818 6.71838 2.46539e-14 6.66134e-16 -2.66454e-15 +495 1 5.87859 6.71838 7.55818 2.4189e-14 -3.44169e-15 -2.22045e-16 +496 1 5.03879 7.55818 7.55818 0 2.22045e-16 4.44089e-16 +497 1 6.71838 6.71838 6.71838 -2.58127e-15 -4.07313e-15 -3.92741e-15 +498 1 7.55818 7.55818 6.71838 -2.22045e-16 0 -3.05311e-15 +499 1 7.55818 6.71838 7.55818 0 -2.72005e-15 -1.33227e-15 +500 1 6.71838 7.55818 7.55818 -3.9968e-15 2.35922e-16 -2.22045e-16 +ITEM: TIMESTEP +100 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.123071 8.38872 8.3161 -13.5034 12.7208 4.27264 +2 1 0.832093 0.789482 0.0260634 11.6405 -9.02308 5.27054 +3 1 0.829348 8.32295 0.847054 0.253685 2.42198 0.190462 +4 1 0.167866 0.883683 1.1203 3.78838 -17.5987 -23.5446 +5 1 1.84325 0.268983 0.0506746 -34.1939 -23.1747 -16.5239 +6 1 2.48966 1.02521 0.0150167 17.3336 21.4777 -8.17686 +7 1 2.69085 0.133161 0.584204 54.6376 -37.2919 -8.47938 +8 1 2.03129 0.673907 1.00581 -42.9604 37.8091 32.6152 +9 1 3.4644 0.135395 8.22513 6.66121 1.25052 1.24977 +10 1 4.03955 1.11148 8.14659 12.0412 -8.97859 6.48992 +11 1 4.19379 0.0448744 0.829139 -7.8302 -27.8417 -6.76025 +12 1 3.64841 0.913699 0.700293 -19.72 -1.80986 -1.25088 +13 1 4.95468 8.24864 0.0754237 1.84477 -0.530278 -6.08608 +14 1 5.56087 0.715896 7.89459 8.56765 -1.46102 11.0915 +15 1 5.88623 0.0411411 0.556827 1.26181 -8.5789 -11.0866 +16 1 4.92937 0.724638 0.812217 17.273 10.8714 -8.85433 +17 1 6.72739 8.38085 8.13417 -35.3805 -5.9515 28.6252 +18 1 7.72548 0.788736 0.0488514 2.00593 -21.6326 -29.6842 +19 1 7.72508 8.25409 0.930095 1.50566 4.42937 -3.62071 +20 1 6.80396 0.557293 0.840198 23.1381 -17.3706 0.134541 +21 1 0.229449 1.60533 8.39298 -14.4977 16.7962 1.07689 +22 1 0.832071 2.6454 0.0244343 3.40253 -11.2938 10.3532 +23 1 1.17502 1.54184 1.17348 -25.8959 -2.9461 -24.9151 +24 1 0.259004 2.30396 1.08005 -0.921709 -4.92947 -4.61717 +25 1 1.52612 1.69846 0.0790119 2.24081 -1.66091 4.11232 +26 1 2.32335 2.59169 0.0356063 -1.33192 -7.27448 11.4357 +27 1 2.47613 1.68798 0.866847 -6.11708 -1.09078 12.1273 +28 1 1.75964 2.46963 1.02161 -10.4242 6.62214 -9.26339 +29 1 3.18899 1.91192 0.152422 12.8306 -10.0239 -26.2805 +30 1 4.16606 2.56561 0.31819 6.19268 17.1047 -29.5908 +31 1 4.20679 1.77492 0.904599 6.39419 -20.2587 16.143 +32 1 3.29457 2.54016 0.942536 8.4707 7.62624 9.38928 +33 1 5.08962 1.70142 0.228194 -1.96985 -10.7878 -18.1781 +34 1 5.8401 2.50153 8.17919 2.2116 -4.35098 8.5453 +35 1 6.13077 1.14332 0.361455 -13.4767 12.4455 -5.6398 +36 1 5.21187 2.29543 1.04708 -21.2445 17.0192 -2.44157 +37 1 7.1904 2.12537 8.11861 -26.262 1.63538 -8.89421 +38 1 7.82272 2.3769 0.452291 6.46918 9.92036 10.2415 +39 1 7.65568 1.36632 0.837818 -8.61574 34.9087 15.0511 +40 1 6.63096 2.29607 0.833592 -3.02945 -9.31899 -38.2195 +41 1 0.0701224 3.26957 0.347776 -7.76983 -4.00147 -12.0182 +42 1 0.634247 4.2146 8.13102 5.69069 28.6823 19.9973 +43 1 0.89062 3.25892 1.01274 -8.90571 5.17288 9.1951 +44 1 8.35578 4.21333 0.756755 0.0651816 10.3427 6.16366 +45 1 1.59376 3.50824 0.337522 12.8481 -18.5931 -31.178 +46 1 2.63362 4.08805 -0.0117409 -13.6881 -31.4545 31.8377 +47 1 2.64545 3.44217 0.972182 1.32962 4.76915 -6.91838 +48 1 1.77157 4.31331 0.893182 6.24463 15.8362 30.2465 +49 1 3.30506 3.15734 -0.00281637 -4.50664 8.90697 10.0795 +50 1 4.20121 3.98351 8.24532 14.9588 -4.89636 4.16185 +51 1 4.14049 3.34001 1.03567 7.31744 -35.2634 -0.734077 +52 1 3.55633 4.09497 0.714486 -22.5487 2.59697 3.44603 +53 1 5.00488 3.2958 8.40544 4.72004 -3.7586 -0.0676635 +54 1 6.02419 4.38739 8.28472 2.63675 -3.85348 -7.36203 +55 1 5.82125 3.13701 0.812331 3.285 1.60137 -0.83853 +56 1 4.81191 4.1205 0.886429 26.0514 -19.7571 -10.6482 +57 1 6.37904 3.38462 8.29958 8.77859 5.40588 1.21659 +58 1 7.16155 4.27433 8.23885 -4.15514 -15.8519 20.8515 +59 1 7.46381 3.5222 0.62725 -6.50801 1.62892 11.1525 +60 1 6.52496 4.16064 0.796816 7.21171 -6.93074 -7.48151 +61 1 8.21062 5.02405 8.32529 2.06274 -1.43255 -7.09188 +62 1 0.856242 5.68027 8.15143 -7.33544 -9.25849 21.6195 +63 1 0.668812 5.05722 1.0253 10.4106 -11.6037 -16.0599 +64 1 0.100757 5.9519 0.987463 -8.02818 6.7945 -7.41084 +65 1 1.67634 4.74298 8.35528 -7.26839 1.52359 -11.0387 +66 1 2.38848 5.51086 0.107164 2.54651 6.03927 1.46743 +67 1 2.70757 4.93813 1.01132 -4.75577 -9.71554 1.13089 +68 1 1.3925 5.83052 0.707681 -1.14437 -6.44566 7.34655 +69 1 3.45574 4.66587 8.23291 4.73605 39.4767 5.5614 +70 1 4.43743 5.80479 0.164115 -6.64024 0.386075 1.78009 +71 1 4.2065 4.90669 0.741814 -23.5797 23.1046 -22.8102 +72 1 3.32112 5.74269 0.715517 7.3169 4.77905 3.84994 +73 1 5.16076 4.9557 8.31038 -10.6163 5.08193 1.86037 +74 1 5.94307 5.96922 0.174598 0.307423 -9.87615 -0.075099 +75 1 5.67998 4.99641 0.866467 -3.37502 0.387608 -1.06988 +76 1 5.10533 6.15466 0.974945 -0.684733 -17.9465 -18.2172 +77 1 6.66954 5.212 0.215572 3.55269 -19.7927 -9.30717 +78 1 7.63194 6.03007 0.0625005 22.452 -11.4487 -13.3981 +79 1 7.77987 5.15692 0.880268 -13.4303 3.64316 1.97115 +80 1 6.9443 6.00859 0.774386 -22.1564 -21.0173 44.3085 +81 1 0.211543 6.60981 0.114883 -6.22763 -3.96979 4.85396 +82 1 0.828363 7.71074 8.05758 6.57912 -12.175 1.18202 +83 1 0.8511 6.85772 1.00145 14.3344 -16.9148 6.86093 +84 1 0.108182 7.491 0.729711 -16.3275 13.3125 -2.16192 +85 1 1.32651 6.53754 8.31267 17.3977 32.295 0.779922 +86 1 2.45313 7.32438 0.161863 4.38219 8.94585 -15.0057 +87 1 2.22206 6.5101 0.817864 2.61276 2.64125 -0.96007 +88 1 1.71157 7.54558 0.836721 -10.8648 3.37169 8.49449 +89 1 3.33137 6.74361 0.251121 4.01956 -5.07144 -3.19134 +90 1 4.31785 7.3164 0.250439 -2.62105 14.0423 -19.3334 +91 1 4.11403 6.69271 1.01148 -3.23605 5.58393 9.21791 +92 1 3.25046 7.65301 0.863299 7.69366 -3.67127 3.31805 +93 1 5.15822 6.61638 8.39412 -15.5898 18.5262 -4.77657 +94 1 5.88176 7.47131 8.35911 1.25772 40.9097 -41.218 +95 1 5.8589 6.89406 0.716878 17.4729 -36.9167 60.1945 +96 1 5.1317 7.5805 0.887324 -15.4398 8.72154 0.622041 +97 1 6.7242 6.72984 0.126171 2.95649 13.978 -28.6002 +98 1 7.71076 7.70275 8.27387 -25.252 1.96163 47.723 +99 1 7.67756 6.66145 0.969756 13.165 19.6736 4.48693 +100 1 6.86126 7.61056 0.694229 -2.98636 3.99324 3.02821 +101 1 8.36607 8.27958 1.86716 -0.17632 -3.19355 -10.789 +102 1 0.956051 0.693329 1.82901 -1.1092 0.489919 9.03263 +103 1 0.677954 8.19357 2.69404 9.64796 -1.44576 4.92708 +104 1 8.40822 0.658358 2.57043 0.358989 35.1247 -30.1625 +105 1 1.59709 8.27384 1.6579 -3.48424 8.95256 3.83776 +106 1 2.60262 0.937274 1.91114 -6.85695 -44.4167 -8.16487 +107 1 2.77964 8.33738 2.42411 -9.97653 17.8509 12.2111 +108 1 1.80103 0.545423 2.70436 3.05773 -0.374817 -3.43865 +109 1 3.48439 0.0645578 1.59153 -12.2456 1.16104 1.511 +110 1 4.22306 0.908637 1.62246 8.21176 3.032 -1.28199 +111 1 4.10829 0.251535 2.42791 -11.6297 -7.60593 -5.50766 +112 1 3.3006 0.854758 2.76304 -19.992 -17.3193 -31.4497 +113 1 4.89013 8.37666 1.691 47.9119 57.0599 0.585594 +114 1 5.94061 0.477826 1.48406 -3.07899 1.88699 12.3275 +115 1 5.88048 0.35971 2.56281 -4.35157 -20.3865 4.17854 +116 1 4.9283 1.00358 2.55425 0.721177 -5.70224 -8.52683 +117 1 6.83323 8.16485 1.66012 -9.63203 10.6138 -6.53177 +118 1 7.60236 0.72315 1.6205 1.19764 -13.0731 15.2148 +119 1 7.46261 8.34785 2.50942 4.27014 7.86644 3.21827 +120 1 6.98477 1.01167 2.43863 -2.7077 -3.72405 10.5475 +121 1 0.201795 1.49879 1.91201 12.0746 15.4759 7.55997 +122 1 0.970651 2.5763 1.77546 9.10281 -9.21672 19.206 +123 1 1.00278 1.70354 2.64935 -4.86832 -2.32063 -12.0578 +124 1 0.220174 2.4694 2.59226 -6.06395 2.41662 -4.31274 +125 1 1.87438 1.66139 1.85364 0.0891009 8.26815 7.54904 +126 1 2.5634 2.61259 1.66324 -1.39613 -9.56029 15.7565 +127 1 2.67373 1.74855 2.48368 16.2507 26.3662 25.5413 +128 1 1.81271 2.51993 2.48462 -12.4635 -12.9481 6.24626 +129 1 3.34642 1.5174 1.55361 6.72778 19.0825 -4.097 +130 1 4.08393 2.3973 1.7811 -4.91883 6.9472 -7.45962 +131 1 3.95017 1.57032 2.47783 9.96822 8.42852 -4.63348 +132 1 3.54843 2.54548 2.73936 0.891724 -11.4891 -8.75214 +133 1 5.35058 1.38537 1.51823 -3.50731 -2.89085 5.66595 +134 1 6.023 2.29204 1.65213 -4.43652 -0.464129 22.1024 +135 1 5.94747 1.35093 2.39209 2.54676 22.9646 2.61125 +136 1 4.92685 2.18916 2.37644 10.4243 -2.12633 1.01963 +137 1 6.61187 1.36453 1.49274 0.221959 8.29598 -0.620687 +138 1 7.32473 2.28685 1.57865 28.4734 -28.9459 -8.73783 +139 1 7.72873 1.81047 2.35176 -1.00775 -9.06934 31.0045 +140 1 6.61584 2.21437 2.52479 7.01251 0.0677084 2.80218 +141 1 8.39022 3.27891 1.73012 3.49525 -5.17929 -4.65996 +142 1 0.854964 4.19407 1.69788 1.56946 -2.00702 1.06174 +143 1 0.997978 3.23715 2.67504 2.30643 5.8223 1.06858 +144 1 7.97382 3.9138 2.48815 10.0732 9.91828 -12.5132 +145 1 1.83784 3.47408 1.69517 -12.404 -3.21409 -2.66267 +146 1 2.61842 4.21682 1.90008 2.14748 0.059531 -3.785 +147 1 2.48603 3.26502 2.5249 16.8304 14.9965 0.171158 +148 1 1.68761 4.23907 2.52806 -1.01396 -4.72261 -0.795752 +149 1 3.40602 3.2813 1.85914 -16.1626 0.355927 -8.83409 +150 1 4.09906 4.10307 1.70079 5.35563 8.08157 -4.08084 +151 1 4.20252 3.30769 2.50236 16.5461 8.94662 0.427258 +152 1 3.52577 4.20363 2.52362 -12.9682 0.481811 23.6133 +153 1 5.11847 3.18122 1.75203 -10.5302 -5.4337 -0.263304 +154 1 5.84661 3.9209 1.56262 -0.517958 8.86577 8.63788 +155 1 5.86922 3.05768 2.56393 3.07392 -0.105811 -3.05554 +156 1 4.80787 4.20147 2.51562 -15.5306 -18.6016 6.98719 +157 1 6.75594 3.06184 1.51831 -23.9843 53.9056 5.35996 +158 1 7.37411 4.33015 1.50837 10.7935 -8.89263 2.38858 +159 1 7.49772 2.90887 2.46868 -6.63254 10.1343 -14.9923 +160 1 6.70853 3.86113 2.32478 1.28299 1.19192 -0.76331 +161 1 8.35107 4.97447 1.76826 -6.01727 -4.60108 12.0065 +162 1 0.812206 5.83167 1.72433 7.83055 6.4827 17.8655 +163 1 0.780537 4.91988 2.60048 6.34607 -5.57446 -13.8552 +164 1 8.22728 5.818 2.44166 16.0462 -1.57715 15.6299 +165 1 1.69572 5.11642 1.80574 -4.96566 -14.135 -5.31489 +166 1 2.43043 5.85297 1.63568 5.29915 -1.62077 5.85546 +167 1 2.57792 5.02783 2.65315 -4.52746 -19.2236 -8.91777 +168 1 1.53526 5.79854 2.60003 3.8059 -10.2938 -9.84612 +169 1 3.51815 5.02648 1.76532 -11.6984 -21.692 -35.1665 +170 1 4.20879 5.78771 1.44267 -4.45704 -9.43328 11.2812 +171 1 4.17986 5.08228 2.52246 26.037 -4.72131 -0.0794421 +172 1 3.28564 5.71935 2.4374 15.7539 34.931 2.27384 +173 1 4.77269 4.90482 1.56605 20.4715 8.53759 27.1606 +174 1 6.0822 5.98003 1.39493 -10.1112 -7.66907 2.17662 +175 1 5.55864 4.81486 2.32198 32.4427 -4.71792 -40.0608 +176 1 5.42317 5.8389 2.32907 -1.32862 11.7729 0.869635 +177 1 6.58632 5.00994 1.4228 1.50987 11.9718 7.91199 +178 1 7.40728 5.76017 1.85143 -17.7756 -1.69935 -20.7445 +179 1 7.43483 4.90248 2.50406 4.81208 -4.17509 -3.00519 +180 1 6.49032 6.25339 2.53785 -9.86939 -13.1275 -11.226 +181 1 8.38687 6.70803 1.84686 8.51598 2.67685 -7.76441 +182 1 0.82672 7.5809 1.8586 -8.65199 -8.55201 -6.88257 +183 1 0.798368 6.66179 2.58415 -9.89719 -0.151349 -9.60426 +184 1 8.09266 7.50342 2.71078 14.8523 -0.33865 -5.72558 +185 1 1.67226 6.92941 1.90638 3.68667 -6.81729 -3.8166 +186 1 2.44977 7.72472 1.67328 13.6121 -19.3583 -10.8323 +187 1 2.6005 7.00136 2.53195 -4.75836 -8.709 1.95523 +188 1 1.74762 7.69197 2.71318 -2.53247 4.05033 -0.19863 +189 1 3.12318 6.68472 1.56494 -10.4586 3.85751 -11.4518 +190 1 4.29009 7.65387 1.60791 -51.7416 -54.1223 -14.9832 +191 1 3.94907 6.70085 2.16915 18.0446 -8.10905 7.08373 +192 1 3.47208 7.58339 2.49347 14.5465 5.92984 -2.02778 +193 1 5.12563 6.77282 1.76131 -9.48863 14.4825 6.97263 +194 1 5.83539 7.62987 1.64588 8.72191 3.82062 7.16953 +195 1 5.76423 6.96836 2.55864 -5.64345 11.6948 11.2338 +196 1 4.77822 7.71547 2.51809 6.21883 -11.3323 9.13654 +197 1 6.63559 6.81418 1.65333 9.11964 14.1494 -8.37133 +198 1 7.61434 7.47455 1.72558 2.40335 0.461228 -6.0911 +199 1 7.4792 6.66861 2.39873 -2.80551 0.930229 8.6336 +200 1 6.74988 7.49855 2.51532 0.27108 -2.11137 5.23264 +201 1 8.33028 0.11458 3.36279 -16.5826 -29.3888 39.8482 +202 1 0.924222 0.663074 3.34599 -4.22349 8.71948 1.26084 +203 1 0.761543 8.18959 3.97906 2.12091 4.50677 4.24971 +204 1 8.33433 0.813163 4.20564 6.5007 1.52148 -0.192127 +205 1 1.76574 0.0375621 3.77071 17.3013 -16.3871 -16.9245 +206 1 2.61977 0.818953 3.52119 -23.2651 -2.55324 12.2346 +207 1 2.77562 0.0652161 4.44741 -11.8421 6.13727 -13.8855 +208 1 1.49199 0.761034 4.41597 -5.10709 15.0925 14.5126 +209 1 3.2179 8.34804 3.44668 5.27936 -7.50847 -1.90568 +210 1 3.9439 0.797129 3.52456 17.3728 2.18733 11.5361 +211 1 4.23279 0.116688 4.32559 -2.42219 -2.56552 -2.26636 +212 1 3.32804 0.997948 4.36883 1.65433 -5.54648 3.47818 +213 1 4.71275 0.120112 3.21294 23.362 4.56383 23.3458 +214 1 5.81093 1.04185 3.50642 -3.03834 -26.4106 -17.8435 +215 1 5.68877 0.288558 4.20831 -1.41276 -13.7346 9.5471 +216 1 5.01865 1.1392 4.32627 0.968145 -3.23051 -6.43149 +217 1 6.64793 8.39618 3.24984 2.09632 -4.36032 3.69009 +218 1 7.5883 0.965027 3.40354 -4.44096 -3.20185 -1.58139 +219 1 7.46506 8.38162 4.26807 1.21074 2.40143 -20.8016 +220 1 6.68567 0.729309 4.05423 9.00491 -0.0257829 7.04417 +221 1 0.0217051 1.65067 3.33296 -0.896942 -12.0422 -1.44038 +222 1 0.778955 2.33585 3.53158 8.17696 34.6193 -17.2054 +223 1 0.812105 1.63712 4.22741 2.15493 -21.1842 9.58449 +224 1 8.36402 2.71734 4.23224 9.90405 -0.180735 2.89262 +225 1 1.64503 1.55583 3.44456 9.91651 -2.24847 10.5707 +226 1 2.72789 2.60115 3.33289 -22.1633 -6.4618 14.3253 +227 1 2.53285 1.75288 4.15927 -11.2604 4.59027 8.59695 +228 1 1.59486 2.51559 4.29587 -0.634079 -19.903 20.3392 +229 1 3.26158 1.6458 3.43181 16.9482 17.4067 -1.31054 +230 1 4.49124 2.67296 3.29881 0.516577 8.93567 6.85853 +231 1 4.12441 1.76399 4.16025 -12.4119 -16.9863 20.8263 +232 1 3.58648 2.62356 4.12513 -11.0948 -0.0880381 2.09248 +233 1 4.62064 1.66433 3.30411 17.3359 -14.3916 -7.7698 +234 1 5.72203 2.02067 3.4449 -2.49843 31.6335 -13.0426 +235 1 6.15135 1.60495 4.33133 -9.75959 4.02084 8.19224 +236 1 5.04088 2.23941 4.27882 30.2001 -2.39587 -19.7025 +237 1 6.91779 1.8813 3.52264 3.96777 -26.054 4.41687 +238 1 7.81771 2.53776 3.353 -2.77684 -3.41763 12.6677 +239 1 7.78069 1.81171 4.34601 -52.3825 1.07947 -51.791 +240 1 6.66141 2.49312 4.62997 -6.69802 -0.0628228 -12.7191 +241 1 0.122629 3.46604 3.3479 -1.26446 -22.7991 -11.2332 +242 1 0.85888 4.22824 3.46647 2.79502 3.87933 -3.60293 +243 1 0.937247 3.40088 4.29114 -12.1658 -1.27655 -7.25993 +244 1 8.30307 4.19021 4.02192 -7.37977 10.0618 19.4199 +245 1 1.73804 3.18337 3.5685 -15.8464 9.26468 -37.1326 +246 1 2.58615 4.05913 3.19953 0.360202 14.7294 -1.16411 +247 1 2.55925 3.4674 4.05471 16.7959 -2.51521 13.6147 +248 1 1.75131 4.20697 4.04231 3.51698 -5.56503 7.27084 +249 1 3.44857 3.37138 3.44602 9.39764 18.3315 -14.5187 +250 1 4.30487 4.37452 3.51867 -0.743412 -11.0963 -4.3924 +251 1 4.41614 3.34547 4.13696 17.6233 7.57534 -14.2893 +252 1 3.32801 4.25542 4.08286 6.07649 -1.13934 3.22429 +253 1 5.63651 3.09553 3.631 -4.7187 3.44811 6.48572 +254 1 5.99275 4.08946 3.17209 -2.06613 -3.23888 -8.73239 +255 1 6.47603 3.67609 4.18744 -9.24013 0.891239 -0.0265923 +256 1 5.32989 4.17403 4.01248 -3.14576 -0.648453 6.26049 +257 1 6.72457 2.86539 3.51605 -3.69406 17.3565 -4.96963 +258 1 7.32281 3.76777 3.25105 -10.2265 -1.63605 18.2335 +259 1 7.4303 3.25631 4.3358 5.44768 7.87627 -9.74689 +260 1 6.66407 4.65396 3.76405 -6.96361 -4.18223 2.73914 +261 1 8.26711 4.8857 3.17584 6.51218 -0.295316 -2.27808 +262 1 0.649285 5.74933 3.20979 -12.9544 -9.12523 -13.313 +263 1 1.01858 5.10915 4.40565 1.04387 0.402418 -2.70019 +264 1 0.0855082 5.80312 4.16158 -11.0199 -7.09759 8.81305 +265 1 1.78399 4.97143 3.32025 -23.7199 7.54456 -3.60592 +266 1 2.55969 5.96317 3.12483 -8.84523 11.7944 16.8138 +267 1 2.653 5.05017 3.85074 -4.37713 4.79953 16.9312 +268 1 2.04667 5.9581 4.23583 -12.9689 -9.50066 -2.67062 +269 1 3.52568 5.09169 3.32195 -1.60301 -3.74832 -0.530875 +270 1 4.17719 5.92991 3.13207 5.79449 2.84869 4.98978 +271 1 4.69237 5.20087 4.04914 -22.9168 0.480558 19.5714 +272 1 3.49623 5.87284 4.08872 -22.1914 -19.7939 -11.835 +273 1 5.22134 4.9979 3.22696 -11.435 -2.89555 -13.2152 +274 1 5.65705 6.11892 3.42751 2.78011 1.11701 -3.25891 +275 1 5.76121 5.22134 4.03501 7.67556 -2.59727 25.3068 +276 1 4.95772 6.04539 4.58052 58.0203 8.0254 -45.1554 +277 1 6.4538 5.11955 2.78748 -4.74406 7.07146 5.73728 +278 1 7.21538 5.95413 3.16364 10.7768 -10.9442 6.36207 +279 1 7.51809 5.20099 3.85697 17.9797 5.14787 9.68311 +280 1 6.63903 5.76912 4.06379 2.12496 12.0521 4.75162 +281 1 8.12324 6.45888 3.3557 6.09728 0.195353 -8.64393 +282 1 0.462088 7.19726 3.46792 19.553 -0.0547515 -15.4409 +283 1 0.957118 6.33073 3.94731 10.4711 20.6934 10.8557 +284 1 8.31788 7.62476 4.18946 -15.5996 1.5203 27.0435 +285 1 1.621 6.60508 3.20723 21.3874 20.2704 9.57573 +286 1 2.43565 7.40381 3.575 -2.23423 10.7661 -7.60718 +287 1 2.75508 6.70843 4.26783 9.69215 -9.86312 8.63304 +288 1 1.4194 7.32943 4.0782 6.712 1.12768 -13.3449 +289 1 3.55435 6.77984 3.25216 -11.0849 -3.43265 4.44657 +290 1 4.09983 7.6717 3.40332 0.775894 2.91256 6.51607 +291 1 4.08342 6.6168 4.34423 8.99422 27.9061 4.38721 +292 1 3.36001 7.55781 4.25663 44.0502 4.81661 -43.4399 +293 1 4.74991 6.77738 3.51304 4.59094 -3.55683 -10.177 +294 1 5.77556 7.6737 3.71378 -0.245399 -1.3978 -0.93703 +295 1 5.90589 6.74801 4.34426 -3.316 -4.25196 -0.216303 +296 1 4.8074 7.40991 4.34207 4.23627 19.8452 -2.32284 +297 1 6.58813 6.85169 3.45364 -7.67639 -5.27403 -11.3349 +298 1 7.50241 7.47925 3.56723 2.18816 13.5038 -24.0989 +299 1 7.40344 6.62065 4.10638 -2.8935 -4.19323 5.51308 +300 1 6.75843 7.5046 4.25149 -20.47 8.43665 16.7865 +301 1 8.33167 8.36145 4.9892 0.225809 34.2346 -31.8957 +302 1 0.576342 0.867151 5.40959 24.5697 -12.6304 -33.2572 +303 1 0.763006 0.00458111 6.00676 12.4506 6.43147 -2.11226 +304 1 8.26499 0.860176 6.08382 -7.17683 -4.07129 -51.5552 +305 1 1.81244 8.0383 4.87052 -5.76863 7.26347 -9.86755 +306 1 2.53533 1.09902 5.19234 -3.16803 0.678291 -2.97003 +307 1 2.78135 0.403413 6.40689 -26.816 9.12488 -11.3363 +308 1 1.58905 0.651353 5.66283 7.03419 0.981612 1.76622 +309 1 3.32058 0.106866 5.32447 -0.932856 13.5857 14.9154 +310 1 4.27557 0.92435 5.10725 -6.99093 5.63655 -6.45098 +311 1 4.28959 0.280237 5.95961 -30.2191 -30.0316 -14.6333 +312 1 3.38904 1.26869 5.835 20.8336 -7.28254 -13.6106 +313 1 5.00946 8.32617 5.09801 -7.438 6.03549 0.926349 +314 1 5.92216 0.863628 5.14574 -0.277075 -6.34381 -3.05305 +315 1 5.73427 0.0193827 5.90902 4.17974 0.428592 2.11829 +316 1 4.94752 0.963499 5.95092 36.9682 12.4342 8.28196 +317 1 6.68007 0.0753806 5.17719 -6.21888 -0.275929 -7.94036 +318 1 7.59475 0.718477 4.99 5.56935 4.26124 12.8688 +319 1 7.48253 8.3166 5.84711 10.9136 10.2783 15.4989 +320 1 6.8326 0.897437 5.9487 8.18452 -13.9005 5.8213 +321 1 0.0760609 1.64664 4.96296 26.1716 -2.70613 34.3225 +322 1 0.685552 2.56455 5.03633 12.0035 4.84556 -15.2829 +323 1 0.606729 1.82267 5.82598 7.27963 -3.46786 12.0617 +324 1 8.3293 2.58271 5.72712 2.9601 13.0212 32.1025 +325 1 1.39999 1.70565 5.12122 8.3487 -4.09076 2.04128 +326 1 2.73507 2.85653 4.90403 -0.345779 -0.804973 -4.73226 +327 1 2.41817 2.24309 5.70209 1.42091 -4.90412 -0.964796 +328 1 1.38108 2.54746 5.86585 12.2906 4.17611 0.525771 +329 1 3.33731 1.91289 4.90293 0.0185627 0.794978 8.4213 +330 1 4.3973 2.60866 4.92615 -15.1153 4.67891 22.5372 +331 1 4.2225 2.0218 5.81106 18.0418 -47.4422 -19.4137 +332 1 3.4994 2.65878 5.66207 -24.6152 28.1329 2.91513 +333 1 5.20081 1.64695 5.25699 -1.61968 25.0354 -10.6249 +334 1 5.90254 2.56674 5.38347 4.70787 3.18361 -12.95 +335 1 6.08989 1.61464 5.89214 -10.9271 -1.55847 2.77666 +336 1 5.02754 2.69198 5.87273 -13.869 2.1523 1.52243 +337 1 6.90208 1.46146 5.07178 -10.118 15.4867 -8.4201 +338 1 7.58477 2.54489 5.07036 0.223295 2.60985 -3.71518 +339 1 7.69807 1.70404 5.74305 2.65747 -7.01835 5.70621 +340 1 6.83671 2.31874 5.77518 8.75763 5.85965 2.81961 +341 1 8.33535 3.4475 5.0472 4.04483 5.65066 -3.26522 +342 1 0.908217 4.16423 5.06292 -2.0575 1.13184 -0.501506 +343 1 0.771491 3.42595 5.87741 5.33449 1.31478 -10.6197 +344 1 0.14652 4.33584 6.04676 1.00462 -8.1578 -20.2597 +345 1 1.77294 3.51463 4.93957 -1.27898 -7.63546 3.32247 +346 1 2.71396 3.96357 4.97834 15.9141 3.79204 10.1307 +347 1 2.46159 3.38803 6.16546 -1.0491 -20.8555 -15.9327 +348 1 1.72608 4.39112 6.04032 -15.046 -11.018 -10.0045 +349 1 3.71274 3.40467 4.85974 -22.3519 13.9348 10.8973 +350 1 4.57553 4.21697 4.87404 -3.96399 7.00234 -1.98713 +351 1 4.366 3.53193 5.70269 7.89254 -3.17347 6.37497 +352 1 3.55123 4.20329 5.82208 -22.8323 -11.992 0.86056 +353 1 5.31479 3.43328 4.96004 -12.842 -18.3451 -4.95866 +354 1 5.96487 4.21664 4.98586 3.26728 12.2832 1.14917 +355 1 5.67633 3.58987 5.96581 6.91479 -13.8012 -0.0730494 +356 1 5.15168 4.48521 5.88819 -0.135174 -6.62981 7.61527 +357 1 6.76571 3.37692 5.24691 -14.8051 -2.47074 -4.50431 +358 1 7.42413 4.19524 5.01259 2.27671 4.46784 -0.576517 +359 1 7.6092 3.42318 5.84837 11.8264 -15.8262 -18.7291 +360 1 6.54398 4.29611 5.89957 10.509 -8.9195 -1.16059 +361 1 0.0247094 4.83566 4.99938 1.36656 0.603431 -2.15766 +362 1 0.966205 6.14847 4.9405 -1.84638 -2.56131 10.6129 +363 1 1.10739 5.11215 5.5368 -2.77114 7.32267 -6.17701 +364 1 0.221311 5.77966 5.62316 -16.3542 -5.99991 -34.5248 +365 1 2.09075 4.80339 4.88071 -15.5377 1.88455 -3.51044 +366 1 2.76626 5.59872 5.00497 -13.1053 -0.333159 -40.3797 +367 1 2.60002 4.95633 5.81939 -13.3057 -3.60712 -16.1699 +368 1 1.73302 6.11974 5.67311 7.80367 -13.5214 9.39307 +369 1 3.69174 5.11983 4.8182 4.27828 -13.6521 -3.16237 +370 1 4.24517 5.95869 5.19837 -53.2876 -10.1225 40.5156 +371 1 4.22774 4.94663 5.7496 8.19104 22.5118 -1.663 +372 1 3.1136 6.02947 5.80151 37.6339 -12.4217 36.265 +373 1 5.23537 5.12533 5.07481 2.14794 5.35663 -5.58383 +374 1 5.80775 6.19434 5.36474 -12.1517 -18.4331 -19.8184 +375 1 5.9697 5.18437 6.0003 -7.47906 6.99384 0.912527 +376 1 4.94854 5.8692 5.99559 17.5377 -1.26338 -12.9619 +377 1 6.59757 5.09144 5.08104 3.06742 4.08464 -2.92894 +378 1 7.54367 5.98613 4.88573 -14.2361 -23.7654 7.79426 +379 1 7.60847 5.23322 5.63185 -1.35187 -6.94343 4.2911 +380 1 6.70769 5.94816 5.81677 14.1283 2.13907 3.81564 +381 1 8.22278 6.71702 5.01662 22.4316 17.1972 -3.51396 +382 1 0.869349 7.28869 4.96667 -10.0366 3.62496 3.89926 +383 1 0.896793 6.73687 5.91431 -6.40765 3.74255 3.0528 +384 1 0.0890555 7.7054 5.6706 -5.18167 -47.9244 34.8448 +385 1 1.8751 6.88564 4.94229 0.477268 -2.00274 -5.71819 +386 1 2.7587 7.55291 4.99872 -36.0591 6.05211 43.0833 +387 1 2.53846 6.82983 5.7787 -13.9577 26.1772 12.6196 +388 1 1.63934 7.57104 5.79621 -1.51722 -4.07644 10.4552 +389 1 3.46612 6.83867 5.20388 -3.25728 -8.15264 -25.1259 +390 1 4.01792 7.77747 5.13143 8.22604 -9.98488 -11.0207 +391 1 4.0616 6.71165 5.99374 37.4635 -34.7522 2.57336 +392 1 3.49035 7.48383 6.06615 -52.3442 43.3465 -6.60384 +393 1 4.82693 6.8523 5.20763 2.69445 10.0085 20.3981 +394 1 5.83663 7.67662 4.94011 2.65651 0.782445 -0.458959 +395 1 5.60118 6.903 6.05259 0.51238 5.45548 -5.22943 +396 1 4.49984 7.67391 6.05154 31.0401 -0.647522 -9.371 +397 1 6.56806 6.92617 5.22736 4.49918 -20.7724 -24.6194 +398 1 7.45007 7.68748 5.02454 6.13987 -21.0163 7.77973 +399 1 7.49751 6.80367 5.78308 -9.98894 13.1501 -5.7166 +400 1 6.63057 7.61754 5.92417 0.0687578 21.3795 23.8905 +401 1 8.32557 8.34894 6.68981 0.104638 -13.8897 -9.6087 +402 1 0.744366 0.980723 6.48852 -5.23114 -31.7269 30.0044 +403 1 1.21108 0.262565 7.55604 -5.48851 -4.18087 -6.76609 +404 1 8.40118 0.701811 7.40569 17.4537 3.62996 11.6339 +405 1 1.79336 8.32699 6.64062 -5.93242 0.737609 -0.84307 +406 1 2.60519 1.4776 6.42908 -42.7477 -20.3947 10.8513 +407 1 2.68468 8.32969 7.50367 2.82039 -8.74718 0.911275 +408 1 2.14004 0.776947 7.26895 -3.65906 16.1309 -1.11008 +409 1 3.6569 0.0715803 6.70451 13.9675 -20.3473 29.1568 +410 1 3.94985 1.1248 6.78323 8.0083 0.919865 -1.94163 +411 1 4.44955 0.15543 7.5921 -15.5929 3.09145 7.2634 +412 1 3.18676 1.19789 7.55079 30.4701 -36.3009 -8.08868 +413 1 5.10396 0.131358 6.81912 -7.97923 37.9971 -21.1894 +414 1 5.81993 0.996314 6.79068 7.76858 -21.7284 -2.73997 +415 1 5.80025 8.18188 7.49322 12.3507 -13.1302 8.70784 +416 1 4.85408 1.28227 7.42764 -12.4579 -6.47968 -9.5274 +417 1 6.58875 0.130914 6.74241 2.12753 -2.2097 0.634037 +418 1 7.59964 0.676617 6.71682 -68.3673 2.07925 42.2066 +419 1 7.52212 0.0593286 7.5834 32.5631 3.04014 -28.8024 +420 1 6.85279 0.923554 7.57208 -4.28539 1.49265 -2.17621 +421 1 8.34941 1.72633 6.6429 -6.24486 10.7883 12.2426 +422 1 0.752277 2.47155 6.72526 -3.9412 -10.7788 3.00465 +423 1 0.813192 1.63555 7.42993 -7.74314 -11.2011 -0.638694 +424 1 8.22443 2.54813 7.66732 2.56273 -1.56785 0.82339 +425 1 1.49636 1.56107 6.38447 44.5625 33.4582 -3.13704 +426 1 2.30525 2.475 6.76961 -5.35408 6.54562 -0.949005 +427 1 2.49056 1.84724 7.59513 -61.407 9.30511 10.8314 +428 1 1.49273 2.39823 7.65033 13.5773 11.0727 -11.0854 +429 1 3.37689 2.03992 6.64219 17.5424 18.1797 1.52712 +430 1 4.36556 2.35363 6.72974 2.65202 20.8248 17.9478 +431 1 3.99822 2.02063 7.6547 18.3091 -10.0739 6.1027 +432 1 3.17328 2.55424 7.53823 -10.8617 31.8229 -4.73645 +433 1 5.21112 1.76508 6.50479 -18.4173 6.52495 3.64931 +434 1 5.87572 2.50861 6.47972 17.6588 16.4017 11.3405 +435 1 6.13161 1.75643 7.42519 -6.35346 6.11936 8.80778 +436 1 5.08243 2.27965 7.49559 3.10695 14.763 0.591819 +437 1 6.90515 1.73737 6.69685 6.36969 -4.89015 -2.67266 +438 1 7.59965 2.63279 6.71489 9.55617 -0.301288 -8.47778 +439 1 7.76189 1.52013 7.52701 3.93719 -1.66085 -6.19761 +440 1 6.70724 2.6779 7.2598 -8.99322 4.2321 11.9078 +441 1 0.125444 3.31521 6.66881 -20.5423 -11.9528 1.08126 +442 1 0.364694 4.22273 7.06 15.4688 8.78987 -5.27721 +443 1 0.60791 3.34758 7.65433 9.81501 -30.9601 -14.2913 +444 1 8.0984 3.85412 7.73406 0.295867 21.4592 0.238003 +445 1 1.38869 3.28611 6.86269 8.50148 8.2104 -0.813622 +446 1 2.52476 4.25334 6.66316 13.9982 13.4488 20.9739 +447 1 2.34408 3.26799 7.64808 -1.14502 9.26403 -10.1755 +448 1 1.45935 4.43411 7.31503 0.0272838 -0.538431 -2.52173 +449 1 3.66593 3.34626 6.65797 -1.50742 -4.19973 -15.7128 +450 1 4.32339 4.28741 6.63848 -1.71153 0.00989822 -0.270268 +451 1 4.03917 3.1404 7.61252 24.7136 -10.2891 3.12208 +452 1 3.36907 3.93473 7.50701 -10.481 -0.383957 -6.9951 +453 1 4.88527 3.3354 6.73465 -0.250758 1.18323 3.20962 +454 1 5.86197 4.30684 6.74144 -6.02175 10.4775 -12.9313 +455 1 5.83143 3.4729 7.33725 -5.24712 -23.3614 7.27214 +456 1 5.04517 4.19893 7.47372 14.0277 -13.7659 1.86079 +457 1 6.67093 3.19494 6.32389 -1.08882 16.2366 5.3564 +458 1 7.58567 3.93824 6.68879 13.8607 17.9546 17.9945 +459 1 7.41034 3.22296 8.01852 -22.7502 -28.7124 0.282368 +460 1 6.74041 3.98357 7.25541 -1.38378 3.03134 11.4432 +461 1 8.11164 5.05821 6.64701 -10.3621 4.23498 3.48281 +462 1 0.434229 5.95598 6.55583 13.6324 -1.56553 39.6492 +463 1 0.429061 5.17903 7.41995 -0.29478 -7.71855 -15.5486 +464 1 8.09598 5.94892 7.38464 -0.670206 -2.17368 6.38869 +465 1 1.41611 5.29567 6.55129 0.191903 6.07763 6.12613 +466 1 2.44376 5.87825 6.63669 -4.18767 0.226771 1.1996 +467 1 2.57445 4.71437 7.62895 -9.06207 26.6712 -23.195 +468 1 1.76163 5.67875 7.56712 4.16416 -0.382203 -1.94173 +469 1 3.23562 5.1121 6.55719 20.8924 -0.347412 22.4145 +470 1 4.05367 5.80831 6.49809 -13.6658 -13.8236 9.34588 +471 1 4.3499 4.91428 7.57309 -17.8958 19.2373 1.53594 +472 1 3.33848 5.81136 8.0112 0.629066 -2.48199 -2.55986 +473 1 5.22933 5.24678 6.83002 -9.21161 -10.3226 -4.65561 +474 1 5.87231 6.12998 6.73434 -14.492 -21.708 -7.10976 +475 1 6.102 5.06631 7.42095 8.16162 7.57706 8.09799 +476 1 5.11386 5.85851 7.69037 1.37823 -1.01778 -7.91082 +477 1 6.94866 5.10876 6.52261 -0.00645701 0.734687 4.76591 +478 1 7.67078 6.01392 6.41167 -4.02477 -14.728 2.57416 +479 1 7.35061 4.96205 7.5433 24.0095 -18.1944 -20.4412 +480 1 6.9284 5.83495 7.63045 -18.4707 37.5628 2.3937 +481 1 8.28984 6.85999 6.50497 12.0319 11.2505 5.01489 +482 1 0.775248 7.71516 6.80461 7.24585 -11.6558 8.08417 +483 1 0.533688 6.7762 7.54365 3.89137 -4.31915 -15.8578 +484 1 8.2465 7.61079 7.46416 25.9419 0.696332 -26.8887 +485 1 1.73177 6.71435 6.78434 -8.61422 -0.737705 -7.23833 +486 1 2.48272 7.50206 6.80041 12.0152 -3.31551 -7.82219 +487 1 2.37093 6.72113 7.64339 9.62293 -9.48685 2.94166 +488 1 1.77272 7.59226 7.58949 -2.97267 7.70343 0.621675 +489 1 3.29197 6.66554 6.74519 -6.55378 -4.76021 6.1499 +490 1 4.04728 7.44441 6.9325 9.38301 -4.09453 15.5296 +491 1 4.12674 6.55075 7.78018 3.09461 4.03017 -1.80654 +492 1 3.3807 7.43243 7.7243 -9.78058 -0.600287 9.7772 +493 1 4.74428 6.55735 6.78071 12.1641 10.0813 15.0085 +494 1 5.30209 7.56833 6.75011 8.90694 -20.2013 0.20059 +495 1 5.88783 6.83008 7.50111 -3.28565 3.55282 5.18781 +496 1 4.85536 7.429 7.66393 -0.8844 -0.824359 14.1315 +497 1 6.78323 6.58213 6.75112 16.4005 10.5566 0.00129152 +498 1 7.49771 7.53891 6.69245 -0.0692693 6.11315 -11.5276 +499 1 7.61589 6.80831 7.76686 -5.70997 -4.77696 -9.529 +500 1 6.80731 7.4637 7.45575 -10.489 5.43873 12.05 +ITEM: TIMESTEP +200 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 8.41242 8.26599 8.38785 -10.0358 6.58437 5.2801 +2 1 0.814162 0.710931 0.0523899 -37.3452 31.5986 3.80166 +3 1 0.707188 8.3394 0.783901 7.22527 -6.84977 10.4166 +4 1 0.078844 0.75192 1.11978 38.2878 -8.01586 -1.83777 +5 1 1.52052 0.0613493 8.33894 50.642 -18.5757 54.2409 +6 1 2.63022 0.777198 -0.0136511 -14.6872 26.2087 -8.24369 +7 1 2.86573 8.3667 0.519039 4.98442 -20.5506 12.9041 +8 1 1.4757 0.711348 0.992341 22.4024 -8.05229 -33.8354 +9 1 3.79318 8.20698 8.14977 -12.6173 11.8638 7.05406 +10 1 4.0381 1.06879 8.36154 -11.3644 -3.77089 -31.1235 +11 1 3.94622 0.00241404 0.83531 3.0713 5.57971 3.39388 +12 1 3.2904 1.19609 0.697286 11.5663 -9.90219 11.4209 +13 1 4.80931 8.28217 0.152557 1.5084 -10.3853 -19.3359 +14 1 5.59181 0.724855 8.1093 -26.5323 12.4899 -7.60558 +15 1 5.68752 0.120676 0.713607 11.3113 1.42738 1.49966 +16 1 4.78554 0.81043 0.585131 26.0655 -22.1296 9.76004 +17 1 6.43613 0.237453 8.26775 30.1844 -14.2258 6.08634 +18 1 7.5043 0.643436 0.0691857 2.69659 0.617275 -0.831401 +19 1 7.7682 0.0476766 1.0238 2.88283 -8.74262 5.4154 +20 1 6.83111 0.459822 0.931748 -10.2254 10.6222 -23.4955 +21 1 0.00401405 1.51379 8.26626 1.73444 -9.97848 2.73777 +22 1 0.631563 2.29056 0.214422 2.30445 -4.73927 -16.4851 +23 1 0.869727 1.5347 0.919411 -20.3113 -10.6479 -1.82401 +24 1 -0.0840974 2.27001 1.15035 26.4165 13.702 -18.8298 +25 1 1.67911 1.38813 0.0883733 4.29152 4.16945 3.72554 +26 1 2.34463 2.397 8.3967 -0.661743 10.3894 16.138 +27 1 2.41792 1.69378 0.837891 -11.9994 8.17272 5.13712 +28 1 1.50784 2.3296 0.8821 15.8347 5.46342 -6.24169 +29 1 3.19181 1.77289 8.14083 -8.92279 -4.86777 22.8625 +30 1 4.12817 2.46218 8.33741 8.13153 -11.9637 0.536015 +31 1 4.26337 1.62555 0.809789 -13.061 44.2943 -8.13534 +32 1 3.42316 2.33556 0.802814 -4.29938 0.254861 -1.13643 +33 1 5.0669 1.62594 8.33933 -4.47953 5.08137 -8.2197 +34 1 5.91213 2.40952 0.124369 -13.9 -26.0969 3.99436 +35 1 6.23275 1.281 0.442008 -1.76602 1.09435 0.219677 +36 1 5.05785 2.29128 0.753897 1.63462 9.40663 2.64296 +37 1 6.76196 1.99075 8.08873 7.25593 -6.72787 12.2575 +38 1 7.89568 2.35083 0.217856 -14.3986 10.074 -11.1844 +39 1 7.7557 1.40697 0.992421 -28.0785 15.2332 -13.5573 +40 1 6.69672 2.20109 0.984157 0.465363 17.7913 -13.2761 +41 1 8.2159 3.42858 0.185567 12.3977 0.764361 -3.90376 +42 1 0.927092 4.2442 8.41258 -26.45 -26.3493 -4.33489 +43 1 0.729094 3.09987 0.813639 -4.58702 16.175 15.6607 +44 1 0.0788068 4.49033 1.02182 1.48174 1.40892 2.78463 +45 1 1.55842 3.1508 0.126599 -1.73889 6.5262 3.04002 +46 1 2.29185 4.09245 0.0493365 -0.242842 -5.39025 -0.756334 +47 1 2.41785 3.22623 0.89121 8.0106 -0.183268 -6.38994 +48 1 1.56843 4.03679 0.931375 1.76309 0.26565 -2.14494 +49 1 3.4359 3.23233 0.0225532 -4.36687 10.8322 6.25926 +50 1 4.25669 4.07361 0.0880133 2.8279 3.66932 -9.72921 +51 1 4.34048 3.08558 0.785495 -4.69141 6.70607 0.15029 +52 1 3.59299 3.90329 0.886528 -10.5717 12.5753 -2.99495 +53 1 5.13064 3.04982 8.22833 -0.225212 8.61676 17.0697 +54 1 5.81502 4.09178 8.38841 -21.2737 -2.05468 -24.8502 +55 1 5.97613 3.1773 0.894798 -5.61602 -19.9636 -19.3342 +56 1 5.09497 3.91821 0.747666 0.511602 -0.648627 8.1507 +57 1 6.51767 3.18724 8.3864 17.647 23.2966 -13.5196 +58 1 7.37164 4.03522 8.29689 -11.4262 -6.53116 -1.21962 +59 1 7.31211 3.24078 0.704535 -4.3132 -0.596821 4.84194 +60 1 6.56447 4.1734 0.602333 27.4745 -11.0091 36.7473 +61 1 8.15631 4.68203 0.075112 10.7012 -10.9934 -7.99724 +62 1 1.11663 5.88929 8.3609 -7.93077 -20.1145 9.26986 +63 1 0.996074 4.97243 1.21409 -6.72433 0.768332 -3.74364 +64 1 0.189403 5.66667 0.913187 -7.3538 -1.57168 -7.21317 +65 1 1.58163 4.94764 0.201022 19.1991 11.3216 -0.454803 +66 1 2.29237 5.73911 0.0748948 8.80602 19.0835 -4.47029 +67 1 2.49097 4.65203 0.981363 3.25616 8.72811 -9.97843 +68 1 1.87095 5.55306 0.995907 1.03553 19.7133 11.0025 +69 1 3.18407 5.012 0.131558 5.578 6.2636 9.58863 +70 1 4.09719 5.68255 0.132658 4.03261 5.63654 -2.85988 +71 1 4.12395 4.88832 0.852082 2.34539 -1.75572 -18.9743 +72 1 3.07234 5.70133 0.969327 -0.346407 5.49919 1.56796 +73 1 5.11274 5.00399 0.171908 -9.99815 3.39538 19.3609 +74 1 5.76656 5.80521 0.11529 9.4035 3.26414 21.2303 +75 1 6.01079 5.05469 0.873922 -27.3446 -31.3954 -10.6646 +76 1 4.89913 5.95208 0.960158 8.00863 4.38535 -8.86024 +77 1 6.75863 4.93475 8.31779 -18.6284 14.8779 13.2188 +78 1 7.8245 5.62001 8.34465 11.2383 14.3374 0.909184 +79 1 7.51856 5.31135 0.853265 4.91639 -9.6583 11.5193 +80 1 6.62461 5.81662 0.841147 8.94471 25.6435 -17.3923 +81 1 0.202013 6.46046 8.33455 0.0609498 5.25542 6.45446 +82 1 0.889578 7.53674 8.33221 1.62686 -1.40391 0.0530776 +83 1 0.953366 6.38848 0.908196 -1.46223 4.85455 -5.86941 +84 1 0.145952 7.39993 0.791819 5.48829 -5.75958 -9.51465 +85 1 1.67676 6.71324 8.36121 2.78795 2.25277 6.97945 +86 1 2.21164 7.54618 8.16806 16.5579 9.64776 9.50482 +87 1 2.40278 6.62803 0.856512 -0.674903 -8.3487 -4.56859 +88 1 1.53782 7.38975 0.90846 -3.10291 8.8481 -14.5459 +89 1 3.27325 6.398 0.0420856 1.14847 -3.14438 14.8868 +90 1 4.24204 7.28724 8.33928 2.62398 3.89094 44.6004 +91 1 4.04999 6.6211 0.862788 13.5756 -10.8829 -5.05866 +92 1 3.45704 7.41684 0.605416 -19.3758 10.5723 4.19592 +93 1 5.13383 6.59732 8.2884 -30.4967 14.0841 16.2852 +94 1 5.83566 7.60311 0.0824633 -14.5596 3.16754 7.91958 +95 1 5.71227 6.86684 0.81732 11.5827 -10.7391 -7.91805 +96 1 4.90381 7.61313 0.94797 9.27737 -4.87268 -6.49352 +97 1 6.72722 6.86314 0.253587 -5.2734 -0.113759 -0.620065 +98 1 7.41232 7.77996 0.331703 18.857 -4.07135 -25.363 +99 1 7.56998 6.39348 0.735875 7.28329 1.56003 -0.789213 +100 1 6.66601 7.84216 0.965777 -32.1881 -17.8038 12.8266 +101 1 0.166766 -0.00131261 1.94063 8.32296 1.94608 -3.28266 +102 1 0.934833 0.817938 1.81275 -21.8629 -14.287 17.2076 +103 1 1.00207 0.316008 2.82556 -21.807 -5.91521 -4.01431 +104 1 8.35945 0.74 2.72116 2.32177 4.37751 -0.902675 +105 1 1.48465 8.25372 1.60749 -1.18562 -7.12983 8.20441 +106 1 2.44318 0.774258 1.4766 5.48942 -2.99924 2.57908 +107 1 2.3069 8.18025 2.36522 1.41087 2.4731 2.95424 +108 1 1.85775 0.858752 2.6061 9.12182 6.5265 -4.79678 +109 1 3.23269 0.0488049 1.82801 0.784922 27.4455 -30.2613 +110 1 4.21175 0.99942 1.57195 -9.49462 -27.3711 22.4225 +111 1 4.21293 0.25409 2.38861 -7.75181 -9.25535 -4.23311 +112 1 3.32934 0.964581 2.65137 -6.01516 -9.0041 -1.19732 +113 1 4.9787 0.193499 1.50831 -4.98755 -8.3429 -3.28083 +114 1 6.09517 0.531101 1.76326 -28.5995 19.6806 -10.71 +115 1 5.85753 8.23852 2.51303 -1.20503 -8.99564 8.87124 +116 1 5.17785 0.685106 2.40543 -1.30449 11.3507 4.36005 +117 1 6.91213 8.37413 1.83271 8.62238 -24.2277 10.2354 +118 1 7.62368 0.758482 1.85178 16.0234 8.8439 -5.1341 +119 1 7.66132 8.34118 2.51601 5.03438 -8.87196 18.1761 +120 1 6.82917 0.875718 2.51872 -7.12717 1.70889 8.15245 +121 1 0.0949053 1.53257 1.83348 -15.8355 -28.5862 13.9628 +122 1 0.822415 2.21502 1.73119 16.0449 19.2167 -17.682 +123 1 0.864878 1.50475 2.57372 12.4143 -0.0682656 8.67505 +124 1 0.199844 2.34986 2.54349 -13.4424 7.82132 10.7389 +125 1 1.68463 1.52556 1.71378 7.71699 13.5023 1.83995 +126 1 2.69369 2.59616 1.91546 -20.6965 -6.26723 -3.29779 +127 1 2.60471 1.76603 2.62425 -5.19989 2.78858 2.334 +128 1 1.44056 2.43723 2.51936 11.6798 4.82752 9.65183 +129 1 3.43446 1.65477 1.84942 -9.01773 7.52097 -5.37653 +130 1 4.19061 2.39179 1.65045 11.7616 -7.21515 -2.54075 +131 1 4.26672 1.39737 2.67586 10.1937 6.39563 -7.12371 +132 1 3.53921 2.577 2.549 6.10272 -3.10086 8.1996 +133 1 5.17395 1.33784 1.40963 0.810412 -15.8822 3.29742 +134 1 5.74074 2.13809 1.54869 21.9361 25.9957 -3.59082 +135 1 5.9363 1.515 2.34901 -9.46258 -12.7333 10.9894 +136 1 4.95982 2.19781 2.39856 0.709797 0.431383 -4.3853 +137 1 6.78917 1.32128 1.47071 -5.63197 2.68115 20.8841 +138 1 7.62581 2.16504 1.87345 17.6788 -6.34038 -2.38007 +139 1 7.68847 1.62015 2.88771 -1.999 -29.1097 -18.0204 +140 1 6.72066 2.18015 2.22288 -25.5596 -3.13399 14.9826 +141 1 8.10556 3.24278 1.47587 8.10057 -1.81275 -31.7951 +142 1 0.698788 3.89936 1.58833 21.0059 -8.7854 2.84332 +143 1 0.726156 3.39424 2.59236 2.18368 -0.846434 0.375997 +144 1 8.21488 4.03893 2.09204 -9.31366 21.6556 21.1016 +145 1 1.61294 3.13444 1.56982 -6.75222 2.4564 11.7453 +146 1 2.47309 3.97186 1.76449 2.21347 -7.98753 7.5428 +147 1 2.67292 3.22702 2.95068 5.54423 5.59107 -13.8219 +148 1 1.72826 4.2557 2.53344 -3.42962 -20.862 21.8798 +149 1 3.48214 3.13902 1.56572 3.70104 11.9942 4.11222 +150 1 4.3885 3.8788 1.62665 2.95307 16.2819 -22.5535 +151 1 4.3065 3.38859 2.48531 -9.81397 -19.0665 24.4754 +152 1 3.47101 4.13314 2.35987 0.052847 -5.96917 4.43729 +153 1 5.11162 3.02695 1.57487 -2.09605 4.71156 2.60925 +154 1 6.05823 3.77666 1.6683 -0.0795953 27.02 22.5131 +155 1 5.89604 2.8633 2.33341 1.61726 0.0933652 1.12851 +156 1 5.29152 3.73349 2.43504 2.35223 15.5067 -10.4051 +157 1 6.82698 3.04592 1.66447 4.37333 2.796 -3.08497 +158 1 7.47158 4.33914 1.21316 -2.11938 -7.51647 -10.9268 +159 1 7.68828 3.1018 2.37066 -8.14673 6.79824 16.7729 +160 1 7.09384 4.0081 2.08909 -5.93874 -19.0069 4.73504 +161 1 8.1255 5.22391 1.77055 19.2122 -25.3413 6.96334 +162 1 0.62612 5.90176 1.99772 9.96713 -14.5554 -17.3464 +163 1 0.76801 4.79289 2.36504 -2.78355 1.48316 -1.85895 +164 1 8.18318 5.95034 2.62286 5.26633 -16.349 1.23379 +165 1 1.81648 4.94963 1.84319 1.29255 4.07737 -28.8924 +166 1 2.40619 6.07189 1.89723 9.11627 0.0929027 -31.5253 +167 1 2.58707 5.01704 2.50938 -14.4694 3.44726 -14.5204 +168 1 1.72272 5.71364 2.51972 -25.0056 3.38939 29.4203 +169 1 3.42498 4.85355 1.57173 -14.1697 1.2804 16.3608 +170 1 4.15303 5.79502 1.71807 -6.58651 -0.238746 -3.12281 +171 1 4.46167 4.86212 2.18786 -1.52672 -11.6836 -0.120829 +172 1 3.29589 5.94757 2.4039 5.86702 -13.0661 19.8541 +173 1 5.03295 4.96131 1.30642 14.6935 -5.33684 5.62219 +174 1 5.82775 5.80433 1.62537 -3.48018 5.04048 -3.36734 +175 1 5.79583 4.80394 2.11298 -5.34853 -5.63002 0.159279 +176 1 5.01708 6.04912 2.32216 17.4276 -29.4439 17.4564 +177 1 6.71539 5.10912 1.63093 10.3915 -7.52696 11.1074 +178 1 7.41693 5.91425 1.78268 -24.8131 17.7871 4.30264 +179 1 7.12646 4.86445 2.63426 13.6393 21.9613 3.08537 +180 1 6.42336 6.18201 2.43584 15.1603 10.9548 -7.96948 +181 1 8.23881 6.55347 1.60468 9.12903 0.565206 1.23333 +182 1 0.678624 7.37322 1.88745 -5.46988 3.49615 -25.4292 +183 1 0.794621 6.6529 2.67297 0.0873755 -1.33888 6.26964 +184 1 8.30959 7.39568 2.5723 10.9372 15.1486 20.2523 +185 1 1.53592 6.72715 1.69313 10.3025 -8.32698 21.6565 +186 1 2.52873 7.48993 1.45805 2.51224 9.72508 0.958573 +187 1 2.57516 6.97533 2.39376 0.331622 5.62636 7.11361 +188 1 1.48127 7.49186 2.513 25.359 1.87736 0.862705 +189 1 3.42472 6.67917 1.69715 -9.14691 10.5288 -4.39359 +190 1 4.07864 7.56162 1.54537 -20.7523 -1.21573 5.0956 +191 1 4.22077 6.65705 2.50099 -12.9989 13.269 2.80638 +192 1 3.32476 7.76609 2.51834 12.0821 -31.6775 22.1813 +193 1 5.18316 6.78911 1.6853 -16.2098 8.5059 -12.8052 +194 1 5.76367 7.66024 1.61411 8.21393 8.40414 -2.16429 +195 1 5.72928 6.97443 2.55641 -4.2085 8.68736 -3.41382 +196 1 4.81509 7.65411 2.27112 9.64741 4.31731 11.3389 +197 1 6.71673 6.6577 1.40921 -4.23135 13.1654 3.72162 +198 1 7.9523 7.57862 1.62003 -19.0505 2.7611 2.11499 +199 1 7.55182 6.74669 2.5625 -26.4699 -4.16644 -1.81267 +200 1 6.71006 7.32273 2.23599 -2.19037 10.3011 3.68982 +201 1 8.3209 8.25724 3.44082 -11.2006 13.9316 -31.0885 +202 1 1.1383 0.707726 3.88488 2.87074 16.2111 -29.5751 +203 1 0.710637 8.17953 4.00977 26.7141 2.01724 45.2521 +204 1 0.017483 0.84611 4.17688 -4.01486 -16.4278 3.15279 +205 1 1.83485 0.022043 3.36625 6.99225 9.16158 -10.2142 +206 1 2.5734 1.02544 3.4638 -2.67645 -0.861554 5.53773 +207 1 2.46831 8.35234 4.18841 -8.88118 2.57467 1.82808 +208 1 1.9704 0.882634 4.50547 -3.01692 -0.258051 -7.68015 +209 1 3.15194 0.11929 3.26603 1.99843 -0.203753 6.521 +210 1 4.16362 0.594977 3.39201 1.91533 3.30238 12.0146 +211 1 4.48096 8.3197 4.27248 -34.7907 27.9025 -6.28307 +212 1 3.49096 0.991035 4.39487 -18.0924 -11.2469 -3.89782 +213 1 5.15221 8.33246 3.40287 -4.49662 4.44033 -5.3065 +214 1 5.83668 0.780008 3.22544 8.18869 5.41063 4.37051 +215 1 5.71056 8.31473 4.3397 -0.683085 13.1798 -1.88784 +216 1 5.01734 0.796017 4.33297 -1.83196 10.7479 -11.7081 +217 1 6.55531 0.0226915 3.33292 8.64001 -7.40459 4.85944 +218 1 7.40254 0.734891 3.44283 9.92215 2.2266 -9.49047 +219 1 7.60175 8.41313 4.17692 -11.7492 9.12522 14.6015 +220 1 6.69717 0.884026 4.20434 -2.52907 -5.48675 3.38708 +221 1 0.266587 1.50956 3.42506 -7.49445 4.66836 1.70669 +222 1 0.834612 2.3929 3.4535 3.19311 14.9998 -2.79098 +223 1 0.966342 1.70753 4.27772 -2.38166 -3.63555 7.29451 +224 1 8.31528 2.54359 4.03878 16.7451 -1.36482 20.306 +225 1 1.65675 1.69619 3.39484 3.12529 -6.34044 -1.62009 +226 1 2.21998 2.62053 3.66497 -8.94713 -4.89956 5.05059 +227 1 2.70158 1.84855 4.22365 -4.21065 -7.00328 -1.279 +228 1 1.73069 2.39291 4.69998 -11.0397 -15.2385 -11.7518 +229 1 3.63597 1.81901 3.49635 -5.37102 -6.0004 0.428615 +230 1 4.5181 2.45307 3.50704 1.92291 5.38714 1.37796 +231 1 4.28022 1.61295 4.532 11.684 13.523 -0.759472 +232 1 3.49161 2.67545 4.21356 3.70186 4.50981 -2.53687 +233 1 5.05676 1.45985 3.45113 -18.7528 -7.6908 -2.02124 +234 1 5.59639 2.31007 3.23954 13.071 6.11501 -14.1907 +235 1 5.90515 1.58558 4.07201 2.34854 -1.44676 5.83562 +236 1 5.6448 2.61062 4.20904 5.92031 11.7583 11.4648 +237 1 6.60245 1.81532 3.22394 -0.344578 -17.0844 -10.2298 +238 1 7.7209 2.5366 3.23021 -13.9757 26.3091 7.5372 +239 1 7.59991 1.69339 4.17685 -3.31209 -2.6982 -2.62135 +240 1 6.7571 2.48096 3.97019 3.90879 12.298 15.8753 +241 1 8.32132 3.59836 3.32434 15.1974 -18.6025 -8.65377 +242 1 0.758776 4.28533 3.41911 8.12571 10.2206 -6.43372 +243 1 0.714283 3.43939 4.05789 10.8012 -17.4951 -4.32355 +244 1 8.37038 4.20103 4.16336 -19.0683 10.428 -9.16118 +245 1 1.7111 3.58985 3.37102 -4.50013 -9.39619 -9.22108 +246 1 2.7295 4.29586 3.34058 -27.7709 -28.5377 3.76594 +247 1 2.75779 3.49033 4.0215 3.07014 12.8072 -10.7423 +248 1 1.81597 4.04867 4.27403 8.34757 5.06165 3.43123 +249 1 3.63217 3.50284 3.43026 7.64322 -9.23013 -17.5251 +250 1 4.42979 4.3957 3.21235 -5.21891 -3.02116 0.669719 +251 1 4.46277 3.52681 4.13413 -5.3566 -4.51807 -16.5208 +252 1 3.52987 4.30614 4.06609 5.60483 14.7001 10.5939 +253 1 5.31574 3.44078 3.42467 1.48508 -5.70873 13.1076 +254 1 6.44336 4.14284 2.93215 -36.0911 1.99853 0.657603 +255 1 6.52296 3.60341 4.02819 -0.573509 -3.99567 -1.18998 +256 1 5.23388 4.48156 3.97453 6.55779 -4.33302 -0.590571 +257 1 6.75544 3.08581 2.98548 -20.753 -29.7898 -6.93237 +258 1 7.36113 3.83069 3.18965 17.3707 23.8596 11.1094 +259 1 7.68707 3.36428 4.36221 -8.90323 13.3285 -23.8114 +260 1 6.58157 4.70256 3.96292 -12.6487 -1.89838 -2.64764 +261 1 8.03895 4.72186 3.2072 7.03567 0.390199 -0.150374 +262 1 0.641986 5.57832 3.32415 -3.93783 9.97933 -29.9316 +263 1 0.748525 5.2954 4.26917 10.3198 11.1143 16.7142 +264 1 8.33552 6.07931 4.24855 1.05812 -13.5964 19.1647 +265 1 1.90145 4.96491 3.42288 -7.34814 1.12325 1.52157 +266 1 2.61408 5.80343 3.49254 4.58835 0.11833 -14.0758 +267 1 2.80014 5.15473 4.32615 -31.6367 11.9713 -55.3412 +268 1 1.9564 6.07585 4.27618 -9.91164 -20.8823 -47.0179 +269 1 3.37946 4.96765 3.07865 55.664 27.3093 14.9143 +270 1 4.23608 5.59453 2.88525 -18.9133 13.1689 8.33969 +271 1 4.44604 5.19737 4.14454 -7.57666 -13.265 -14.5347 +272 1 3.6416 5.84891 3.83409 2.65328 -4.22633 -4.19185 +273 1 5.15151 5.25659 3.1676 14.0924 -4.2121 3.02426 +274 1 5.82306 6.30397 3.36345 -4.54273 -6.47443 0.566248 +275 1 5.74908 5.5163 4.09569 25.3818 -3.33304 -26.8083 +276 1 4.83867 6.14359 3.79115 -4.65662 -0.583485 3.38738 +277 1 6.22614 5.32285 2.95137 -4.13422 -8.32687 15.6358 +278 1 7.32122 5.97196 3.33835 -0.00434101 -1.28454 -1.88403 +279 1 7.49659 5.17369 4.09183 8.55988 6.64783 3.63555 +280 1 6.75151 6.22479 4.25773 -16.211 -27.6787 -10.8075 +281 1 8.29215 6.64155 3.42114 5.59717 18.8581 -19.6047 +282 1 0.763473 7.56557 3.23404 -12.9198 -1.64007 -15.2341 +283 1 1.0031 6.68313 3.72439 -4.3972 -14.7662 15.3222 +284 1 8.23363 7.61771 4.35977 7.30279 -9.1197 2.90547 +285 1 1.95141 6.6466 3.21786 0.736159 0.439247 -2.07076 +286 1 2.6385 7.59536 3.37124 -4.27783 -4.21174 -0.733124 +287 1 3.13092 6.60025 4.41497 -19.4938 11.5887 -14.0245 +288 1 1.65818 7.53719 3.85187 -1.11019 -9.22082 13.1065 +289 1 3.27775 6.71474 3.27823 1.67015 1.07042 -3.65835 +290 1 4.1525 7.8844 3.3351 -7.70608 -2.7891 -4.06245 +291 1 3.98551 7.08252 4.24517 31.7093 2.51435 -5.83578 +292 1 3.40048 7.93533 4.31596 7.03572 3.0716 -3.37554 +293 1 4.94636 7.13355 3.35885 -28.0161 -11.5072 -5.66389 +294 1 5.84413 7.52046 3.45751 31.3517 19.8289 8.4284 +295 1 5.90459 6.85513 4.30093 -7.30307 7.57049 -1.80424 +296 1 5.01344 7.53745 4.4217 23.0153 -42.676 2.37557 +297 1 6.69892 6.88846 3.31402 6.29068 2.24472 -2.02408 +298 1 7.47533 7.68601 3.37673 -12.6934 -11.1052 -3.87233 +299 1 7.49921 6.86202 4.09322 12.1924 13.0141 4.3943 +300 1 6.67133 7.90635 4.38865 4.30856 -16.1011 -10.8357 +301 1 8.27296 0.0768914 5.12036 9.18301 -5.97843 0.553246 +302 1 0.892643 0.477473 4.83579 -15.0913 15.4009 20.7636 +303 1 0.772154 0.130661 5.99646 -1.43861 1.07866 -2.10387 +304 1 8.25515 0.935072 5.88754 -0.221723 -11.6722 -2.23691 +305 1 1.48963 8.06671 4.97048 16.9477 -1.8997 -3.71962 +306 1 2.57496 1.15847 5.28752 41.8653 -9.27812 4.61709 +307 1 2.98732 0.492219 6.35067 -4.54422 -4.60939 3.20868 +308 1 1.84275 0.524647 5.86961 -0.917224 0.841047 0.660751 +309 1 2.97903 0.200446 5.09803 7.97745 -0.922342 6.62523 +310 1 4.26317 0.578438 5.09777 -3.02519 11.3137 -4.68966 +311 1 4.18994 0.120263 6.02339 -4.93913 2.59189 23.6551 +312 1 3.50295 1.24619 5.79637 -4.00764 -7.55023 -4.67003 +313 1 5.12205 8.32679 5.40632 -5.25746 3.73248 -3.11501 +314 1 5.80677 0.859185 4.97868 15.281 -0.410171 8.11126 +315 1 6.05354 -0.0201647 5.97574 -7.51195 2.16668 5.49645 +316 1 5.29101 1.10125 5.89955 -0.302158 5.37706 -3.33259 +317 1 6.70998 0.244047 5.12411 -32.2188 -6.24411 4.81733 +318 1 7.52467 0.777062 4.96861 20.8677 24.3354 -3.82818 +319 1 7.29721 0.136872 5.99355 7.05953 -3.3845 7.97045 +320 1 6.54852 0.902142 6.09075 8.2259 10.3777 -12.9847 +321 1 8.3753 1.53724 4.98157 2.17311 8.15625 3.98817 +322 1 0.71432 2.51412 5.02068 -12.4966 -5.84806 3.10051 +323 1 0.855781 1.46858 5.93628 -12.4576 1.96544 0.341226 +324 1 8.11454 2.43493 5.75559 5.15623 -3.74122 1.07022 +325 1 1.70238 1.57115 5.35189 -38.5773 5.62525 -16.043 +326 1 2.46473 3.0428 4.8535 14.9609 2.21644 20.6584 +327 1 2.4829 2.11442 5.80082 20.2757 20.5564 -2.76238 +328 1 1.44662 2.4329 5.9576 0.543772 11.9562 -7.2005 +329 1 3.29597 2.05528 5.06702 2.85074 -1.27902 5.48838 +330 1 4.71392 2.67227 4.67311 -16.586 -2.70867 4.26173 +331 1 4.23981 1.93327 5.61065 17.5416 10.5589 -1.008 +332 1 3.69151 2.91031 5.72032 0.213325 2.13196 -1.69169 +333 1 5.26041 1.83667 5.02123 6.06702 -8.01086 0.159199 +334 1 6.29681 2.56022 5.09106 -5.44623 -0.683824 -15.8447 +335 1 5.97089 1.97948 5.90875 -1.39581 -8.65091 2.36208 +336 1 5.32016 2.78712 5.54952 10.0834 -7.57686 9.12967 +337 1 6.76335 1.53665 5.10381 -6.49311 3.28388 -1.62508 +338 1 7.39244 2.59867 4.94069 -6.65618 -18.4022 10.6664 +339 1 7.39034 1.59037 5.98163 7.99848 2.50507 -1.85372 +340 1 6.86792 2.60296 5.96513 8.836 -3.98323 2.68287 +341 1 0.137435 3.52069 4.93684 -4.66205 -5.7882 5.56144 +342 1 0.88525 4.34994 4.6075 2.988 -8.04302 19.8618 +343 1 0.671447 3.60221 5.79043 18.0943 -16.6493 20.2037 +344 1 8.34285 4.28087 5.95434 -19.6744 13.1619 0.969809 +345 1 1.33416 3.36295 4.99473 8.92189 5.92429 -2.5153 +346 1 2.50305 4.23267 5.05465 -27.5248 -20.908 0.492103 +347 1 2.36725 3.37012 5.84923 -17.1073 -9.96579 7.0021 +348 1 1.45211 4.29673 5.57493 7.54138 6.26423 2.50823 +349 1 3.47656 3.71778 4.99943 12.588 -10.9937 -32.8348 +350 1 4.53758 4.28685 4.7978 -5.49767 21.5926 5.59595 +351 1 4.66123 3.56451 5.54467 -12.8933 9.0868 3.25853 +352 1 3.16215 4.0016 5.8872 6.62501 12.8548 34.5501 +353 1 5.39268 3.59146 4.74919 -4.73905 -31.3011 -11.4087 +354 1 5.76113 4.47956 4.9574 18.7428 32.3973 -5.18443 +355 1 5.78815 3.80587 5.78982 -7.10304 0.117864 -2.90029 +356 1 5.02789 4.67913 5.68892 -14.5359 -3.59396 7.83253 +357 1 6.67716 3.56196 5.1655 1.61752 2.79183 -0.67852 +358 1 7.59448 4.24592 4.9803 -6.50366 -1.98045 6.72657 +359 1 7.59718 3.39514 5.76655 2.21878 7.1556 0.646608 +360 1 6.80163 4.43627 5.8851 -3.03056 -0.645399 -10.9559 +361 1 8.29576 5.01058 4.81068 0.626199 13.0736 14.2059 +362 1 1.05047 6.19551 5.02762 -0.156468 -7.32209 -14.0064 +363 1 0.578297 5.15849 5.72641 1.63655 2.26956 0.551951 +364 1 8.23943 6.07268 5.87533 8.87399 -0.526239 1.15285 +365 1 1.76527 5.31835 4.93011 -1.00084 -16.0238 11.4126 +366 1 2.88183 5.91468 5.07925 -22.1885 -17.105 2.25231 +367 1 2.65936 4.93415 6.03537 0.686882 11.6758 -2.90902 +368 1 2.03447 5.84592 5.92534 2.47635 -18.2138 -25.6325 +369 1 3.24392 4.86959 5.11086 62.6624 1.69747 54.073 +370 1 4.07402 5.91621 4.83335 -4.98562 8.578 9.29517 +371 1 3.92826 4.74513 6.11781 2.52773 6.36319 -4.5061 +372 1 3.44964 5.83627 5.89312 16.6713 -3.51566 20.823 +373 1 5.12814 5.53194 4.84592 -22.4422 -5.59515 37.2611 +374 1 5.90308 6.17208 5.1146 -12.9736 21.9443 6.65273 +375 1 5.95357 5.13374 5.81819 6.93561 8.02219 4.14964 +376 1 4.75268 5.76162 5.94655 1.5775 -0.40438 -5.87077 +377 1 6.51586 5.41565 4.90612 17.2134 -26.1979 -1.37429 +378 1 7.5279 5.93793 5.01527 -3.38884 15.9345 -12.1825 +379 1 7.6332 5.21687 5.72128 4.22628 -40.3472 -14.2075 +380 1 6.64022 6.14894 5.87989 13.3598 -6.13205 -0.934618 +381 1 8.34458 6.85129 5.15926 -14.2808 -7.95422 -4.25663 +382 1 0.833911 7.25078 4.85532 9.11386 4.17832 -8.89911 +383 1 1.06673 6.48225 6.01607 -14.203 -6.44505 8.15493 +384 1 -0.0379195 7.65497 5.88016 -1.75378 4.76646 1.63712 +385 1 2.12599 6.69323 4.98422 2.81787 34.3524 37.6883 +386 1 2.84758 7.50703 5.20442 -10.9987 17.1664 -16.5728 +387 1 2.77128 6.71691 5.85642 -9.44911 -10.1768 15.1935 +388 1 1.58013 7.32255 5.72901 16.1676 5.29147 -4.24753 +389 1 3.6768 6.91779 5.33962 13.4611 -20.8664 1.96557 +390 1 4.03881 7.88236 5.22897 2.57592 -0.812644 -11.9679 +391 1 4.4232 6.75921 6.19682 -8.5477 -5.71312 7.44018 +392 1 3.24799 7.72667 6.18249 0.719386 0.220585 -2.48264 +393 1 4.83295 6.89566 5.2507 4.97045 -2.42982 -4.77289 +394 1 5.87897 7.61282 5.14968 -20.2612 -0.49131 -22.7769 +395 1 5.75942 6.67532 6.09541 -7.34504 3.57141 -0.447292 +396 1 5.14318 7.54839 6.30602 2.0724 10.313 -0.219969 +397 1 6.74639 6.92855 5.00696 6.96871 -0.230218 1.29861 +398 1 7.3805 7.8124 5.23875 7.69485 -10.0795 -7.08489 +399 1 7.52596 6.88746 5.90198 -6.42674 1.56965 2.19774 +400 1 6.51888 7.44621 5.87193 29.4637 -7.18826 32.3539 +401 1 8.28476 0.000423359 6.72306 2.02553 19.5279 -19.3713 +402 1 1.01888 0.905848 6.82221 -28.6303 -12.8009 -18.3361 +403 1 1.24262 8.30657 7.44334 -32.4348 0.998186 -42.9826 +404 1 0.0211475 0.824091 7.47144 0.973424 -13.5355 3.24171 +405 1 1.94007 8.12144 6.72811 7.36532 0.254467 -18.2635 +406 1 3.02097 1.5587 6.75498 -16.6323 -17.6578 -2.8331 +407 1 2.39982 0.0370076 7.66598 -2.14889 1.34284 -3.48663 +408 1 1.9688 0.847456 7.09398 30.835 -18.1107 26.5169 +409 1 3.29942 8.17609 7.18194 3.78499 -8.25924 -8.09048 +410 1 3.92844 1.06207 6.75726 8.02723 -15.5891 -9.47025 +411 1 4.52946 0.167766 7.50023 3.36063 -0.839689 -4.02118 +412 1 3.29302 0.728616 7.56048 2.70434 15.6737 2.80228 +413 1 5.10415 0.332413 6.57695 -15.8309 -23.3459 -1.79261 +414 1 5.90656 0.845621 6.88018 -8.12621 13.928 11.6173 +415 1 5.71058 8.18101 7.57391 -10.3063 5.31817 -1.8554 +416 1 4.82988 1.18118 7.265 13.8593 7.32067 6.7543 +417 1 6.57919 8.43785 7.00021 11.8406 5.1504 -4.86933 +418 1 7.5282 0.806752 6.77786 -1.5451 6.42857 5.82496 +419 1 7.48349 8.33572 7.57521 5.34797 11.8467 16.9658 +420 1 6.70557 1.08836 7.47923 9.5713 -7.54062 13.1357 +421 1 0.0382442 1.56126 6.72749 -0.0966071 11.4911 -0.854867 +422 1 0.869187 2.34639 6.83989 -3.61656 -2.89703 1.60294 +423 1 0.999275 1.45672 7.67633 -8.0034 9.48038 5.5647 +424 1 0.139215 2.63275 7.64328 -15.7892 -20.5267 5.19008 +425 1 1.88893 1.53066 6.37684 -7.83006 6.68056 5.79142 +426 1 2.1935 2.73769 6.82665 18.0903 -33.7124 -24.8324 +427 1 2.37018 1.89864 7.50076 -8.8745 -17.5059 -13.2094 +428 1 1.48561 2.41457 7.71452 -8.23366 6.90197 4.22635 +429 1 3.39063 2.48859 6.68098 16.1595 11.6225 -22.1191 +430 1 4.55604 3.04369 6.47522 -16.239 -17.1818 -0.0461326 +431 1 3.92972 1.83682 7.47298 10.0225 0.0134714 -13.9461 +432 1 3.03012 2.73851 7.57823 -7.17652 4.30522 18.5475 +433 1 5.02119 2.07008 6.4546 -13.5258 -22.6225 -4.75661 +434 1 5.65211 2.81921 6.68199 10.7014 16.4385 -2.46135 +435 1 5.81386 1.77715 7.51287 -3.39579 0.139075 -0.667502 +436 1 4.71678 2.54344 7.41951 15.4924 -28.3106 -11.236 +437 1 6.66707 1.83619 6.71865 -2.24275 1.62817 8.66814 +438 1 7.65934 2.42567 6.78337 1.29364 23.1589 -24.9484 +439 1 7.60492 1.76056 7.50233 6.44148 -25.2098 19.19 +440 1 6.42541 2.6971 7.41321 1.20391 11.9169 -7.49803 +441 1 0.132604 3.18129 6.70867 -2.29445 4.14817 -3.79866 +442 1 0.662351 4.17412 6.80772 -12.4952 0.818831 -9.43638 +443 1 0.788837 3.4069 7.65946 13.9586 12.3209 -0.784492 +444 1 8.14087 4.12742 7.481 16.3072 -9.43806 5.16356 +445 1 1.48457 3.42655 6.6105 -23.5819 5.37731 -5.67472 +446 1 2.19532 4.19793 6.62241 18.5812 -12.748 4.0704 +447 1 2.03418 3.35836 7.57671 1.74798 18.3537 22.2752 +448 1 1.46881 4.26381 7.4306 10.5669 6.85755 16.1187 +449 1 3.40116 3.57046 6.96596 -19.5489 -14.8384 -6.51121 +450 1 4.14086 4.23036 7.04697 14.6332 24.1596 -34.0677 +451 1 4.37587 3.46381 7.58097 -0.667569 -11.1793 25.3659 +452 1 3.3081 4.23862 7.84495 3.59222 -23.7983 19.5534 +453 1 5.02719 3.92296 6.55308 10.3874 19.2736 1.42121 +454 1 5.99108 4.37569 6.77029 -42.1869 -21.9594 -11.1356 +455 1 5.60639 3.61515 7.4373 -8.14506 -14.6497 -3.14446 +456 1 5.05417 4.46396 7.7264 -7.96475 -5.84314 -22.6526 +457 1 6.56389 3.51182 6.41915 7.41692 -2.85266 9.06964 +458 1 7.47152 4.32616 6.69237 -6.16955 -7.38805 -5.63513 +459 1 7.53898 3.20716 7.62579 -2.06037 -6.09637 -1.14724 +460 1 6.59589 3.90993 7.45755 23.4751 -0.996001 13.7582 +461 1 8.21483 5.0816 6.83956 12.3265 -1.95746 -0.89439 +462 1 0.465403 5.98278 6.74845 -2.0373 -17.3355 -17.4636 +463 1 0.511394 5.19401 7.82937 -10.2185 -4.74355 -3.50015 +464 1 8.12271 6.05839 7.46163 -7.84524 3.1436 -8.24587 +465 1 1.48514 4.9291 6.5693 -9.22109 4.87392 -22.494 +466 1 2.40623 5.73649 6.97099 14.0591 -30.3418 -0.240996 +467 1 2.41461 4.96776 7.80425 -3.8539 -8.74065 -18.3704 +468 1 1.44923 5.49011 7.41 13.6015 -14.5185 13.7078 +469 1 3.24542 4.75566 7.0008 -15.7357 21.5396 -25.2781 +470 1 4.03587 5.88736 6.84618 18.4928 -13.3364 -12.8531 +471 1 4.10808 5.01612 7.64484 -5.1777 21.728 20.8534 +472 1 3.29694 5.8019 7.54893 0.566822 -11.9233 11.3035 +473 1 4.81889 5.07278 6.77721 5.06549 -4.43332 1.49875 +474 1 5.96641 5.77692 6.72214 -33.9279 46.677 -28.2473 +475 1 5.88193 5.34623 7.60234 -1.49551 -23.3855 17.2998 +476 1 4.83941 5.81133 7.62234 25.0546 -26.9624 -0.550707 +477 1 6.63577 5.08354 6.75153 63.1873 3.33413 5.12133 +478 1 7.44477 5.7383 6.53202 -8.94815 26.2377 30.0386 +479 1 7.45353 4.90407 7.60234 6.61529 10.6464 -15.3985 +480 1 7.05207 6.05238 7.85033 -15.5225 4.97074 -5.49642 +481 1 8.33549 6.95757 6.75022 0.367032 -2.97861 0.255273 +482 1 0.891414 7.50932 6.49478 -4.83629 2.79466 11.3618 +483 1 1.06555 6.40917 7.42656 -9.40876 15.4887 12.6203 +484 1 0.19507 7.80618 7.47535 7.27195 -18.2248 4.26121 +485 1 1.90915 6.5235 6.63557 -10.6214 46.709 18.7487 +486 1 2.60482 7.35009 7.06318 -2.87326 8.86923 -10.12 +487 1 2.54785 6.52686 7.66612 -14.5904 -1.60347 8.59865 +488 1 1.54201 7.28494 7.4147 7.26892 14.9372 -8.95427 +489 1 3.42163 6.7113 6.72693 -9.74068 0.0780566 2.81617 +490 1 4.07503 7.52705 6.85904 11.3718 5.59625 6.13428 +491 1 4.17032 6.5317 7.69612 -24.7224 6.99609 -12.8841 +492 1 3.30541 7.28919 7.8835 -6.45113 3.62128 -9.60987 +493 1 5.18135 6.6767 7.03146 3.30189 -12.2169 -7.11599 +494 1 6.1441 7.48882 6.87735 -8.40006 -9.95553 -2.76953 +495 1 5.99111 6.52776 7.79328 26.4283 6.66779 -19.7705 +496 1 4.88188 7.45813 7.61707 18.1033 18.9899 -14.9739 +497 1 6.70265 6.55612 6.94114 4.37785 1.73726 -4.76735 +498 1 7.52255 7.69097 6.78657 -11.7433 -15.8982 -13.9562 +499 1 7.60662 7.23551 7.85952 12.3776 -11.2962 -9.39843 +500 1 6.63368 7.62048 7.85195 7.88485 3.15928 -11.7162 +ITEM: TIMESTEP +300 +ITEM: NUMBER OF ATOMS +500 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +0.0000000000000000e+00 8.3979809569125372e+00 +ITEM: ATOMS id type x y z f_2[1] f_2[2] f_2[3] +1 1 0.233349 8.13006 8.37458 -13.2268 13.2109 8.94155 +2 1 0.896766 0.85308 8.30255 3.22629 3.6978 6.45643 +3 1 0.859864 0.0707018 0.945242 -23.4126 -16.0712 -18.9613 +4 1 0.0588758 0.842768 1.07285 9.62638 -2.91549 -12.4893 +5 1 1.77938 8.21846 0.149185 -27.8434 -16.3109 -1.32989 +6 1 2.24018 0.700289 8.36085 16.269 9.92358 -3.41709 +7 1 2.6315 8.21417 0.711168 13.3859 0.245092 -3.82819 +8 1 1.39092 0.935915 0.985394 12.7346 13.01 -5.10945 +9 1 3.3176 8.39636 8.17869 -11.566 -16.9274 13.6338 +10 1 3.85219 0.815062 0.0370236 10.4004 28.9589 -3.67884 +11 1 4.161 0.0319779 0.627546 1.75904 -7.59281 -2.75644 +12 1 3.11636 0.817642 0.847547 4.80203 -27.6102 -6.44654 +13 1 5.13793 8.3571 8.28888 -5.17208 4.97346 2.0085 +14 1 5.70385 0.905818 8.12031 -17.8373 19.4407 -6.83741 +15 1 5.79877 0.0963845 0.817928 -4.38032 -1.5507 0.666839 +16 1 4.98412 1.21117 0.664665 -21.555 -8.66432 0.346644 +17 1 6.45061 0.296088 8.38812 3.42924 -28.9348 -2.0588 +18 1 7.77702 0.350545 0.295684 -0.731277 11.544 -2.82186 +19 1 7.70462 8.17101 1.16161 -8.03851 17.5755 -13.9844 +20 1 6.86494 0.586624 0.875444 5.58847 2.16197 13.2587 +21 1 0.100678 1.61145 0.0186749 -1.1873 -11.6656 4.66894 +22 1 0.998429 2.3998 8.22988 -7.28085 -4.5005 5.89326 +23 1 0.828996 1.87962 0.867267 -19.2592 -9.93125 -3.90703 +24 1 8.27374 2.4894 0.580898 8.78255 -11.7455 7.53659 +25 1 1.74048 1.62493 8.26739 -9.18296 -12.9889 2.92816 +26 1 2.39558 2.37629 0.0600193 9.87685 24.4855 1.90731 +27 1 2.45445 1.58898 0.877492 -32.2642 -6.64837 2.63885 +28 1 1.65243 2.45558 0.846906 19.966 -6.37675 -0.113589 +29 1 3.02408 1.54485 8.35689 5.59986 -7.64836 -2.85923 +30 1 3.92 2.20197 8.38732 -20.8443 12.2841 2.52306 +31 1 3.77985 1.57027 0.846646 20.9907 13.6119 -1.22324 +32 1 3.10388 2.34584 0.944358 6.32701 23.9593 -3.77688 +33 1 4.85706 1.878 8.25981 8.11354 -3.87323 -9.47245 +34 1 5.78268 2.09333 0.29673 -1.36849 16.4599 4.03726 +35 1 5.97863 1.20376 0.790291 32.0463 2.36619 -11.4383 +36 1 4.88385 2.45634 0.850397 9.78281 -16.7958 -1.62774 +37 1 6.62285 1.61835 8.29579 8.05661 -4.4773 5.02204 +38 1 7.55399 2.56197 8.18132 12.8994 -8.38166 15.4695 +39 1 7.59924 1.47112 0.768275 -0.340381 -2.67871 -5.54587 +40 1 6.74877 2.64386 0.753723 -17.0902 -18.9793 -10.4389 +41 1 8.35722 3.30339 8.29621 3.88209 -7.05803 1.13469 +42 1 0.765977 3.99405 0.477073 10.4517 2.49603 -17.2656 +43 1 0.831221 3.06707 0.900453 -8.35587 -6.78904 7.02328 +44 1 0.140436 4.39767 1.19127 -1.57081 11.5239 1.23833 +45 1 1.55351 3.27393 8.36662 -0.118073 6.26889 7.92677 +46 1 2.48303 4.16731 0.14908 -13.7582 -4.26857 1.92322 +47 1 2.37333 3.17517 1.02067 -14.4692 6.50264 -31.5071 +48 1 1.65701 4.17058 1.15287 -1.5797 -1.97941 -12.8817 +49 1 3.21438 3.21157 0.146996 -20.1594 -11.7694 11.9952 +50 1 4.28321 4.06082 0.235561 -7.01013 0.464645 -7.4456 +51 1 4.00184 2.96868 0.822048 -4.54826 25.7516 -18.5713 +52 1 3.26412 4.08833 0.821613 11.1851 4.36305 6.27367 +53 1 4.93889 3.19103 0.0459746 -2.17639 -1.1271 -7.48927 +54 1 5.93535 4.0528 8.21654 -1.56333 -1.65165 1.96928 +55 1 5.75576 3.15988 0.707778 17.6817 -13.2713 5.13403 +56 1 5.2315 4.02943 0.763223 -0.452475 -6.04463 7.12931 +57 1 6.80967 3.18308 7.98158 -23.2698 3.29018 18.9116 +58 1 7.84937 4.15894 0.139115 -10.2897 11.6744 2.993 +59 1 7.56351 3.24008 0.752033 -0.468845 18.0521 -12.3044 +60 1 6.70326 3.88955 0.624889 -0.941138 0.59008 2.25635 +61 1 0.263315 4.89557 0.260533 -21.3177 5.01328 -15.5704 +62 1 0.767954 5.80979 8.30607 7.59978 -5.84563 1.67074 +63 1 1.01162 5.03409 0.908989 7.54529 2.69929 16.3999 +64 1 8.38725 5.83431 1.00337 3.61589 -4.15339 -6.36164 +65 1 1.65923 4.84747 0.0732901 -12.2718 -7.14452 -1.11973 +66 1 2.34253 5.60198 8.30655 7.91513 22.3685 24.006 +67 1 2.47075 4.92775 0.922768 -5.69599 3.89765 2.66746 +68 1 1.65076 5.8624 1.08155 8.28384 13.1663 -26.7168 +69 1 3.21032 4.96288 0.0718385 6.90275 12.0583 4.83562 +70 1 4.31683 5.81091 8.2445 -6.07106 16.001 24.4162 +71 1 4.0022 5.10933 1.08243 -0.987394 -5.51353 -4.14418 +72 1 3.08952 5.8543 1.08001 20.7019 -13.8856 -23.646 +73 1 5.04193 4.8848 0.236201 -6.75887 8.84809 -11.6728 +74 1 6.01036 5.86922 0.147762 0.616812 -0.708561 -9.8882 +75 1 6.00591 4.76669 0.704892 -5.00399 3.30231 -11.9912 +76 1 5.15986 5.7957 0.727818 -36.1273 9.99449 -4.0864 +77 1 6.87642 4.89744 0.140008 2.16293 1.86546 -13.7103 +78 1 7.84039 5.5603 8.24691 -4.77039 2.45387 6.97935 +79 1 7.61247 4.95216 0.884224 61.5464 5.54866 -31.4574 +80 1 7.13999 5.87097 0.66837 -10.4004 0.446979 -1.0889 +81 1 0.284976 6.68434 0.215945 -19.2498 8.05662 -14.0567 +82 1 0.982876 7.472 8.30358 11.1034 -5.67626 13.795 +83 1 0.874256 6.63686 1.03265 -11.7399 -6.70777 -2.09767 +84 1 0.12523 7.53526 1.06205 -15.5002 -8.52158 -32.9301 +85 1 1.53836 6.56542 0.124336 5.81155 -2.74575 2.70263 +86 1 2.45566 7.24014 0.163939 -13.7862 7.0524 3.90305 +87 1 2.38368 6.64181 1.16489 5.19309 13.0368 -14.4547 +88 1 1.55777 7.42064 0.955187 2.95317 9.919 -9.12596 +89 1 3.26105 6.57879 0.277391 6.19764 -3.88127 -4.29904 +90 1 4.21681 7.50418 8.36589 0.418779 7.33048 -0.673966 +91 1 4.2136 6.71573 0.805769 6.02261 -2.81289 0.798739 +92 1 3.49573 7.57967 0.77094 -13.8185 -15.1907 -22.6007 +93 1 4.97943 6.65519 6.77102e-05 6.49698 2.41559 -0.5205 +94 1 5.78763 7.50739 0.0292034 7.17211 6.93093 1.18788 +95 1 5.70061 6.80412 0.815144 6.83872 -8.02569 -5.22668 +96 1 4.96155 7.64188 0.754906 -1.40971 0.48378 3.60676 +97 1 6.62543 6.75834 0.212141 20.3815 -6.72799 19.0936 +98 1 7.5054 7.54064 0.228699 5.02405 -0.59125 8.31674 +99 1 7.62741 6.7648 0.966544 10.8528 -1.51524 -6.86782 +100 1 6.51764 7.61106 0.794066 -3.58188 15.2202 -2.22905 +101 1 0.0861403 8.39942 1.77523 16.561 5.47177 12.0456 +102 1 0.798241 0.867486 1.90283 5.83429 -6.22483 -1.18959 +103 1 1.01882 8.16093 2.58804 1.69129 37.21 2.68102 +104 1 8.26047 0.933232 2.39213 16.6191 -6.94084 19.3019 +105 1 1.5043 8.31602 1.70005 24.5225 8.22354 6.48742 +106 1 2.3278 0.505699 1.44491 -1.87805 7.24432 12.5632 +107 1 2.30107 0.0675885 2.61736 -2.34035 -25.4089 0.204635 +108 1 1.65389 0.877547 2.65941 -7.28266 6.33447 -16.1438 +109 1 3.50019 8.31721 1.47862 -16.7888 14.1081 10.898 +110 1 4.01956 0.825924 1.54962 -26.8746 12.2857 6.16059 +111 1 4.07538 0.019132 2.44171 -4.87493 0.404402 -2.17065 +112 1 2.869 0.885962 2.4149 5.17917 -2.47967 0.533766 +113 1 4.73464 0.155071 1.4932 30.6868 -26.2406 6.98684 +114 1 5.62968 0.817396 1.64834 -4.04481 -8.77462 16.8173 +115 1 5.66865 0.0141325 2.50366 17.0023 -1.89327 -13.9307 +116 1 4.86842 0.817468 2.42132 32.27 -13.4362 -6.77265 +117 1 6.59541 8.31415 1.73549 -0.21361 15.3936 4.52423 +118 1 7.59767 0.742823 1.6565 -21.3952 4.75735 -8.6823 +119 1 7.60945 8.3635 2.38741 -3.47518 -4.35582 8.08118 +120 1 6.64964 0.766964 2.59458 1.86331 7.94862 -15.7507 +121 1 0.0966564 1.72383 1.66126 -2.3646 2.96568 -2.77323 +122 1 0.838875 2.52792 1.96878 -8.15441 10.7797 -1.95863 +123 1 0.90776 1.65168 2.68747 -10.1162 -2.78056 -2.47535 +124 1 8.34426 2.2614 2.55151 21.19 -10.0612 15.2043 +125 1 1.46427 1.72978 1.76157 8.28796 -9.22695 -3.48387 +126 1 2.37501 2.29161 1.76614 -0.0664736 7.90276 1.49641 +127 1 2.67166 1.85508 2.81423 -4.33867 8.71682 -6.36279 +128 1 1.69129 2.40006 2.69001 -6.84808 74.503 -77.1336 +129 1 3.2606 1.69371 1.92128 -6.02725 -3.6159 -16.3817 +130 1 3.94104 2.38885 1.63591 5.99851 11.0997 18.049 +131 1 4.04449 1.32304 2.52718 -28.9333 17.8748 13.0885 +132 1 3.64404 2.34301 2.71879 -4.29604 2.09188 -4.97764 +133 1 4.64091 1.6418 1.58405 19.1918 -0.189122 5.88078 +134 1 5.88395 2.31133 1.52544 0.0797298 5.40617 -9.4435 +135 1 5.7987 1.64961 2.35436 -3.46325 -3.79932 12.9903 +136 1 4.78244 2.22308 2.51874 2.01011 -1.75623 -4.81914 +137 1 6.65439 1.55727 1.69251 0.0481382 -10.7878 -2.86985 +138 1 7.4609 2.22018 1.51079 9.36137 15.4008 -1.67913 +139 1 7.50576 1.63853 2.4128 -2.97032 -17.2864 -0.621812 +140 1 6.87214 2.43415 2.42038 -30.5876 3.19651 2.74052 +141 1 8.27498 3.12542 1.46263 16.9155 1.32854 13.6822 +142 1 0.778659 3.95642 1.86807 -7.25106 -12.2522 -5.40095 +143 1 0.798965 3.10856 2.99966 -8.51883 26.4353 -21.6316 +144 1 8.39629 3.85082 2.58225 -5.99614 1.48776 4.40527 +145 1 1.68381 3.21805 1.79101 -5.77633 -5.0861 7.47296 +146 1 2.56903 4.03114 1.71918 -6.92524 18.9919 2.42009 +147 1 2.68821 3.054 2.58052 -0.955464 -0.812242 -0.180548 +148 1 1.68992 4.20726 2.20027 5.368 3.11181 32.2719 +149 1 3.19042 3.29104 1.54336 50.4233 -29.9172 14.5641 +150 1 4.30208 4.0236 1.30142 -3.92395 -1.77865 11.4065 +151 1 4.28898 3.18994 2.59219 8.96711 6.3942 -10.7611 +152 1 3.60727 4.0096 2.21837 0.742083 4.13896 4.48687 +153 1 5.11886 3.09922 1.66619 -2.87182 6.36609 5.71268 +154 1 5.98984 4.3721 1.6574 7.23512 -22.1503 15.9695 +155 1 6.06757 3.38048 2.48886 -0.631751 -1.09061 1.54872 +156 1 5.04095 4.05582 2.29794 7.98224 -6.57422 -3.38111 +157 1 6.80585 3.23363 1.61955 1.81547 4.43083 5.90353 +158 1 7.6107 4.12271 1.4985 -13.6918 -18.0547 7.51636 +159 1 7.71076 3.00605 2.3508 1.14441 21.4666 -12.0177 +160 1 6.92831 4.10176 2.31565 -3.92153 2.58619 4.8482 +161 1 8.33973 5.1724 2.08404 -22.306 -14.8391 -35.8531 +162 1 0.860537 5.83051 1.79504 -25.5953 10.3696 1.23396 +163 1 0.802813 4.96181 2.52052 20.0549 -14.1798 16.2425 +164 1 8.20479 5.88748 2.7573 8.86056 43.8975 -14.7096 +165 1 1.62556 5.15881 1.79421 13.6671 -60.0224 -43.8322 +166 1 2.44832 5.82052 1.83706 -21.0979 -8.85922 15.9808 +167 1 2.35829 4.95884 2.60055 5.56499 -3.25718 -17.7316 +168 1 1.57047 5.68188 2.57793 3.26945 48.3874 60.3367 +169 1 3.12962 4.94115 1.79611 3.44797 3.66295 -7.67081 +170 1 4.533 5.88518 1.61818 -3.82507 3.84853 0.541056 +171 1 4.41047 4.91386 2.27111 -7.04817 9.97354 -0.554451 +172 1 3.1705 5.97206 2.56867 13.8835 0.36015 7.54685 +173 1 5.10201 4.84379 1.45925 -8.99072 13.7146 -7.42642 +174 1 6.04077 5.71462 1.17105 24.8221 7.94918 20.2395 +175 1 6.02655 5.34395 2.16117 8.67798 2.32994 -0.236737 +176 1 5.13754 6.13757 2.45889 -19.0768 2.88926 -22.199 +177 1 6.81157 4.98564 1.3948 -36.2833 4.79272 33.0954 +178 1 7.60086 5.99469 1.7372 -3.24829 -8.45789 -2.93345 +179 1 7.33283 5.34101 2.57932 2.07328 -12.097 -6.46632 +180 1 6.77196 6.24125 2.34214 -17.3674 -5.70799 13.1243 +181 1 0.0250537 6.6606 1.72753 8.49396 4.93702 8.33356 +182 1 0.795762 7.59079 1.77266 12.7999 -27.3678 15.1487 +183 1 0.926657 6.70523 2.69571 -0.793657 3.91691 -3.18748 +184 1 0.160908 7.59778 2.74546 -5.44053 4.97464 -19.9661 +185 1 1.54893 6.69469 1.77147 8.37496 4.15768 30.0144 +186 1 2.38553 7.66265 1.59156 1.85092 -2.31642 6.75994 +187 1 2.52893 6.74213 2.34554 9.20138 12.1517 -25.6716 +188 1 1.80175 7.4451 2.61158 -6.78811 17.5009 -13.1399 +189 1 3.38458 6.74038 1.57533 -10.1646 -3.59545 3.61897 +190 1 4.095 7.47851 1.58866 27.0187 15.4009 2.51878 +191 1 4.11379 6.83 2.37783 19.5598 -18.1657 -14.1463 +192 1 3.12959 7.71074 2.36405 10.6634 -2.49932 -15.2866 +193 1 5.08729 6.94297 1.62592 -21.1801 -24.4484 5.07107 +194 1 5.73581 7.71377 1.57745 5.16642 11.3097 -0.890489 +195 1 5.92001 7.08484 2.45291 -0.193261 -0.933403 -1.70059 +196 1 4.83819 7.59024 2.39768 8.18574 14.9342 11.0206 +197 1 6.61545 6.66525 1.38958 -18.6406 -25.8802 -11.2439 +198 1 7.15994 7.45994 1.57935 11.6501 4.19084 33.778 +199 1 7.56748 6.9114 2.40976 10.0926 4.81165 9.43494 +200 1 6.80428 7.72449 2.78938 -1.24224 -1.60677 -10.8659 +201 1 0.159784 0.136544 3.24366 -1.32953 4.05967 1.66335 +202 1 1.00698 0.811307 3.51207 1.50245 1.78035 6.01503 +203 1 1.34713 0.12551 4.66914 -24.521 -31.0514 3.16868 +204 1 0.0655245 0.668593 4.25847 -0.855275 2.59789 -3.35749 +205 1 1.74942 8.37675 3.57933 -10.207 -16.1779 -1.21978 +206 1 2.26863 0.82911 3.48792 22.6881 17.8048 9.09595 +207 1 2.33553 0.183914 4.4711 16.8323 -1.13179 -15.08 +208 1 1.7049 1.03332 4.4695 6.78822 33.3459 -7.07653 +209 1 3.29237 0.411287 3.32326 -2.12858 -4.79866 -0.866625 +210 1 4.21141 0.796867 3.72276 15.2258 15.2508 -15.0202 +211 1 4.33441 8.33993 4.30342 13.6521 7.25398 3.1725 +212 1 3.45786 0.725922 4.42039 -13.4693 -6.1715 4.46767 +213 1 4.89231 0.0473082 3.15782 -6.25621 1.30634 20.3282 +214 1 5.77362 0.736119 3.37748 -9.09312 1.23928 -13.4649 +215 1 5.99071 8.04065 4.47949 -15.8189 13.2428 -8.46949 +216 1 5.196 0.682234 4.2587 4.7081 -6.90451 -0.266688 +217 1 6.57106 0.145322 3.40637 19.3462 -23.2913 17.9258 +218 1 7.59401 0.663732 3.46257 -2.8602 2.11131 -2.24016 +219 1 7.44242 8.25412 4.2449 1.11307 19.9225 9.74876 +220 1 6.62382 0.709572 4.35284 3.66026 3.16927 -3.64727 +221 1 0.0779483 1.38159 3.37319 -4.4953 5.38733 3.01304 +222 1 0.974278 2.30233 3.53228 -23.5961 -13.9704 29.7447 +223 1 0.524182 1.77379 4.53785 8.44119 -12.0369 -19.76 +224 1 8.32657 2.54461 4.19453 11.685 -8.01921 4.29442 +225 1 1.79699 1.78778 3.36592 20.9053 -94.2146 75.3552 +226 1 2.26904 2.65097 3.69138 3.64635 0.74501 -3.21688 +227 1 2.67429 1.70202 4.43144 -1.62218 -6.52331 -3.16444 +228 1 1.67869 2.25152 4.52595 21.8057 -26.9163 -24.6655 +229 1 3.42529 1.64095 3.50559 7.24234 -14.969 7.63922 +230 1 4.36843 2.51227 3.48596 2.07064 -5.87084 11.4812 +231 1 4.83369 1.71242 4.31187 -12.4342 -5.24453 -2.55025 +232 1 3.42697 2.55135 4.03879 13.1661 -11.4647 -6.22039 +233 1 5.09889 1.5127 3.30322 -10.1348 7.40169 -7.59726 +234 1 6.05204 2.45182 3.35855 -5.34479 4.21286 -4.99107 +235 1 5.91247 1.54121 4.03978 -1.19872 3.24833 9.47786 +236 1 5.34566 2.59829 4.30389 3.31953 7.26855 -16.7286 +237 1 6.74657 1.65018 3.27179 -23.12 -29.0051 -3.67746 +238 1 7.53263 2.23686 3.30386 26.344 22.8452 7.39879 +239 1 7.49613 1.58204 4.21155 10.9589 -18.8504 -4.35663 +240 1 6.70452 2.2326 4.19472 -13.7578 19.073 -7.70781 +241 1 8.04948 3.18864 3.48276 7.81989 17.0755 -15.6642 +242 1 0.420364 4.02026 3.62891 2.0762 -18.0048 -13.8871 +243 1 1.02911 3.20723 4.10028 2.87528 5.61338 3.46722 +244 1 8.23518 4.59996 4.24867 -9.72892 -14.3069 11.6196 +245 1 1.79813 3.62221 3.14835 -2.38332 -26.1643 0.00682256 +246 1 2.74246 4.09054 3.06778 10.2172 -0.241531 -5.01738 +247 1 2.65108 3.56469 4.0066 1.29528 2.95166 -0.450344 +248 1 1.68753 4.16642 4.41008 0.531244 0.36282 -0.905409 +249 1 3.56157 3.26659 3.34031 -15.156 16.0178 -13.2173 +250 1 4.30786 4.20161 3.07587 -3.71718 9.6458 -20.0534 +251 1 4.29173 3.71129 3.93288 2.63232 -25.6185 20.4798 +252 1 3.34785 4.41255 3.95574 4.30294 0.337698 1.30747 +253 1 5.19196 3.15058 3.27975 2.68017 7.34728 -0.723223 +254 1 6.11836 4.37563 3.09786 3.48097 -0.455645 -7.15348 +255 1 6.16379 3.4966 3.8024 -0.493793 0.0328113 2.1336 +256 1 5.30251 4.52711 3.80393 -16.2632 -25.1941 -0.0075048 +257 1 7.08947 3.30091 3.10932 -23.6486 5.19633 4.56168 +258 1 7.44697 4.43668 3.27896 -0.511887 -2.93371 -0.292771 +259 1 7.26132 3.68038 4.11877 19.5278 5.77559 -31.2062 +260 1 6.65227 4.59556 4.02535 -2.98634 0.729124 1.77093 +261 1 8.32438 5.07972 3.31456 7.45197 -18.3523 8.49382 +262 1 0.7239 5.87238 3.35063 13.9037 -7.68163 -11.6827 +263 1 0.86133 4.86733 4.0112 5.23908 17.06 9.33784 +264 1 0.110376 5.99228 4.15088 -19.5006 -5.14624 15.1727 +265 1 1.63326 4.60922 3.31023 -1.76723 17.8491 2.08855 +266 1 2.40135 5.61695 3.38494 19.4662 4.44663 -11.3673 +267 1 2.36184 5.08435 4.31966 -1.81965 -14.9274 -8.60789 +268 1 1.71701 5.94552 4.03684 -24.0402 -0.0953197 5.79012 +269 1 3.43912 4.9954 2.79577 7.89838 -10.7079 17.2388 +270 1 4.22838 5.86109 3.02821 33.6181 3.37383 -45.0173 +271 1 4.24887 5.06359 3.71273 2.64953 -0.546445 2.15952 +272 1 3.55742 5.92395 3.71083 -38.5919 -3.44905 39.4056 +273 1 5.41837 5.23828 2.98577 -11.447 -4.74628 10.7983 +274 1 5.86494 6.22754 3.11739 14.9731 7.40151 22.8162 +275 1 5.75467 5.37436 4.08221 13.6205 23.921 6.83069 +276 1 4.77382 6.13694 3.95439 -2.74813 -13.8938 10.4295 +277 1 6.55906 5.4789 3.24844 0.234698 -8.05013 11.4476 +278 1 7.53331 6.151 3.48116 -10.0459 9.16913 -20.7264 +279 1 7.59712 5.40949 4.12314 -10.2706 -23.4933 17.211 +280 1 6.76315 6.15422 4.20451 -8.32818 -2.13306 4.306 +281 1 8.33074 6.79274 3.30017 10.9969 -9.86444 14.3566 +282 1 1.03943 7.60681 3.41422 12.8839 -22.0033 7.43641 +283 1 0.876997 6.68124 4.1033 12.4942 12.9257 -7.86127 +284 1 0.320289 7.62896 4.11358 -19.9566 8.93301 7.64028 +285 1 2.12233 6.73507 3.25947 -6.36672 -13.9408 34.1069 +286 1 2.9278 7.71082 3.35699 -9.10575 13.9767 3.53664 +287 1 2.86555 6.96099 4.04549 -8.29151 -16.9355 4.68952 +288 1 1.89553 7.49272 4.25249 -6.95602 2.25366 -4.36835 +289 1 3.55128 6.82828 3.17739 -22.1877 4.18931 17.356 +290 1 4.1661 7.71123 3.4095 -5.10369 -4.69259 -0.796458 +291 1 3.89274 6.87937 4.19693 15.4298 1.82254 7.44647 +292 1 3.39266 7.95134 4.30177 -1.7872 -21.2114 -27.9517 +293 1 4.99714 6.86548 3.27273 -3.15325 15.5146 -9.80269 +294 1 5.7604 7.67976 3.37293 2.05238 1.22428 3.6757 +295 1 5.73479 6.76996 4.15088 6.33474 -4.66485 -1.392 +296 1 5.07616 7.57695 4.40446 -13.6351 -7.42167 0.514113 +297 1 6.73778 6.81794 3.33301 -3.54485 0.402493 -5.08336 +298 1 7.71498 7.67053 3.44695 -0.752689 -3.6099 -11.6949 +299 1 7.71759 6.87965 4.22182 -5.11403 5.07303 3.22293 +300 1 6.7649 7.45476 4.17956 6.56157 -12.3801 -0.724651 +301 1 8.19197 0.136233 5.17288 2.67067 20.6746 -19.9914 +302 1 0.776102 0.931351 5.08619 -1.70464 -8.91233 1.85235 +303 1 0.888781 0.0179834 5.65999 -4.55543 21.0031 13.534 +304 1 8.38466 0.737331 6.00004 -6.63761 5.81892 -3.68334 +305 1 2.17326 8.16764 5.48567 -30.0571 8.40977 9.50779 +306 1 2.68565 0.975823 5.34104 11.1467 5.8174 -19.2362 +307 1 3.06444 0.336871 6.1128 1.74673 -5.08128 15.5867 +308 1 1.94778 0.751629 6.0231 -12.5402 -6.77103 11.9096 +309 1 3.09215 -0.0018856 5.12048 23.3711 9.80891 31.3016 +310 1 4.54285 0.96074 5.03055 -10.8439 -8.47943 8.00065 +311 1 4.19772 8.25187 6.2874 -2.87662 7.25597 -11.3947 +312 1 3.73883 1.45482 5.73884 -5.31372 -3.16529 -7.8226 +313 1 5.15615 8.35466 5.42348 2.42368 -1.79965 -6.24325 +314 1 5.91471 0.891384 5.15303 -5.07011 -3.09253 -0.460458 +315 1 6.03745 8.35632 6.14961 -1.39208 3.8678 -5.18235 +316 1 5.2121 0.86593 5.98804 -13.8254 0.446509 -12.536 +317 1 6.68868 8.34181 5.14194 3.9888 6.48649 16.9974 +318 1 7.34021 0.809849 5.26372 -2.78853 -11.1974 -10.3326 +319 1 7.36245 8.30575 6.05369 1.98185 25.0408 -10.0092 +320 1 6.64158 0.85851 5.99168 -3.68623 1.19752 6.36998 +321 1 8.13309 1.40671 5.10096 17.8835 4.45702 -4.02515 +322 1 0.892662 2.59499 5.00421 -20.8235 21.437 24.4928 +323 1 0.773043 1.57142 5.91415 4.22614 9.86073 2.56515 +324 1 8.33239 2.57823 5.60038 -0.623629 0.0892147 1.2306 +325 1 1.87225 1.66498 5.43985 -2.48264 -4.0236 -4.58226 +326 1 2.75473 2.72259 4.73435 -30.311 11.1987 -1.55273 +327 1 2.93165 2.12687 5.49641 -1.73472 -35.7803 16.6222 +328 1 1.7335 2.58373 5.90704 -3.71318 12.7214 1.30751 +329 1 3.77896 1.69526 4.65032 1.63977 11.6216 2.36832 +330 1 4.33882 2.78478 4.62298 7.45227 7.00188 -24.1667 +331 1 4.0935 2.44339 5.52545 -11.3615 -7.17888 20.8862 +332 1 3.18285 3.03749 5.86709 11.7107 14.2608 -10.1303 +333 1 5.16253 1.77254 5.33362 4.38648 8.73211 2.03951 +334 1 5.9743 2.78241 5.0854 16.8461 0.569184 7.37091 +335 1 6.05449 1.8557 6.00418 -1.07841 -2.85482 0.754485 +336 1 5.02736 2.93607 5.49369 -0.394928 -5.32288 -0.0457358 +337 1 6.65738 1.68333 5.09298 2.04945 -3.50949 1.46808 +338 1 7.506 2.4535 4.81544 -2.36267 6.50792 21.426 +339 1 7.5049 1.81157 5.81254 2.0705 -7.66144 9.63716 +340 1 6.81799 2.57614 5.74327 -5.22025 12.4071 0.584392 +341 1 8.08209 3.4329 4.82809 -0.388102 0.733533 -0.302449 +342 1 0.687603 4.05264 4.91973 13.3113 7.10483 -26.1293 +343 1 0.927182 3.40713 5.70883 1.42 -2.21252 8.41121 +344 1 8.39125 4.08596 5.64374 -17.7983 3.69834 21.9629 +345 1 1.85335 3.18328 4.91159 -22.5662 10.1648 8.61749 +346 1 2.62594 3.83741 5.0269 -11.5374 29.2389 12.1219 +347 1 2.23001 3.64598 5.99431 12.2251 -19.0314 6.6066 +348 1 1.61612 4.36322 5.62412 -4.72812 -41.6645 3.65456 +349 1 3.49026 3.4159 4.80384 34.5623 1.92174 -9.26957 +350 1 4.42781 4.48169 4.58587 2.89283 12.0072 14.2383 +351 1 4.32987 3.73273 5.40213 -1.15236 0.923586 4.29704 +352 1 3.35747 3.99106 6.24745 4.6285 19.5949 -5.94829 +353 1 5.1733 3.66262 4.57851 -0.760359 -3.40804 -5.73178 +354 1 5.75745 4.60154 4.93992 12.48 38.3619 -39.183 +355 1 5.60952 3.84508 5.51193 1.72033 -36.6996 37.1733 +356 1 4.90838 4.64872 5.58962 -7.33472 10.9707 -1.22542 +357 1 6.81366 3.55073 4.97382 -24.7572 -16.3635 34.7513 +358 1 7.36231 4.42367 5.08055 17.1166 2.62568 -2.95463 +359 1 7.4725 3.41969 5.92572 4.71216 -0.444272 -3.67252 +360 1 6.56495 4.37474 5.82163 -0.033274 -9.82017 -6.2351 +361 1 0.041011 5.18659 5.08838 -22.5443 6.51501 -27.8507 +362 1 1.02655 6.1046 4.9959 -2.55187 -8.42255 -9.06362 +363 1 0.725543 4.91454 5.73466 12.2313 -2.94426 20.5318 +364 1 0.0422288 5.86356 5.87032 0.0942915 12.4442 -1.56822 +365 1 1.61098 5.19782 5.1268 2.44581 33.2387 -21.9348 +366 1 2.65636 5.69092 5.09384 11.8609 0.215073 14.2086 +367 1 2.6104 4.85981 5.98721 5.66035 -5.70161 -4.77737 +368 1 1.90538 6.1737 5.70769 -41.2624 -24.39 16.3086 +369 1 3.46858 4.77582 5.16944 -0.707582 -1.43422 0.766057 +370 1 3.76426 5.90532 4.89181 3.4437 -1.11423 -2.15979 +371 1 4.07073 4.92867 6.32743 11.4607 -11.4553 -4.32634 +372 1 3.67793 5.86643 6.05942 -4.35866 5.03724 -1.47182 +373 1 4.98792 5.51389 4.93524 -8.4187 -10.8933 -4.11136 +374 1 5.89023 6.01641 5.05179 11.0493 7.97987 -0.316877 +375 1 5.84913 5.21289 5.8287 7.09495 5.60009 -11.1489 +376 1 4.95887 5.92462 6.03819 -1.41241 -1.47294 -8.90972 +377 1 6.72618 5.24569 4.87739 -4.6501 10.2679 6.06598 +378 1 7.69701 6.07801 4.9728 1.45309 -5.4044 1.15049 +379 1 7.57443 5.25318 5.8022 -4.19719 -6.86637 2.5693 +380 1 6.75672 5.96198 5.84181 4.25859 -4.73277 0.116077 +381 1 0.149236 6.9327 4.88187 0.301354 -7.8021 16.5737 +382 1 1.06612 7.54377 5.19235 6.17987 -18.0682 -12.1896 +383 1 0.908663 6.67909 5.83913 1.89859 7.5565 8.00921 +384 1 8.3967 7.73373 5.73713 17.5958 -22.201 25.7152 +385 1 2.09262 6.53099 4.7967 1.84262 19.7267 -15.5304 +386 1 2.6809 7.4184 4.97144 1.84587 -3.02643 6.66108 +387 1 2.76451 6.5131 6.02372 26.4927 9.3308 7.09081 +388 1 1.89235 7.21971 6.07993 -5.61302 23.442 -46.1583 +389 1 3.56452 6.91614 5.29782 1.29026 -2.451 2.37678 +390 1 4.22056 7.80764 5.23329 -2.48711 -3.82055 1.83806 +391 1 4.29263 6.77471 6.12925 7.35038 5.5119 -5.7056 +392 1 2.85273 7.60961 6.07343 16.4578 1.27697 -7.39815 +393 1 4.81773 6.56695 4.97715 -1.40117 8.33727 3.10183 +394 1 5.78811 7.39325 5.43254 7.66799 3.74746 -17.7564 +395 1 5.91597 6.55237 6.07292 -10.3134 0.875812 3.19143 +396 1 5.1536 7.54901 6.2302 -8.62748 1.72241 13.4381 +397 1 6.84976 6.76387 5.09828 -3.19969 2.83039 -4.79256 +398 1 7.54117 7.72913 5.1763 -12.4453 -25.3207 -11.2598 +399 1 7.70324 6.72981 5.83369 -19.5261 3.79708 -10.3274 +400 1 6.77336 7.41197 5.93794 -9.93531 -0.946567 -12.2979 +401 1 8.22949 8.35705 6.76928 1.64244 -1.45449 1.77988 +402 1 0.72004 0.832942 6.72959 22.4465 -5.361 -6.29847 +403 1 0.883022 0.0931191 7.57241 -5.23405 -15.4407 -5.32038 +404 1 0.0468789 0.82113 7.48906 -16.6351 2.71194 14.972 +405 1 2.03902 8.21121 6.63645 7.11775 -8.1199 -7.72414 +406 1 2.8098 1.35985 6.35749 11.4457 2.58538 -2.95276 +407 1 2.39096 8.06897 7.6788 1.19633 7.68608 5.18448 +408 1 1.75996 0.580686 7.28683 6.89284 15.6237 4.36189 +409 1 3.24708 7.93738 6.98795 5.84043 19.9452 -24.3758 +410 1 4.23919 0.919929 6.46503 -1.07654 -9.91612 -5.08402 +411 1 3.90772 0.424381 7.41946 37.0812 -23.6824 -3.45202 +412 1 2.91871 0.505987 7.33506 -26.0302 7.74114 -11.0468 +413 1 4.92803 0.11282 7.09764 -8.28234 1.33652 -4.84063 +414 1 5.89475 1.0043 6.70526 7.29393 0.830325 27.9656 +415 1 5.8956 8.35718 7.44426 -3.02776 0.024361 13.8614 +416 1 4.71342 1.28665 7.29701 10.263 5.35948 11.5905 +417 1 6.8248 0.0574117 7.01961 11.7828 1.29904 -9.90689 +418 1 7.52034 1.04303 6.65362 -4.17639 -6.17679 3.43381 +419 1 7.73603 8.17986 7.79994 1.7859 4.36245 -17.9939 +420 1 7.13318 0.752429 7.78463 13.3591 3.5282 -5.71599 +421 1 8.39243 1.66394 6.67161 -0.134672 7.39125 4.10576 +422 1 0.854509 2.49412 6.65204 0.887161 -2.38052 0.586225 +423 1 1.18138 1.63924 7.31791 -41.6971 -18.352 25.0151 +424 1 0.0943458 2.334 7.66786 0.324396 10.57 -15.5201 +425 1 1.87867 1.74452 6.645 -1.95754 3.46436 -44.2754 +426 1 2.63684 2.47303 6.52845 -8.45632 -20.7999 4.28943 +427 1 2.51699 1.47554 7.37579 1.92109 3.65888 22.6814 +428 1 1.82876 2.39767 7.50566 14.4123 21.9409 0.136363 +429 1 3.78398 2.21463 6.57246 -2.68631 2.13236 -0.792617 +430 1 4.46308 3.07592 6.43555 -3.89191 7.33892 -9.13636 +431 1 3.59875 1.35397 7.20413 -9.98874 22.9069 2.08665 +432 1 3.19396 2.3577 7.56493 -2.6719 3.09783 -0.16421 +433 1 5.06299 2.1644 6.37533 -2.58633 -2.00836 2.79809 +434 1 5.67119 3.15784 6.34996 -0.566548 -6.83481 -5.10746 +435 1 5.66575 1.97666 7.57441 -14.7077 -20.3342 4.08546 +436 1 4.67442 2.64884 7.36908 -6.67424 -36.8328 0.644107 +437 1 6.68154 1.59605 7.24042 -18.9747 -1.14386 -19.0037 +438 1 7.52504 2.47849 6.70825 -1.30537 -8.16455 -5.2397 +439 1 7.60687 1.7083 7.61907 22.0172 -9.53549 -2.5479 +440 1 6.29708 2.66318 7.23348 12.1765 11.0009 -15.9537 +441 1 0.116615 3.32613 6.70965 -8.35482 -2.36763 -31.1169 +442 1 0.754871 4.30259 6.64315 -6.49201 3.33528 -9.76479 +443 1 0.673999 3.30917 7.54182 21.55 -11.008 11.6004 +444 1 8.2904 4.07274 7.4316 9.5379 25.3171 7.28976 +445 1 1.3832 3.4915 6.68441 -1.24784 -22.5622 2.29536 +446 1 2.09272 4.19927 6.89939 7.14914 10.3433 -0.646722 +447 1 2.38812 3.48925 7.75082 -1.53849 -4.15299 -0.56146 +448 1 0.98545 4.31304 7.66307 5.8465 7.34467 12.6645 +449 1 3.01955 3.30623 6.95327 13.2113 8.86686 7.49164 +450 1 4.09943 3.91395 7.09298 -2.48303 5.76893 1.33505 +451 1 4.01094 3.20608 7.89765 -2.70921 2.34384 1.12391 +452 1 3.37728 4.06259 7.97546 3.1883 6.31048 -16.9835 +453 1 4.95274 4.06193 6.44472 -50.262 -12.0969 -14.4258 +454 1 5.82886 4.19415 6.78586 51.8922 14.3443 21.8961 +455 1 5.38346 3.34165 7.34475 16.015 22.8896 8.36611 +456 1 5.08561 4.4601 7.63447 17.0994 -9.93497 -11.4722 +457 1 6.63523 3.51978 6.68288 11.156 -6.22589 -13.2585 +458 1 7.56324 4.26511 6.59456 -1.25309 2.63878 0.745103 +459 1 7.65852 3.28844 7.34661 -10.7372 -4.25374 3.64969 +460 1 6.81691 4.07739 7.53042 5.20496 31.087 -1.8792 +461 1 0.0305913 5.07954 6.63961 -13.4152 -0.334577 -15.0347 +462 1 0.755373 5.9128 6.63716 6.29428 -4.8245 9.83099 +463 1 0.228688 5.17338 7.63443 6.77209 -15.3569 2.77515 +464 1 0.0239769 6.1789 7.50959 5.71025 13.0173 8.45368 +465 1 1.62736 5.16876 6.26262 -1.95267 15.3222 16.2267 +466 1 2.58882 5.57631 6.81228 -21.3734 15.7914 -12.1527 +467 1 2.44828 4.86387 7.63128 0.635145 -14.9061 -0.714387 +468 1 1.59901 5.57209 7.51534 -11.1496 -3.28487 -5.03165 +469 1 3.34619 4.96263 7.08932 17.4571 -30.3367 -0.525226 +470 1 4.2543 5.71212 7.1129 9.72931 3.13017 -7.54215 +471 1 4.20945 4.90695 7.86069 -23.7666 -21.5851 -7.20856 +472 1 3.30097 5.87496 7.52978 -1.62077 18.6793 20.7743 +473 1 5.31869 5.1825 6.70313 -6.70115 -5.30598 20.424 +474 1 6.1285 5.9705 7.04356 -55.8752 -30.7828 -22.045 +475 1 6.19989 5.01385 7.64593 -24.2843 -27.8512 -0.0723503 +476 1 5.23737 5.71302 7.75618 7.88564 -2.82129 -5.95862 +477 1 6.57282 5.00818 6.64579 3.73801 7.56977 2.57742 +478 1 7.65968 6.07456 6.846 -10.6673 -6.72159 -16.2973 +479 1 7.41458 5.08419 7.34751 2.79575 -2.58892 1.26995 +480 1 6.72257 5.83109 7.80136 50.7146 16.6992 29.5346 +481 1 0.0723308 6.76891 6.47705 11.6111 8.10298 22.8191 +482 1 1.02933 7.74537 6.50218 -6.26193 -3.88943 1.15511 +483 1 0.947055 6.70337 7.58592 -5.51835 -14.0139 4.24362 +484 1 0.0848928 7.36532 7.45176 -1.87156 3.22591 1.0451 +485 1 1.56902 6.60766 6.76327 -14.013 -31.9293 15.0177 +486 1 2.40361 7.17234 6.95829 30.5527 12.991 8.35655 +487 1 2.29885 6.36291 7.58786 1.80834 5.53646 4.44151 +488 1 1.553 7.54602 7.43994 -8.27629 2.11355 -7.51923 +489 1 3.47111 6.73135 6.78593 -6.0772 1.66346 11.0677 +490 1 4.24975 7.49747 6.97664 2.8759 -9.15152 10.7243 +491 1 4.10179 6.68273 7.72108 -3.71491 1.8557 -11.1514 +492 1 3.18945 7.41445 7.81539 11.7129 -34.8369 22.2868 +493 1 5.09069 6.56162 6.92242 0.709322 1.72009 4.70344 +494 1 6.15914 7.53992 6.80488 -4.25562 -6.4834 8.29409 +495 1 6.17817 6.79535 7.72789 -19.4606 -0.130997 -26.8387 +496 1 5.10104 7.47088 7.65047 -2.76834 -2.47532 -11.4779 +497 1 6.74018 6.65599 6.74814 32.1985 25.9827 -14.7809 +498 1 7.41102 7.54832 6.72723 12.7336 -14.2037 26.5422 +499 1 7.28837 6.72521 7.66327 11.2322 2.95469 4.78999 +500 1 6.81386 7.67069 7.84231 -16.9841 5.08288 -4.95949 diff --git a/examples/mdi/log.17Jun22.aimd.alone.1 b/examples/mdi/log.17Jun22.aimd.alone.1 new file mode 100644 index 0000000000..c7b0f2c492 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.alone.1 @@ -0,0 +1,95 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +thermo_style custom step temp pe etotal press vol +thermo 1 + +run 10 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 0.00919691 on 1 procs for 10 steps with 500 atoms + +Performance: 469723.136 tau/day, 1087.322 timesteps/s +98.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0066536 | 0.0066536 | 0.0066536 | 0.0 | 72.35 +Neigh | 0.0017906 | 0.0017906 | 0.0017906 | 0.0 | 19.47 +Comm | 0.0002554 | 0.0002554 | 0.0002554 | 0.0 | 2.78 +Output | 0.00029976 | 0.00029976 | 0.00029976 | 0.0 | 3.26 +Modify | 9.8718e-05 | 9.8718e-05 | 9.8718e-05 | 0.0 | 1.07 +Other | | 9.887e-05 | | | 1.08 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19396 ave 19396 max 19396 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19396 +Ave neighs/atom = 38.792 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.driver.mpi.1 b/examples/mdi/log.17Jun22.aimd.driver.mpi.1 new file mode 100644 index 0000000000..e06ca0ada1 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.driver.mpi.1 @@ -0,0 +1,83 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +run 10 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 0.0078442 on 1 procs for 10 steps with 500 atoms + +Performance: 550725.026 tau/day, 1274.826 timesteps/s +99.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 1.592e-06 | 1.592e-06 | 1.592e-06 | 0.0 | 0.02 +Comm | 2.6703e-05 | 2.6703e-05 | 2.6703e-05 | 0.0 | 0.34 +Output | 0.00021168 | 0.00021168 | 0.00021168 | 0.0 | 2.70 +Modify | 0.0075488 | 0.0075488 | 0.0075488 | 0.0 | 96.23 +Other | | 5.544e-05 | | | 0.71 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.driver.mpi.3 b/examples/mdi/log.17Jun22.aimd.driver.mpi.3 new file mode 100644 index 0000000000..e2f228ca6c --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.driver.mpi.3 @@ -0,0 +1,83 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +run 10 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 0.00523112 on 3 procs for 10 steps with 500 atoms + +Performance: 825827.658 tau/day, 1911.638 timesteps/s +98.8% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 5.95e-07 | 1.7073e-06 | 3.907e-06 | 0.0 | 0.03 +Comm | 3.8259e-05 | 6.2707e-05 | 7.5974e-05 | 0.0 | 1.20 +Output | 0.00017543 | 0.00021238 | 0.00028075 | 0.0 | 4.06 +Modify | 0.004815 | 0.0048289 | 0.0048521 | 0.0 | 92.31 +Other | | 0.0001254 | | | 2.40 + +Nlocal: 166.667 ave 176 max 150 min +Histogram: 1 0 0 0 0 0 0 0 0 2 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.driver.plugin.1 b/examples/mdi/log.17Jun22.aimd.driver.plugin.1 new file mode 100644 index 0000000000..73779fc350 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.driver.plugin.1 @@ -0,0 +1,84 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.aimd.engine extra "-log log.aimd.engine.plugin" command "run 10" +run 10 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 0.00940117 on 1 procs for 10 steps with 500 atoms + +Performance: 459517.175 tau/day, 1063.697 timesteps/s +96.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 1.9e-06 | 1.9e-06 | 1.9e-06 | 0.0 | 0.02 +Comm | 3.0131e-05 | 3.0131e-05 | 3.0131e-05 | 0.0 | 0.32 +Output | 0.00030359 | 0.00030359 | 0.00030359 | 0.0 | 3.23 +Modify | 0.0090041 | 0.0090041 | 0.0090041 | 0.0 | 95.78 +Other | | 6.144e-05 | | | 0.65 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.driver.plugin.3 b/examples/mdi/log.17Jun22.aimd.driver.plugin.3 new file mode 100644 index 0000000000..7bb02f5f35 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.driver.plugin.3 @@ -0,0 +1,84 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.aimd.engine extra "-log log.aimd.engine.plugin" command "run 10" +run 10 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 0.00613177 on 3 procs for 10 steps with 500 atoms + +Performance: 704527.327 tau/day, 1630.850 timesteps/s +99.2% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 7.93e-07 | 1.8723e-06 | 3.996e-06 | 0.0 | 0.03 +Comm | 4.4254e-05 | 7.4628e-05 | 9.321e-05 | 0.0 | 1.22 +Output | 0.00019476 | 0.00024309 | 0.00032745 | 0.0 | 3.96 +Modify | 0.005637 | 0.0056559 | 0.0056903 | 0.0 | 92.24 +Other | | 0.0001563 | | | 2.55 + +Nlocal: 166.667 ave 176 max 150 min +Histogram: 1 0 0 0 0 0 0 0 0 2 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.driver.tcp.1 b/examples/mdi/log.17Jun22.aimd.driver.tcp.1 new file mode 100644 index 0000000000..db7413cc9e --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.driver.tcp.1 @@ -0,0 +1,83 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +run 10 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 2.41182 on 1 procs for 10 steps with 500 atoms + +Performance: 1791.180 tau/day, 4.146 timesteps/s +0.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 2.596e-06 | 2.596e-06 | 2.596e-06 | 0.0 | 0.00 +Comm | 4.9627e-05 | 4.9627e-05 | 4.9627e-05 | 0.0 | 0.00 +Output | 0.00063707 | 0.00063707 | 0.00063707 | 0.0 | 0.03 +Modify | 2.411 | 2.411 | 2.411 | 0.0 | 99.97 +Other | | 0.0001146 | | | 0.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.aimd.driver.tcp.3 b/examples/mdi/log.17Jun22.aimd.driver.tcp.3 new file mode 100644 index 0000000000..43910d1a25 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.driver.tcp.3 @@ -0,0 +1,83 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +run 10 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp PotEng TotEng Press Volume + 0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671 + 1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671 + 2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671 + 3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671 + 4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671 + 5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671 + 6 1.3471497 -6.6344152 -4.6177322 -4.2103477 592.27671 + 7 1.3081237 -6.5752633 -4.6170021 -3.8956402 592.27671 + 8 1.2599751 -6.502724 -4.6165412 -3.5228721 592.27671 + 9 1.2021373 -6.4153971 -4.6157975 -3.0910274 592.27671 + 10 1.1347688 -6.3153532 -4.6166043 -2.6072847 592.27671 +Loop time of 2.39983 on 3 procs for 10 steps with 500 atoms + +Performance: 1800.127 tau/day, 4.167 timesteps/s +66.7% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 3.75e-07 | 1.3583e-06 | 2.574e-06 | 0.0 | 0.00 +Comm | 5.4167e-05 | 0.00010938 | 0.00015338 | 0.0 | 0.00 +Output | 0.00030885 | 0.00042099 | 0.00064497 | 0.0 | 0.02 +Modify | 2.3988 | 2.3989 | 2.3989 | 0.0 | 99.96 +Other | | 0.0004276 | | | 0.02 + +Nlocal: 166.667 ave 176 max 150 min +Histogram: 1 0 0 0 0 0 0 0 0 2 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/mdi/log.17Jun22.aimd.engine.mpi.1 b/examples/mdi/log.17Jun22.aimd.engine.mpi.1 new file mode 100644 index 0000000000..cb2e94c705 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.engine.mpi.1 @@ -0,0 +1,55 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp PotEng TotEng Press Volume + 0 0 -6.7733681 -6.7733681 -6.2353173 592.27671 + 1 0 -6.7699814 -6.7699814 -6.2120481 592.27671 + 2 0 -6.7596844 -6.7596844 -6.1418368 592.27671 + 3 0 -6.7420029 -6.7420029 -6.0231905 592.27671 + 4 0 -6.7161132 -6.7161132 -5.8534999 592.27671 + 5 0 -6.6808361 -6.6808361 -5.6291449 592.27671 + 6 0 -6.6344152 -6.6344152 -5.3453369 592.27671 + 7 0 -6.5752633 -6.5752633 -4.9977496 592.27671 + 8 0 -6.502724 -6.502724 -4.5844158 592.27671 + 9 0 -6.4153971 -6.4153971 -4.103842 592.27671 + 10 0 -6.3153532 -6.3153532 -3.5633405 592.27671 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.engine.mpi.4 b/examples/mdi/log.17Jun22.aimd.engine.mpi.4 new file mode 100644 index 0000000000..6d390106ce --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.engine.mpi.4 @@ -0,0 +1,55 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes + Step Temp PotEng TotEng Press Volume + 0 0 -6.7733681 -6.7733681 -6.2353173 592.27671 + 1 0 -6.7699814 -6.7699814 -6.2120481 592.27671 + 2 0 -6.7596844 -6.7596844 -6.1418368 592.27671 + 3 0 -6.7420029 -6.7420029 -6.0231905 592.27671 + 4 0 -6.7161132 -6.7161132 -5.8534999 592.27671 + 5 0 -6.6808361 -6.6808361 -5.6291449 592.27671 + 6 0 -6.6344152 -6.6344152 -5.3453369 592.27671 + 7 0 -6.5752633 -6.5752633 -4.9977496 592.27671 + 8 0 -6.502724 -6.502724 -4.5844158 592.27671 + 9 0 -6.4153971 -6.4153971 -4.103842 592.27671 + 10 0 -6.3153532 -6.3153532 -3.5633405 592.27671 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.engine.plugin.1 b/examples/mdi/log.17Jun22.aimd.engine.plugin.1 new file mode 100644 index 0000000000..cb2e94c705 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.engine.plugin.1 @@ -0,0 +1,55 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp PotEng TotEng Press Volume + 0 0 -6.7733681 -6.7733681 -6.2353173 592.27671 + 1 0 -6.7699814 -6.7699814 -6.2120481 592.27671 + 2 0 -6.7596844 -6.7596844 -6.1418368 592.27671 + 3 0 -6.7420029 -6.7420029 -6.0231905 592.27671 + 4 0 -6.7161132 -6.7161132 -5.8534999 592.27671 + 5 0 -6.6808361 -6.6808361 -5.6291449 592.27671 + 6 0 -6.6344152 -6.6344152 -5.3453369 592.27671 + 7 0 -6.5752633 -6.5752633 -4.9977496 592.27671 + 8 0 -6.502724 -6.502724 -4.5844158 592.27671 + 9 0 -6.4153971 -6.4153971 -4.103842 592.27671 + 10 0 -6.3153532 -6.3153532 -3.5633405 592.27671 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.engine.plugin.3 b/examples/mdi/log.17Jun22.aimd.engine.plugin.3 new file mode 100644 index 0000000000..cd227cffd0 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.engine.plugin.3 @@ -0,0 +1,55 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 3 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 3 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes + Step Temp PotEng TotEng Press Volume + 0 0 -6.7733681 -6.7733681 -6.2353173 592.27671 + 1 0 -6.7699814 -6.7699814 -6.2120481 592.27671 + 2 0 -6.7596844 -6.7596844 -6.1418368 592.27671 + 3 0 -6.7420029 -6.7420029 -6.0231905 592.27671 + 4 0 -6.7161132 -6.7161132 -5.8534999 592.27671 + 5 0 -6.6808361 -6.6808361 -5.6291449 592.27671 + 6 0 -6.6344152 -6.6344152 -5.3453369 592.27671 + 7 0 -6.5752633 -6.5752633 -4.9977496 592.27671 + 8 0 -6.502724 -6.502724 -4.5844158 592.27671 + 9 0 -6.4153971 -6.4153971 -4.103842 592.27671 + 10 0 -6.3153532 -6.3153532 -3.5633405 592.27671 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimd.engine.tcp.1 b/examples/mdi/log.17Jun22.aimd.engine.tcp.1 new file mode 100644 index 0000000000..9b1ae4a9e1 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.engine.tcp.1 @@ -0,0 +1,55 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp PotEng TotEng Press Volume + 0 0 -6.7733681 -6.7733681 -6.2353173 592.27671 + 1 0 -6.7699814 -6.7699814 -6.2120481 592.27671 + 2 0 -6.7596844 -6.7596844 -6.1418368 592.27671 + 3 0 -6.7420029 -6.7420029 -6.0231905 592.27671 + 4 0 -6.7161132 -6.7161132 -5.8534999 592.27671 + 5 0 -6.6808361 -6.6808361 -5.6291449 592.27671 + 6 0 -6.6344152 -6.6344152 -5.3453369 592.27671 + 7 0 -6.5752633 -6.5752633 -4.9977496 592.27671 + 8 0 -6.502724 -6.502724 -4.5844158 592.27671 + 9 0 -6.4153971 -6.4153971 -4.103842 592.27671 + 10 0 -6.3153532 -6.3153532 -3.5633405 592.27671 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.aimd.engine.tcp.4 b/examples/mdi/log.17Jun22.aimd.engine.tcp.4 new file mode 100644 index 0000000000..7bca369d96 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimd.engine.tcp.4 @@ -0,0 +1,55 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes + Step Temp PotEng TotEng Press Volume + 0 0 -6.7733681 -6.7733681 -6.2353173 592.27671 + 1 0 -6.7699814 -6.7699814 -6.2120481 592.27671 + 2 0 -6.7596844 -6.7596844 -6.1418368 592.27671 + 3 0 -6.7420029 -6.7420029 -6.0231905 592.27671 + 4 0 -6.7161132 -6.7161132 -5.8534999 592.27671 + 5 0 -6.6808361 -6.6808361 -5.6291449 592.27671 + 6 0 -6.6344152 -6.6344152 -5.3453369 592.27671 + 7 0 -6.5752633 -6.5752633 -4.9977496 592.27671 + 8 0 -6.502724 -6.502724 -4.5844158 592.27671 + 9 0 -6.4153971 -6.4153971 -4.103842 592.27671 + 10 0 -6.3153532 -6.3153532 -3.5633405 592.27671 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.aimdpy.driver.mpi.1 b/examples/mdi/log.17Jun22.aimdpy.driver.mpi.1 new file mode 100644 index 0000000000..c0e8df8217 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.driver.mpi.1 @@ -0,0 +1,77 @@ +LAMMPS (2 Jun 2022) +LAMMPS (2 Jun 2022) +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.000 seconds +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +Setting up Verlet run ... + Unit style : lj + Current step : 0 + Time step : 0.005 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Setting up Verlet run ... + Unit style : lj + Current step : 0 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 +Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769 +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 2.15568 1.2132167 + 1 0 -6.7699814 0 -6.7699814 -6.2120481 +Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 + 1 1.4377309 0 0 2.1522832 1.211305 + 2 0 -6.7596844 0 -6.7596844 -6.1418368 +Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 + 2 1.430825 0 0 2.141945 1.2054866 + 3 0 -6.7420029 0 -6.7420029 -6.0231905 +Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 + 3 1.4189655 0 0 2.1241913 1.1954949 + 4 0 -6.7161132 0 -6.7161132 -5.8534999 +Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 + 4 1.4016029 0 0 2.0981995 1.1808667 + 5 0 -6.6808361 0 -6.6808361 -5.6291449 +Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 + 5 1.3779738 0 0 2.0628267 1.1609589 + 6 0 -6.6344152 0 -6.6344152 -5.3453369 +Step 6: MM energy 2.01668, QM energy -6.63442, Total energy -4.61773 + 6 1.3471497 0 0 2.016683 1.1349892 + 7 0 -6.5752633 0 -6.5752633 -4.9977496 +Step 7: MM energy 1.95826, QM energy -6.57526, Total energy -4.617 + 7 1.3081237 0 0 1.9582612 1.1021094 + 8 0 -6.502724 0 -6.502724 -4.5844158 +Step 8: MM energy 1.88618, QM energy -6.50272, Total energy -4.61654 + 8 1.2599751 0 0 1.8861828 1.0615437 + 9 0 -6.4153971 0 -6.4153971 -4.103842 +Step 9: MM energy 1.7996, QM energy -6.4154, Total energy -4.6158 + 9 1.2021373 0 0 1.7995995 1.0128146 + 10 0 -6.3153532 0 -6.3153532 -3.5633405 +Step 10: MM energy 1.69875, QM energy -6.31535, Total energy -4.6166 + 10 1.1347688 0 0 1.6987489 0.95605588 +Total wall time: 0:00:00 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimdpy.driver.mpi.2 b/examples/mdi/log.17Jun22.aimdpy.driver.mpi.2 new file mode 100644 index 0000000000..7c839dc2d4 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.driver.mpi.2 @@ -0,0 +1,77 @@ +LAMMPS (2 Jun 2022) +LAMMPS (2 Jun 2022) +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 2 MPI processor grid +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.000 seconds +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +Setting up Verlet run ... + Unit style : lj + Current step : 0 + Time step : 0.005 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Setting up Verlet run ... + Unit style : lj + Current step : 0 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 +Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769 +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 2.15568 1.2132167 + 1 0 -6.7699814 0 -6.7699814 -6.2120481 +Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 + 1 1.4377309 0 0 2.1522832 1.211305 + 2 0 -6.7596844 0 -6.7596844 -6.1418368 +Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 + 2 1.430825 0 0 2.141945 1.2054866 + 3 0 -6.7420029 0 -6.7420029 -6.0231905 +Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 + 3 1.4189655 0 0 2.1241913 1.1954949 + 4 0 -6.7161132 0 -6.7161132 -5.8534999 +Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 + 4 1.4016029 0 0 2.0981995 1.1808667 + 5 0 -6.6808361 0 -6.6808361 -5.6291449 +Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 + 5 1.3779738 0 0 2.0628267 1.1609589 + 6 0 -6.6344152 0 -6.6344152 -5.3453369 +Step 6: MM energy 2.01668, QM energy -6.63442, Total energy -4.61773 + 6 1.3471497 0 0 2.016683 1.1349892 + 7 0 -6.5752633 0 -6.5752633 -4.9977496 +Step 7: MM energy 1.95826, QM energy -6.57526, Total energy -4.617 + 7 1.3081237 0 0 1.9582612 1.1021094 + 8 0 -6.502724 0 -6.502724 -4.5844158 +Step 8: MM energy 1.88618, QM energy -6.50272, Total energy -4.61654 + 8 1.2599751 0 0 1.8861828 1.0615437 + 9 0 -6.4153971 0 -6.4153971 -4.103842 +Step 9: MM energy 1.7996, QM energy -6.4154, Total energy -4.6158 + 9 1.2021373 0 0 1.7995995 1.0128146 + 10 0 -6.3153532 0 -6.3153532 -3.5633405 +Step 10: MM energy 1.69875, QM energy -6.31535, Total energy -4.6166 + 10 1.1347688 0 0 1.6987489 0.95605588 +Total wall time: 0:00:00 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimdpy.driver.tcp.1 b/examples/mdi/log.17Jun22.aimdpy.driver.tcp.1 new file mode 100644 index 0000000000..6ae0d7b714 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.driver.tcp.1 @@ -0,0 +1,11 @@ +Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769 +Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 +Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 +Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 +Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 +Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 +Step 6: MM energy 2.01668, QM energy -6.63442, Total energy -4.61773 +Step 7: MM energy 1.95826, QM energy -6.57526, Total energy -4.617 +Step 8: MM energy 1.88618, QM energy -6.50272, Total energy -4.61654 +Step 9: MM energy 1.7996, QM energy -6.4154, Total energy -4.6158 +Step 10: MM energy 1.69875, QM energy -6.31535, Total energy -4.6166 diff --git a/examples/mdi/log.17Jun22.aimdpy.driver.tcp.2 b/examples/mdi/log.17Jun22.aimdpy.driver.tcp.2 new file mode 100644 index 0000000000..6ae0d7b714 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.driver.tcp.2 @@ -0,0 +1,11 @@ +Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769 +Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177 +Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774 +Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781 +Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791 +Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801 +Step 6: MM energy 2.01668, QM energy -6.63442, Total energy -4.61773 +Step 7: MM energy 1.95826, QM energy -6.57526, Total energy -4.617 +Step 8: MM energy 1.88618, QM energy -6.50272, Total energy -4.61654 +Step 9: MM energy 1.7996, QM energy -6.4154, Total energy -4.6158 +Step 10: MM energy 1.69875, QM energy -6.31535, Total energy -4.6166 diff --git a/examples/mdi/log.17Jun22.aimdpy.mm.mpi.1 b/examples/mdi/log.17Jun22.aimdpy.mm.mpi.1 new file mode 100644 index 0000000000..2b9251e6fd --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.mm.mpi.1 @@ -0,0 +1,49 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +mdi engine +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 2.15568 1.2132167 + 1 1.4377309 0 0 2.1522832 1.211305 + 2 1.430825 0 0 2.141945 1.2054866 + 3 1.4189655 0 0 2.1241913 1.1954949 + 4 1.4016029 0 0 2.0981995 1.1808667 + 5 1.3779738 0 0 2.0628267 1.1609589 + 6 1.3471497 0 0 2.016683 1.1349892 + 7 1.3081237 0 0 1.9582612 1.1021094 + 8 1.2599751 0 0 1.8861828 1.0615437 + 9 1.2021373 0 0 1.7995995 1.0128146 + 10 1.1347688 0 0 1.6987489 0.95605588 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimdpy.mm.mpi.2 b/examples/mdi/log.17Jun22.aimdpy.mm.mpi.2 new file mode 100644 index 0000000000..cb46801dac --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.mm.mpi.2 @@ -0,0 +1,49 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +mdi engine +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 2.15568 1.2132167 + 1 1.4377309 0 0 2.1522832 1.211305 + 2 1.430825 0 0 2.141945 1.2054866 + 3 1.4189655 0 0 2.1241913 1.1954949 + 4 1.4016029 0 0 2.0981995 1.1808667 + 5 1.3779738 0 0 2.0628267 1.1609589 + 6 1.3471497 0 0 2.016683 1.1349892 + 7 1.3081237 0 0 1.9582612 1.1021094 + 8 1.2599751 0 0 1.8861828 1.0615437 + 9 1.2021373 0 0 1.7995995 1.0128146 + 10 1.1347688 0 0 1.6987489 0.95605588 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimdpy.mm.tcp.1 b/examples/mdi/log.17Jun22.aimdpy.mm.tcp.1 new file mode 100644 index 0000000000..a23fcbac53 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.mm.tcp.1 @@ -0,0 +1,49 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +mdi engine +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 2.15568 1.2132167 + 1 1.4377309 0 0 2.1522832 1.211305 + 2 1.430825 0 0 2.141945 1.2054866 + 3 1.4189655 0 0 2.1241913 1.1954949 + 4 1.4016029 0 0 2.0981995 1.1808667 + 5 1.3779738 0 0 2.0628267 1.1609589 + 6 1.3471497 0 0 2.016683 1.1349892 + 7 1.3081237 0 0 1.9582612 1.1021094 + 8 1.2599751 0 0 1.8861828 1.0615437 + 9 1.2021373 0 0 1.7995995 1.0128146 + 10 1.1347688 0 0 1.6987489 0.95605588 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.aimdpy.mm.tcp.2 b/examples/mdi/log.17Jun22.aimdpy.mm.tcp.2 new file mode 100644 index 0000000000..fab47d094f --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.mm.tcp.2 @@ -0,0 +1,49 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +mdi engine +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 2.15568 1.2132167 + 1 1.4377309 0 0 2.1522832 1.211305 + 2 1.430825 0 0 2.141945 1.2054866 + 3 1.4189655 0 0 2.1241913 1.1954949 + 4 1.4016029 0 0 2.0981995 1.1808667 + 5 1.3779738 0 0 2.0628267 1.1609589 + 6 1.3471497 0 0 2.016683 1.1349892 + 7 1.3081237 0 0 1.9582612 1.1021094 + 8 1.2599751 0 0 1.8861828 1.0615437 + 9 1.2021373 0 0 1.7995995 1.0128146 + 10 1.1347688 0 0 1.6987489 0.95605588 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.aimdpy.qm.mpi.1 b/examples/mdi/log.17Jun22.aimdpy.qm.mpi.1 new file mode 100644 index 0000000000..f365e18542 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.qm.mpi.1 @@ -0,0 +1,60 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -6.7699814 0 -6.7699814 -6.2120481 + 2 0 -6.7596844 0 -6.7596844 -6.1418368 + 3 0 -6.7420029 0 -6.7420029 -6.0231905 + 4 0 -6.7161132 0 -6.7161132 -5.8534999 + 5 0 -6.6808361 0 -6.6808361 -5.6291449 + 6 0 -6.6344152 0 -6.6344152 -5.3453369 + 7 0 -6.5752633 0 -6.5752633 -4.9977496 + 8 0 -6.502724 0 -6.502724 -4.5844158 + 9 0 -6.4153971 0 -6.4153971 -4.103842 + 10 0 -6.3153532 0 -6.3153532 -3.5633405 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimdpy.qm.mpi.3 b/examples/mdi/log.17Jun22.aimdpy.qm.mpi.3 new file mode 100644 index 0000000000..87501440b7 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.qm.mpi.3 @@ -0,0 +1,60 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -6.7699814 0 -6.7699814 -6.2120481 + 2 0 -6.7596844 0 -6.7596844 -6.1418368 + 3 0 -6.7420029 0 -6.7420029 -6.0231905 + 4 0 -6.7161132 0 -6.7161132 -5.8534999 + 5 0 -6.6808361 0 -6.6808361 -5.6291449 + 6 0 -6.6344152 0 -6.6344152 -5.3453369 + 7 0 -6.5752633 0 -6.5752633 -4.9977496 + 8 0 -6.502724 0 -6.502724 -4.5844158 + 9 0 -6.4153971 0 -6.4153971 -4.103842 + 10 0 -6.3153532 0 -6.3153532 -3.5633405 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.aimdpy.qm.tcp.1 b/examples/mdi/log.17Jun22.aimdpy.qm.tcp.1 new file mode 100644 index 0000000000..1dd64c4beb --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.qm.tcp.1 @@ -0,0 +1,60 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -6.7699814 0 -6.7699814 -6.2120481 + 2 0 -6.7596844 0 -6.7596844 -6.1418368 + 3 0 -6.7420029 0 -6.7420029 -6.0231905 + 4 0 -6.7161132 0 -6.7161132 -5.8534999 + 5 0 -6.6808361 0 -6.6808361 -5.6291449 + 6 0 -6.6344152 0 -6.6344152 -5.3453369 + 7 0 -6.5752633 0 -6.5752633 -4.9977496 + 8 0 -6.502724 0 -6.502724 -4.5844158 + 9 0 -6.4153971 0 -6.4153971 -4.103842 + 10 0 -6.3153532 0 -6.3153532 -3.5633405 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.aimdpy.qm.tcp.3 b/examples/mdi/log.17Jun22.aimdpy.qm.tcp.3 new file mode 100644 index 0000000000..2006741b75 --- /dev/null +++ b/examples/mdi/log.17Jun22.aimdpy.qm.tcp.3 @@ -0,0 +1,60 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid +create_atoms 1 box +Created 500 atoms + using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -6.7699814 0 -6.7699814 -6.2120481 + 2 0 -6.7596844 0 -6.7596844 -6.1418368 + 3 0 -6.7420029 0 -6.7420029 -6.0231905 + 4 0 -6.7161132 0 -6.7161132 -5.8534999 + 5 0 -6.6808361 0 -6.6808361 -5.6291449 + 6 0 -6.6344152 0 -6.6344152 -5.3453369 + 7 0 -6.5752633 0 -6.5752633 -4.9977496 + 8 0 -6.502724 0 -6.502724 -4.5844158 + 9 0 -6.4153971 0 -6.4153971 -4.103842 + 10 0 -6.3153532 0 -6.3153532 -3.5633405 +Total wall time: 0:00:02 diff --git a/examples/mdi/log.17Jun22.sequence.engine.mpi.1 b/examples/mdi/log.17Jun22.sequence.engine.mpi.1 new file mode 100644 index 0000000000..78a5fe3cb6 --- /dev/null +++ b/examples/mdi/log.17Jun22.sequence.engine.mpi.1 @@ -0,0 +1,90 @@ +LAMMPS (2 Jun 2022) +# MDI engine script to process a series of evaulate, run, minimize commands + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.9713146 0 -2.4947521 3.1253597 + 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 + 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 + 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 + 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 + 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 + 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 + 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 + 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 + 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 + 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -4.1934138 0 -2.7168513 0.72358299 + 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 + 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 + 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 + 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 + 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 + 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 + 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 + 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 + 90 1.219283 -4.5483185 0 -2.747971 0.17898549 + 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.8524214 0 -2.3758589 4.6814052 + 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 + 20 1.1791601 -4.117932 0 -2.3768284 3.8565 + 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 + 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 + 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 + 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 + 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 + 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 + 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 + 100 1.43934 -4.5009545 0 -2.375679 3.0923444 + +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.sequence.engine.mpi.4 b/examples/mdi/log.17Jun22.sequence.engine.mpi.4 new file mode 100644 index 0000000000..856166696c --- /dev/null +++ b/examples/mdi/log.17Jun22.sequence.engine.mpi.4 @@ -0,0 +1,90 @@ +LAMMPS (2 Jun 2022) +# MDI engine script to process a series of evaulate, run, minimize commands + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.9713146 0 -2.4947521 3.1253597 + 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 + 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 + 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 + 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 + 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 + 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 + 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 + 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 + 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 + 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -4.1934138 0 -2.7168513 0.72358299 + 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 + 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 + 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 + 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 + 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 + 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 + 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 + 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 + 90 1.219283 -4.5483185 0 -2.747971 0.17898549 + 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.8524214 0 -2.3758589 4.6814052 + 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 + 20 1.1791601 -4.117932 0 -2.3768284 3.8565 + 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 + 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 + 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 + 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 + 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 + 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 + 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 + 100 1.43934 -4.5009545 0 -2.375679 3.0923444 + +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.sequence.engine.plugin.1 b/examples/mdi/log.17Jun22.sequence.engine.plugin.1 new file mode 100644 index 0000000000..78a5fe3cb6 --- /dev/null +++ b/examples/mdi/log.17Jun22.sequence.engine.plugin.1 @@ -0,0 +1,90 @@ +LAMMPS (2 Jun 2022) +# MDI engine script to process a series of evaulate, run, minimize commands + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.9713146 0 -2.4947521 3.1253597 + 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 + 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 + 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 + 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 + 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 + 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 + 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 + 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 + 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 + 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -4.1934138 0 -2.7168513 0.72358299 + 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 + 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 + 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 + 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 + 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 + 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 + 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 + 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 + 90 1.219283 -4.5483185 0 -2.747971 0.17898549 + 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.8524214 0 -2.3758589 4.6814052 + 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 + 20 1.1791601 -4.117932 0 -2.3768284 3.8565 + 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 + 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 + 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 + 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 + 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 + 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 + 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 + 100 1.43934 -4.5009545 0 -2.375679 3.0923444 + +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.sequence.engine.plugin.3 b/examples/mdi/log.17Jun22.sequence.engine.plugin.3 new file mode 100644 index 0000000000..4cb140028a --- /dev/null +++ b/examples/mdi/log.17Jun22.sequence.engine.plugin.3 @@ -0,0 +1,90 @@ +LAMMPS (2 Jun 2022) +# MDI engine script to process a series of evaulate, run, minimize commands + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) + 1 by 1 by 3 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 3 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.9713146 0 -2.4947521 3.1253597 + 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 + 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 + 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 + 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 + 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 + 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 + 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 + 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 + 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 + 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 3 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -4.1934138 0 -2.7168513 0.72358299 + 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 + 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 + 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 + 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 + 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 + 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 + 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 + 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 + 90 1.219283 -4.5483185 0 -2.747971 0.17898549 + 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 3 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.8524214 0 -2.3758589 4.6814052 + 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 + 20 1.1791601 -4.117932 0 -2.3768284 3.8565 + 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 + 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 + 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 + 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 + 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 + 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 + 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 + 100 1.43934 -4.5009545 0 -2.375679 3.0923444 + +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.sequence.engine.tcp.1 b/examples/mdi/log.17Jun22.sequence.engine.tcp.1 new file mode 100644 index 0000000000..78a5fe3cb6 --- /dev/null +++ b/examples/mdi/log.17Jun22.sequence.engine.tcp.1 @@ -0,0 +1,90 @@ +LAMMPS (2 Jun 2022) +# MDI engine script to process a series of evaulate, run, minimize commands + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.9713146 0 -2.4947521 3.1253597 + 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 + 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 + 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 + 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 + 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 + 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 + 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 + 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 + 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 + 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -4.1934138 0 -2.7168513 0.72358299 + 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 + 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 + 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 + 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 + 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 + 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 + 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 + 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 + 90 1.219283 -4.5483185 0 -2.747971 0.17898549 + 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.8524214 0 -2.3758589 4.6814052 + 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 + 20 1.1791601 -4.117932 0 -2.3768284 3.8565 + 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 + 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 + 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 + 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 + 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 + 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 + 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 + 100 1.43934 -4.5009545 0 -2.375679 3.0923444 + +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.sequence.engine.tcp.4 b/examples/mdi/log.17Jun22.sequence.engine.tcp.4 new file mode 100644 index 0000000000..856166696c --- /dev/null +++ b/examples/mdi/log.17Jun22.sequence.engine.tcp.4 @@ -0,0 +1,90 @@ +LAMMPS (2 Jun 2022) +# MDI engine script to process a series of evaulate, run, minimize commands + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.9713146 0 -2.4947521 3.1253597 + 10 1.2380002 -4.3210346 0 -2.4930499 2.0015258 + 20 1.173596 -4.2234559 0 -2.4905682 2.3587731 + 30 1.2989994 -4.4124445 0 -2.4943907 1.903698 + 40 1.4510255 -4.6467459 0 -2.504216 1.2196259 + 50 1.4631454 -4.6641774 0 -2.5037518 1.2838406 + 60 1.2694188 -4.3794267 0 -2.5050505 2.4497113 + 70 1.3363814 -4.4759884 0 -2.5027378 2.2441463 + 80 1.402534 -4.5752515 0 -2.5043224 1.9011715 + 90 1.3870321 -4.5512479 0 -2.5032084 2.0040237 + 100 1.3635651 -4.5209384 0 -2.5075493 1.9773816 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -4.1934138 0 -2.7168513 0.72358299 + 10 1.0170498 -4.2225288 0 -2.7207912 0.7556766 + 20 0.92567967 -4.0920979 0 -2.725274 1.2463143 + 30 1.0851758 -4.3346599 0 -2.73233 0.53176652 + 40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153 + 50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153 + 60 1.1172288 -4.3979372 0 -2.7482791 0.52752067 + 70 1.2228415 -4.5540741 0 -2.7484722 0.11937533 + 80 1.1776333 -4.4870195 0 -2.7481704 0.33904864 + 90 1.219283 -4.5483185 0 -2.747971 0.17898549 + 100 1.2138939 -4.5432229 0 -2.7508327 0.3076354 +delete_atoms group all +Deleted 64 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -3.8524214 0 -2.3758589 4.6814052 + 10 1.3356745 -4.3481612 0 -2.3759544 3.061856 + 20 1.1791601 -4.117932 0 -2.3768284 3.8565 + 30 1.3435556 -4.3613609 0 -2.3775171 3.0728735 + 40 1.5628445 -4.6886004 0 -2.3809628 2.0989245 + 50 1.4735556 -4.5569123 0 -2.3811152 2.6364099 + 60 1.609387 -4.7581056 0 -2.3817452 1.8988642 + 70 1.5014902 -4.5938759 0 -2.3768318 2.458161 + 80 1.3763383 -4.4089865 0 -2.3767369 3.0379808 + 90 1.498202 -4.5909613 0 -2.3787724 2.5543714 + 100 1.43934 -4.5009545 0 -2.375679 3.0923444 + +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.alone.1 b/examples/mdi/log.17Jun22.series.alone.1 new file mode 100644 index 0000000000..3e44a5c950 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.alone.1 @@ -0,0 +1,248 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 2.5 + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + compute 1 all pressure NULL virial + + thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 2.729e-06 on 1 procs for 0 steps with 500 atoms + +109.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.729e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 15687 ave 15687 max 15687 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15687 +Ave neighs/atom = 31.374 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.alone id type x y z fx fy fz modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 2.5 + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + compute 1 all pressure NULL virial + + thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.135 | 3.135 | 3.135 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 1.434e-06 on 1 procs for 0 steps with 500 atoms + +139.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.434e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18734 ave 18734 max 18734 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18734 +Ave neighs/atom = 37.468 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.alone id type x y z fx fy fz modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 2.5 + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + compute 1 all pressure NULL virial + + thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.134 | 3.134 | 3.134 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 1.483e-06 on 1 procs for 0 steps with 500 atoms + +134.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.483e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 20023 ave 20023 max 20023 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 20023 +Ave neighs/atom = 40.046 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.alone id type x y z fx fy fz modify sort id append yes + + clear + +next rho + +jump SELF LOOP +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.driver.mpi.1 b/examples/mdi/log.17Jun22.series.driver.mpi.1 new file mode 100644 index 0000000000..4b109f8724 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.driver.mpi.1 @@ -0,0 +1,213 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +mdi connect + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 1.919e-06 on 1 procs for 0 steps with 500 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.919e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 1.141e-06 on 1 procs for 0 steps with 500 atoms + +87.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.141e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.002 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 1.019e-06 on 1 procs for 0 steps with 500 atoms + +98.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.019e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + +mdi exit +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.driver.mpi.3 b/examples/mdi/log.17Jun22.series.driver.mpi.3 new file mode 100644 index 0000000000..9c042f4194 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.driver.mpi.3 @@ -0,0 +1,213 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +mdi connect + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 4.00933e-06 on 3 procs for 0 steps with 500 atoms + +91.5% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 4.009e-06 | | |100.00 + +Nlocal: 166.667 ave 177 max 150 min +Histogram: 1 0 0 0 0 0 0 0 1 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 3.11833e-06 on 3 procs for 0 steps with 500 atoms + +117.6% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.118e-06 | | |100.00 + +Nlocal: 166.667 ave 178 max 150 min +Histogram: 1 0 0 0 0 0 0 1 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 3 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 2.85467e-06 on 3 procs for 0 steps with 500 atoms + +140.1% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.855e-06 | | |100.00 + +Nlocal: 166.667 ave 181 max 150 min +Histogram: 1 0 0 0 0 0 1 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + +mdi exit +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.driver.plugin.1 b/examples/mdi/log.17Jun22.series.driver.plugin.1 new file mode 100644 index 0000000000..13dd0f0f23 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.driver.plugin.1 @@ -0,0 +1,212 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.series.engine extra "-log log.series.engine.plugin" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 2.359e-06 on 1 procs for 0 steps with 500 atoms + +127.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.359e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver.plugin id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.series.engine extra "-log log.series.engine.plugin" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 1.468e-06 on 1 procs for 0 steps with 500 atoms + +204.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.468e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver.plugin id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.series.engine extra "-log log.series.engine.plugin" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 1.378e-06 on 1 procs for 0 steps with 500 atoms + +145.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.378e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver.plugin id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.driver.plugin.3 b/examples/mdi/log.17Jun22.series.driver.plugin.3 new file mode 100644 index 0000000000..e32b35738f --- /dev/null +++ b/examples/mdi/log.17Jun22.series.driver.plugin.3 @@ -0,0 +1,212 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.series.engine extra "-log log.series.engine.plugin" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 3.50867e-06 on 3 procs for 0 steps with 500 atoms + +114.0% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.509e-06 | | |100.00 + +Nlocal: 166.667 ave 177 max 150 min +Histogram: 1 0 0 0 0 0 0 0 1 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver.plugin id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.series.engine extra "-log log.series.engine.plugin" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 3.225e-06 on 3 procs for 0 steps with 500 atoms + +82.7% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.225e-06 | | |100.00 + +Nlocal: 166.667 ave 178 max 150 min +Histogram: 1 0 0 0 0 0 0 1 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver.plugin id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 3 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.series.engine extra "-log log.series.engine.plugin" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 2.713e-06 on 3 procs for 0 steps with 500 atoms + +98.3% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.713e-06 | | |100.00 + +Nlocal: 166.667 ave 181 max 150 min +Histogram: 1 0 0 0 0 0 1 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver.plugin id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.driver.tcp.1 b/examples/mdi/log.17Jun22.series.driver.tcp.1 new file mode 100644 index 0000000000..852f08a622 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.driver.tcp.1 @@ -0,0 +1,213 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +mdi connect + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 3.017e-06 on 1 procs for 0 steps with 500 atoms + +99.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.017e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 1.977e-06 on 1 procs for 0 steps with 500 atoms + +101.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.977e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 2.042e-06 on 1 procs for 0 steps with 500 atoms + +97.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.042e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + +mdi exit +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.driver.tcp.3 b/examples/mdi/log.17Jun22.series.driver.tcp.3 new file mode 100644 index 0000000000..5b2395c275 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.driver.tcp.3 @@ -0,0 +1,213 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +variable rho index 0.7 0.8 0.9 + +mdi connect + +label LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.7 +Reading data file ... + orthogonal box = (0 0 0) to (8.9390354 8.9390354 8.9390354) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -5.200819 -4.5647906 -4.5444385 -4.5699966 -4.5799366 +Loop time of 9.08933e-06 on 3 procs for 0 steps with 500 atoms + +95.3% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.089e-06 | | |100.00 + +Nlocal: 166.667 ave 177 max 150 min +Histogram: 1 0 0 0 0 0 0 0 1 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.8 +Reading data file ... + orthogonal box = (0 0 0) to (8.5498797 8.5498797 8.5498797) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.0419499 -4.2737827 -4.2865535 -4.2176976 -4.3170971 +Loop time of 3.63567e-06 on 3 procs for 0 steps with 500 atoms + +100.9% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.636e-06 | | |100.00 + +Nlocal: 166.667 ave 178 max 150 min +Histogram: 1 0 0 0 0 0 0 1 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + + units lj + atom_style atomic + + read_data data.series.${rho} + read_data data.series.0.9 +Reading data file ... + orthogonal box = (0 0 0) to (8.2207069 8.2207069 8.2207069) + 3 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + + displace_atoms all random 0.1 0.1 0.1 48294 +Displacing atoms ... + + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm add no virial yes connect no + variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 + + thermo_style custom step temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2127) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes + Step Temp f_1 v_evirial f_1[1] f_1[2] f_1[3] + 0 0 -6.4477578 -1.5268553 -1.5717034 -1.568693 -1.4401696 +Loop time of 3.806e-06 on 3 procs for 0 steps with 500 atoms + +105.1% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.806e-06 | | |100.00 + +Nlocal: 166.667 ave 181 max 150 min +Histogram: 1 0 0 0 0 0 1 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + write_dump all custom dump.series.driver id type x y z f_1[1] f_1[2] f_1[3] modify sort id append yes + + clear + +next rho + +jump SELF LOOP + +mdi exit +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.engine.mpi.1 b/examples/mdi/log.17Jun22.series.engine.mpi.1 new file mode 100644 index 0000000000..f644edc8d1 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.engine.mpi.1 @@ -0,0 +1,58 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -5.200819 0 -5.200819 -4.5647906 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.0419499 0 -6.0419499 -4.2737827 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.4477578 0 -6.4477578 -1.5268553 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.engine.mpi.4 b/examples/mdi/log.17Jun22.series.engine.mpi.4 new file mode 100644 index 0000000000..3561f4d232 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.engine.mpi.4 @@ -0,0 +1,58 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -5.200819 0 -5.200819 -4.5647906 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.0419499 0 -6.0419499 -4.2737827 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.4477578 0 -6.4477578 -1.5268553 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.engine.plugin.1 b/examples/mdi/log.17Jun22.series.engine.plugin.1 new file mode 100644 index 0000000000..322b40ad0e --- /dev/null +++ b/examples/mdi/log.17Jun22.series.engine.plugin.1 @@ -0,0 +1,42 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.134 | 3.134 | 3.134 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.4477578 0 -6.4477578 -1.5268553 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.engine.plugin.3 b/examples/mdi/log.17Jun22.series.engine.plugin.3 new file mode 100644 index 0000000000..861a422e6b --- /dev/null +++ b/examples/mdi/log.17Jun22.series.engine.plugin.3 @@ -0,0 +1,42 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 3 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 3 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.104 | 3.105 | 3.107 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.4477578 0 -6.4477578 -1.5268553 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.engine.tcp.1 b/examples/mdi/log.17Jun22.series.engine.tcp.1 new file mode 100644 index 0000000000..f644edc8d1 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.engine.tcp.1 @@ -0,0 +1,58 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -5.200819 0 -5.200819 -4.5647906 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.0419499 0 -6.0419499 -4.2737827 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.137 | 3.137 | 3.137 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.4477578 0 -6.4477578 -1.5268553 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.series.engine.tcp.4 b/examples/mdi/log.17Jun22.series.engine.tcp.4 new file mode 100644 index 0000000000..3561f4d232 --- /dev/null +++ b/examples/mdi/log.17Jun22.series.engine.tcp.4 @@ -0,0 +1,58 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -5.200819 0 -5.200819 -4.5647906 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.0419499 0 -6.0419499 -4.2737827 +delete_atoms group all +Deleted 500 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.4477578 0 -6.4477578 -1.5268553 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.alone.1 b/examples/mdi/log.17Jun22.snapshot.alone.1 new file mode 100644 index 0000000000..44c39554f6 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.alone.1 @@ -0,0 +1,82 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +compute 1 all pressure NULL virial + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.alone id type x y z fx fy fz +dump_modify 1 sort id + +run 300 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.461 | 4.461 | 4.461 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.159268 on 1 procs for 300 steps with 500 atoms + +Performance: 813725.152 tau/day, 1883.623 timesteps/s +99.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.10659 | 0.10659 | 0.10659 | 0.0 | 66.93 +Neigh | 0.038637 | 0.038637 | 0.038637 | 0.0 | 24.26 +Comm | 0.0053144 | 0.0053144 | 0.0053144 | 0.0 | 3.34 +Output | 0.0048583 | 0.0048583 | 0.0048583 | 0.0 | 3.05 +Modify | 0.002043 | 0.002043 | 0.002043 | 0.0 | 1.28 +Other | | 0.001821 | | | 1.14 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1898 ave 1898 max 1898 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18744 ave 18744 max 18744 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.driver.mpi.1 b/examples/mdi/log.17Jun22.snapshot.driver.mpi.1 new file mode 100644 index 0000000000..cf15f32e9b --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.driver.mpi.1 @@ -0,0 +1,105 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.003 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 100 virial yes + +compute 1 all pressure NULL virial +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.driver id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +run 300 pre no post no every 100 "print 'QM eng = $(f_2/atoms)'" "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.461 | 4.461 | 4.461 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 +Loop time of 0.052449 on 1 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7579933325734575789 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41840219542566597921 -0.48020228608206266818 -0.33571704057969975477 -0.43928725961523629184 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 +Loop time of 0.0497171 on 1 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7528640103266583949 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.40524505957306500292 -0.515245777483180456 -0.27940441114041408843 -0.42108499009560135251 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.0506296 on 1 procs for 100 steps with 500 atoms + +Performance: 853255.432 tau/day, 1975.128 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.032111 | 0.032111 | 0.032111 | 0.0 | 63.42 +Neigh | 0.012403 | 0.012403 | 0.012403 | 0.0 | 24.50 +Comm | 0.0016352 | 0.0016352 | 0.0016352 | 0.0 | 3.23 +Output | 0.001556 | 0.001556 | 0.001556 | 0.0 | 3.07 +Modify | 0.0023767 | 0.0023767 | 0.0023767 | 0.0 | 4.69 +Other | | 0.0005478 | | | 1.08 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1898 ave 1898 max 1898 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18744 ave 18744 max 18744 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7527974697327088904 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41843911315518900196 -0.24280603320322050043 -0.4218915869116203754 -0.59061971935072643536 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.driver.mpi.3 b/examples/mdi/log.17Jun22.snapshot.driver.mpi.3 new file mode 100644 index 0000000000..8382b128e1 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.driver.mpi.3 @@ -0,0 +1,105 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 100 virial yes + +compute 1 all pressure NULL virial +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.driver id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +run 300 pre no post no every 100 "print 'QM eng = $(f_2/atoms)'" "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.417 | 4.422 | 4.425 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 +Loop time of 0.0242313 on 3 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7579933325734558025 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41840219542566797761 -0.4802022860820577832 -0.33571704057970208623 -0.43928725961524273114 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 +Loop time of 0.0269411 on 3 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.752864010326673494 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.40524505957305401171 -0.51524577748319133619 -0.27940441114042008364 -0.4210849900955495051 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.022648 on 3 procs for 100 steps with 500 atoms + +Performance: 1907449.463 tau/day, 4415.392 timesteps/s +100.0% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0091419 | 0.010422 | 0.011089 | 0.9 | 46.02 +Neigh | 0.0036491 | 0.0040749 | 0.0043554 | 0.5 | 17.99 +Comm | 0.004713 | 0.0056035 | 0.0073471 | 1.6 | 24.74 +Output | 0.00062782 | 0.00063348 | 0.00064461 | 0.0 | 2.80 +Modify | 0.0013385 | 0.0013655 | 0.0013943 | 0.1 | 6.03 +Other | | 0.0005485 | | | 2.42 + +Nlocal: 166.667 ave 175 max 157 min +Histogram: 1 0 0 0 0 0 1 0 0 1 +Nghost: 1254.33 ave 1264 max 1246 min +Histogram: 1 0 0 1 0 0 0 0 0 1 +Neighs: 6248 ave 6632 max 5774 min +Histogram: 1 0 0 0 0 0 1 0 0 1 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +print 'QM eng = $(f_2/atoms)' +QM eng = -5.752797469732716884 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41843911315521897798 -0.24280603320323970729 -0.42189158691169792448 -0.590619719350719663 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.driver.plugin.1 b/examples/mdi/log.17Jun22.snapshot.driver.plugin.1 new file mode 100644 index 0000000000..4d140820c8 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.driver.plugin.1 @@ -0,0 +1,118 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 100 virial yes + +compute 1 all pressure NULL virial +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.driver.plugin id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.snapshot.engine extra "-log log.snapshot.engine.plugin" command """ + run 300 pre no post no every 100 + "print 'QM eng = $(f_2/atoms)'" + "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + """ + + run 300 pre no post no every 100 + "print 'QM eng = $(f_2/atoms)'" + "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.461 | 4.461 | 4.461 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 +Loop time of 0.0623265 on 1 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7579933325734575789 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41840219542566597921 -0.48020228608206266818 -0.33571704057969975477 -0.43928725961523629184 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 +Loop time of 0.0498825 on 1 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7528640103266583949 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.40524505957306500292 -0.515245777483180456 -0.27940441114041408843 -0.42108499009560135251 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.050109 on 1 procs for 100 steps with 500 atoms + +Performance: 862120.560 tau/day, 1995.649 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 | 0.031747 | 0.031747 | 0.031747 | 0.0 | 63.36 +Neigh | 0.012304 | 0.012304 | 0.012304 | 0.0 | 24.55 +Comm | 0.0016113 | 0.0016113 | 0.0016113 | 0.0 | 3.22 +Output | 0.0015529 | 0.0015529 | 0.0015529 | 0.0 | 3.10 +Modify | 0.0023537 | 0.0023537 | 0.0023537 | 0.0 | 4.70 +Other | | 0.0005398 | | | 1.08 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1898 ave 1898 max 1898 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18744 ave 18744 max 18744 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7527974697327088904 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41843911315518900196 -0.24280603320322050043 -0.4218915869116203754 -0.59061971935072643536 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.driver.plugin.3 b/examples/mdi/log.17Jun22.snapshot.driver.plugin.3 new file mode 100644 index 0000000000..bb39f53598 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.driver.plugin.3 @@ -0,0 +1,118 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 100 virial yes + +compute 1 all pressure NULL virial +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.driver.plugin id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +mdi plugin lammps mdi "-role ENGINE -name LMP2 -method LINK" infile in.snapshot.engine extra "-log log.snapshot.engine.plugin" command """ + run 300 pre no post no every 100 + "print 'QM eng = $(f_2/atoms)'" + "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + """ + + run 300 pre no post no every 100 + "print 'QM eng = $(f_2/atoms)'" + "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.417 | 4.422 | 4.425 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 +Loop time of 0.0245664 on 3 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7579933325734442562 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41840219542566498001 -0.48020228608205661747 -0.33571704057970125357 -0.43928725961523629184 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 +Loop time of 0.0221302 on 3 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7528640103266690531 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.40524505957305301251 -0.51524577748319111414 -0.27940441114042025017 -0.42108499009554783976 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.0224519 on 3 procs for 100 steps with 500 atoms + +Performance: 1924114.069 tau/day, 4453.968 timesteps/s +100.0% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0096043 | 0.010493 | 0.011044 | 0.6 | 46.74 +Neigh | 0.0037658 | 0.0041299 | 0.004422 | 0.4 | 18.39 +Comm | 0.0048946 | 0.0055617 | 0.0068824 | 1.3 | 24.77 +Output | 0.00063471 | 0.00063884 | 0.00064691 | 0.0 | 2.85 +Modify | 0.0010632 | 0.0010754 | 0.0010895 | 0.0 | 4.79 +Other | | 0.0005531 | | | 2.46 + +Nlocal: 166.667 ave 175 max 157 min +Histogram: 1 0 0 0 0 0 1 0 0 1 +Nghost: 1254.33 ave 1264 max 1246 min +Histogram: 1 0 0 1 0 0 0 0 0 1 +Neighs: 6248 ave 6632 max 5774 min +Histogram: 1 0 0 0 0 0 1 0 0 1 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7527974697327239895 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41843911315521697958 -0.24280603320323956851 -0.42189158691169470483 -0.59061971935071611028 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.driver.tcp.1 b/examples/mdi/log.17Jun22.snapshot.driver.tcp.1 new file mode 100644 index 0000000000..905e53e8e4 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.driver.tcp.1 @@ -0,0 +1,105 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.004 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 100 virial yes + +compute 1 all pressure NULL virial +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.driver id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +run 300 pre no post no every 100 "print 'QM eng = $(f_2/atoms)'" "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.461 | 4.461 | 4.461 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 +Loop time of 0.276735 on 1 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7579933325734575789 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41840219542566597921 -0.48020228608206266818 -0.33571704057969975477 -0.43928725961523629184 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 +Loop time of 0.276667 on 1 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7528640103266583949 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.40524505957306500292 -0.515245777483180456 -0.27940441114041408843 -0.42108499009560135251 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.278602 on 1 procs for 100 steps with 500 atoms + +Performance: 155060.058 tau/day, 358.935 timesteps/s +26.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.049067 | 0.049067 | 0.049067 | 0.0 | 17.61 +Neigh | 0.01894 | 0.01894 | 0.01894 | 0.0 | 6.80 +Comm | 0.0026936 | 0.0026936 | 0.0026936 | 0.0 | 0.97 +Output | 0.002919 | 0.002919 | 0.002919 | 0.0 | 1.05 +Modify | 0.20406 | 0.20406 | 0.20406 | 0.0 | 73.24 +Other | | 0.0009253 | | | 0.33 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1898 ave 1898 max 1898 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18744 ave 18744 max 18744 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7527974697327088904 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41843911315518900196 -0.24280603320322050043 -0.4218915869116203754 -0.59061971935072643536 +Total wall time: 0:00:01 diff --git a/examples/mdi/log.17Jun22.snapshot.driver.tcp.3 b/examples/mdi/log.17Jun22.snapshot.driver.tcp.3 new file mode 100644 index 0000000000..554c942b73 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.driver.tcp.3 @@ -0,0 +1,105 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI driver script + +units lj +atom_style atomic + +read_data data.snapshot +Reading data file ... + orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981) + 1 by 1 by 3 MPI processor grid + reading atoms ... + 500 atoms + reading velocities ... + 500 velocities + read_data CPU = 0.005 seconds + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all mdi/qm add no every 100 virial yes + +compute 1 all pressure NULL virial +variable evirial equal (f_2[1]+f_2[2]+f_2[3])/3 + +thermo_style custom step temp pe c_1 c_1[1] c_1[2] c_1[3] + +thermo 100 + +dump 1 all custom 100 dump.snapshot.driver id type x y z f_2[1] f_2[2] f_2[3] +dump_modify 1 sort id + +run 300 pre no post no every 100 "print 'QM eng = $(f_2/atoms)'" "print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])'" +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.417 | 4.422 | 4.425 Mbytes + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 0 1.44 -6.7733681 -6.2353173 -6.2353173 -6.2353173 -6.2353173 + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 +Loop time of 0.271725 on 3 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.7579933325734558025 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41840219542566797761 -0.4802022860820577832 -0.33571704057970208623 -0.43928725961524273114 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 100 0.75627629 -5.7579933 -0.4184022 -0.48020229 -0.33571704 -0.43928726 + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 +Loop time of 0.275711 on 3 procs for 100 steps with 500 atoms + +print 'QM eng = $(f_2/atoms)' +QM eng = -5.752864010326673494 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.40524505957305401171 -0.51524577748319133619 -0.27940441114042008364 -0.4210849900955495051 + Step Temp PotEng c_1 c_1[1] c_1[2] c_1[3] + 200 0.75199164 -5.752864 -0.40524506 -0.51524578 -0.27940441 -0.42108499 + 300 0.75219392 -5.7527975 -0.41843911 -0.24280603 -0.42189159 -0.59061972 +Loop time of 0.27674 on 3 procs for 100 steps with 500 atoms + +Performance: 156103.145 tau/day, 361.350 timesteps/s +71.1% CPU use with 3 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0086137 | 0.01236 | 0.019756 | 4.7 | 4.47 +Neigh | 0.003253 | 0.0047355 | 0.0075676 | 2.9 | 1.71 +Comm | 0.0065383 | 0.016521 | 0.021738 | 5.5 | 5.97 +Output | 0.0011823 | 0.0011972 | 0.0012111 | 0.0 | 0.43 +Modify | 0.24066 | 0.24076 | 0.24093 | 0.0 | 87.00 +Other | | 0.001171 | | | 0.42 + +Nlocal: 166.667 ave 175 max 157 min +Histogram: 1 0 0 0 0 0 1 0 0 1 +Nghost: 1254.33 ave 1264 max 1246 min +Histogram: 1 0 0 1 0 0 0 0 0 1 +Neighs: 6248 ave 6632 max 5774 min +Histogram: 1 0 0 0 0 0 1 0 0 1 + +Total # of neighbors = 18744 +Ave neighs/atom = 37.488 +Neighbor list builds = 31 +Dangerous builds = 0 +print 'QM eng = $(f_2/atoms)' +QM eng = -5.752797469732716884 +print 'QM virial = $(v_evirial) $(f_2[1]) $(f_2[2]) $(f_2[3])' +QM virial = -0.41843911315521897798 -0.24280603320323970729 -0.42189158691169792448 -0.590619719350719663 +Total wall time: 0:00:01 diff --git a/examples/mdi/log.17Jun22.snapshot.engine.mpi.1 b/examples/mdi/log.17Jun22.snapshot.engine.mpi.1 new file mode 100644 index 0000000000..1480d238f0 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.engine.mpi.1 @@ -0,0 +1,45 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -5.7579933 0 -5.7579933 -0.4184022 + 2 0 -5.752864 0 -5.752864 -0.40524506 + 3 0 -5.7527975 0 -5.7527975 -0.41843911 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.engine.mpi.3 b/examples/mdi/log.17Jun22.snapshot.engine.mpi.3 new file mode 100644 index 0000000000..0be8b75f70 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.engine.mpi.3 @@ -0,0 +1,45 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -5.7579933 0 -5.7579933 -0.4184022 + 2 0 -5.752864 0 -5.752864 -0.40524506 + 3 0 -5.7527975 0 -5.7527975 -0.41843911 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.engine.plugin.1 b/examples/mdi/log.17Jun22.snapshot.engine.plugin.1 new file mode 100644 index 0000000000..1480d238f0 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.engine.plugin.1 @@ -0,0 +1,45 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -5.7579933 0 -5.7579933 -0.4184022 + 2 0 -5.752864 0 -5.752864 -0.40524506 + 3 0 -5.7527975 0 -5.7527975 -0.41843911 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.engine.plugin.3 b/examples/mdi/log.17Jun22.snapshot.engine.plugin.3 new file mode 100644 index 0000000000..d1344cccbd --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.engine.plugin.3 @@ -0,0 +1,45 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 3 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 3 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -5.7579933 0 -5.7579933 -0.4184022 + 2 0 -5.752864 0 -5.752864 -0.40524506 + 3 0 -5.7527975 0 -5.7527975 -0.41843911 +Total wall time: 0:00:00 diff --git a/examples/mdi/log.17Jun22.snapshot.engine.tcp.1 b/examples/mdi/log.17Jun22.snapshot.engine.tcp.1 new file mode 100644 index 0000000000..4deaa0d0f1 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.engine.tcp.1 @@ -0,0 +1,45 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 1 by 1 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 1 by 1 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -5.7579933 0 -5.7579933 -0.4184022 + 2 0 -5.752864 0 -5.752864 -0.40524506 + 3 0 -5.7527975 0 -5.7527975 -0.41843911 +Total wall time: 0:00:01 diff --git a/examples/mdi/log.17Jun22.snapshot.engine.tcp.4 b/examples/mdi/log.17Jun22.snapshot.engine.tcp.4 new file mode 100644 index 0000000000..2af1319e58 --- /dev/null +++ b/examples/mdi/log.17Jun22.snapshot.engine.tcp.4 @@ -0,0 +1,45 @@ +LAMMPS (2 Jun 2022) +# 3d Lennard-Jones melt - MDI engine script + +units lj +atom_style atomic + +lattice fcc 1.0 +Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.5874011 1.5874011 1.5874011) + 1 by 2 by 2 MPI processor grid +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +mdi engine +delete_atoms group all +Deleted 0 atoms, new total = 0 + 1 by 2 by 2 MPI processor grid +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -6.7733681 0 -6.7733681 -6.2353173 + 1 0 -5.7579933 0 -5.7579933 -0.4184022 + 2 0 -5.752864 0 -5.752864 -0.40524506 + 3 0 -5.7527975 0 -5.7527975 -0.41843911 +Total wall time: 0:00:01 From dac99e462ffb7891c15a59074d39c89b53a1a5d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 13:04:25 -0400 Subject: [PATCH 085/153] update log files --- examples/snap/log.15Jun22.grid.snap.g++.1 | 46 +++++++++------------ examples/snap/log.15Jun22.grid.snap.g++.4 | 48 +++++++++------------- examples/snap/log.15Jun22.grid.tri.g++.1 | 50 ++++++++++------------- examples/snap/log.15Jun22.grid.tri.g++.4 | 50 ++++++++++------------- 4 files changed, 81 insertions(+), 113 deletions(-) diff --git a/examples/snap/log.15Jun22.grid.snap.g++.1 b/examples/snap/log.15Jun22.grid.snap.g++.1 index 71b884d1b6..ec2026b16e 100644 --- a/examples/snap/log.15Jun22.grid.snap.g++.1 +++ b/examples/snap/log.15Jun22.grid.snap.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (28 Jul 2021) +LAMMPS (2 Jun 2022) + using 1 OpenMP thread(s) per MPI task # Demonstrate calculation of SNAP bispectrum descriptors on a grid # CORRECTNESS: The two atom positions coincide with two of @@ -27,17 +28,17 @@ boundary p p p lattice custom $a a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 lattice custom 3.316 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 -Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +Lattice spacing in x,y,z = 3.316 3.316 3.316 region box block 0 ${nx} 0 ${ny} 0 ${nz} region box block 0 1 0 ${ny} 0 ${nz} region box block 0 1 0 1 0 ${nz} region box block 0 1 0 1 0 1 create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) +Created orthogonal box = (0 0 0) to (3.316 3.316 3.316) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 2 atoms - using lattice units in orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) + using lattice units in orthogonal box = (0 0 0) to (3.316 3.316 3.316) create_atoms CPU = 0.000 seconds mass 1 180.88 @@ -105,14 +106,15 @@ dump 2 all custom 1000 dump.batom id x y z c_b[*] # run run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6.67637 ghost atom cutoff = 6.67637 binsize = 3.338185, bins = 1 1 1 - 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 (1) pair zero, perpetual attributes: half, newton on pair build: half/bin/atomonly/newton @@ -123,22 +125,12 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (3) compute sna/grid, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard - (4) compute sna/grid/local, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.384 | 8.384 | 8.384 Mbytes -Step v_B5atom v_B5grid v_rmse_global - 0 1.0427295 1.0427295 0 -Loop time of 1e-06 on 1 procs for 0 steps with 2 atoms +Per MPI rank memory allocation (min/avg/max) = 7.127 | 7.127 | 7.127 Mbytes + Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 9.1551336e-16 +Loop time of 1.43e-06 on 1 procs for 0 steps with 2 atoms -100.0% CPU use with 1 MPI tasks x no OpenMP threads +139.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -148,19 +140,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1e-06 | | |100.00 +Other | | 1.43e-06 | | |100.00 -Nlocal: 2.00000 ave 2 max 2 min +Nlocal: 2 ave 2 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 339.000 ave 339 max 339 min +Nghost: 339 ave 339 max 339 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 64.0000 ave 64 max 64 min +Neighs: 64 ave 64 max 64 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 128.000 ave 128 max 128 min +FullNghs: 128 ave 128 max 128 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 128 -Ave neighs/atom = 64.000000 +Ave neighs/atom = 64 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/snap/log.15Jun22.grid.snap.g++.4 b/examples/snap/log.15Jun22.grid.snap.g++.4 index 80761fc395..5be17ada7d 100644 --- a/examples/snap/log.15Jun22.grid.snap.g++.4 +++ b/examples/snap/log.15Jun22.grid.snap.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (28 Jul 2021) +LAMMPS (2 Jun 2022) + using 1 OpenMP thread(s) per MPI task # Demonstrate calculation of SNAP bispectrum descriptors on a grid # CORRECTNESS: The two atom positions coincide with two of @@ -27,17 +28,17 @@ boundary p p p lattice custom $a a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 lattice custom 3.316 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5 -Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +Lattice spacing in x,y,z = 3.316 3.316 3.316 region box block 0 ${nx} 0 ${ny} 0 ${nz} region box block 0 1 0 ${ny} 0 ${nz} region box block 0 1 0 1 0 ${nz} region box block 0 1 0 1 0 1 create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) +Created orthogonal box = (0 0 0) to (3.316 3.316 3.316) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 2 atoms - using lattice units in orthogonal box = (0.0000000 0.0000000 0.0000000) to (3.3160000 3.3160000 3.3160000) + using lattice units in orthogonal box = (0 0 0) to (3.316 3.316 3.316) create_atoms CPU = 0.001 seconds mass 1 180.88 @@ -105,14 +106,15 @@ dump 2 all custom 1000 dump.batom id x y z c_b[*] # run run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6.67637 ghost atom cutoff = 6.67637 binsize = 3.338185, bins = 1 1 1 - 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 (1) pair zero, perpetual attributes: half, newton on pair build: half/bin/atomonly/newton @@ -123,23 +125,13 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (3) compute sna/grid, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard - (4) compute sna/grid/local, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:964) -Per MPI rank memory allocation (min/avg/max) = 7.381 | 7.889 | 8.397 Mbytes -Step v_B5atom v_B5grid v_rmse_global - 0 1.0427295 1.0427295 0 -Loop time of 1.5e-06 on 4 procs for 0 steps with 2 atoms +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:970) +Per MPI rank memory allocation (min/avg/max) = 6.123 | 6.631 | 7.139 Mbytes + Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 1.6316879e-15 +Loop time of 2.57125e-06 on 4 procs for 0 steps with 2 atoms -83.3% CPU use with 4 MPI tasks x no OpenMP threads +107.0% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -149,19 +141,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.5e-06 | | |100.00 +Other | | 2.571e-06 | | |100.00 -Nlocal: 0.500000 ave 1 max 0 min +Nlocal: 0.5 ave 1 max 0 min Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 274.500 ave 275 max 274 min +Nghost: 274.5 ave 275 max 274 min Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 16.0000 ave 40 max 0 min +Neighs: 16 ave 40 max 0 min Histogram: 2 0 0 0 0 0 1 0 0 1 -FullNghs: 32.0000 ave 64 max 0 min +FullNghs: 32 ave 64 max 0 min Histogram: 2 0 0 0 0 0 0 0 0 2 Total # of neighbors = 128 -Ave neighs/atom = 64.000000 +Ave neighs/atom = 64 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/snap/log.15Jun22.grid.tri.g++.1 b/examples/snap/log.15Jun22.grid.tri.g++.1 index c261154367..e26315235b 100644 --- a/examples/snap/log.15Jun22.grid.tri.g++.1 +++ b/examples/snap/log.15Jun22.grid.tri.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (28 Jul 2021) +LAMMPS (2 Jun 2022) + using 1 OpenMP thread(s) per MPI task # Demonstrate calculation of SNAP bispectrum # descriptors on a grid for triclinic cell @@ -51,7 +52,7 @@ boundary p p p lattice custom $a a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 lattice custom 3.316 a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 -Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +Lattice spacing in x,y,z = 3.316 3.316 3.316 box tilt large region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} @@ -62,13 +63,13 @@ region box prism 0 3 0 2 0 1 2 ${nz} ${nz} region box prism 0 3 0 2 0 1 2 1 ${nz} region box prism 0 3 0 2 0 1 2 1 1 create_box 1 box -Created triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) -WARNING: Triclinic box skew is large (src/domain.cpp:219) +Created triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316) +WARNING: Triclinic box skew is large (src/domain.cpp:224) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 12 atoms - using lattice units in triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) - create_atoms CPU = 0.001 seconds + using lattice units in triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316) + create_atoms CPU = 0.000 seconds mass 1 180.88 @@ -138,14 +139,15 @@ dump 2 all custom 1000 dump.batom.tri id x y z c_b[*] # run run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6.67637 ghost atom cutoff = 6.67637 binsize = 3.338185, bins = 6 3 1 - 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 (1) pair zero, perpetual attributes: half, newton on pair build: half/bin/newton/tri @@ -156,22 +158,12 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (3) compute sna/grid, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard - (4) compute sna/grid/local, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.435 | 8.435 | 8.435 Mbytes -Step v_B5atom v_B5grid v_rmse_global - 0 1.0427295 1.0427295 7.2262471e-14 -Loop time of 1e-06 on 1 procs for 0 steps with 12 atoms +Per MPI rank memory allocation (min/avg/max) = 7.183 | 7.183 | 7.183 Mbytes + Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 7.2262471e-14 +Loop time of 1.414e-06 on 1 procs for 0 steps with 12 atoms -100.0% CPU use with 1 MPI tasks x no OpenMP threads +70.7% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -181,19 +173,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1e-06 | | |100.00 +Other | | 1.414e-06 | | |100.00 -Nlocal: 12.0000 ave 12 max 12 min +Nlocal: 12 ave 12 max 12 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 604.000 ave 604 max 604 min +Nghost: 604 ave 604 max 604 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 384.000 ave 384 max 384 min +Neighs: 384 ave 384 max 384 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 768.000 ave 768 max 768 min +FullNghs: 768 ave 768 max 768 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 768 -Ave neighs/atom = 64.000000 +Ave neighs/atom = 64 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/snap/log.15Jun22.grid.tri.g++.4 b/examples/snap/log.15Jun22.grid.tri.g++.4 index bac7ecaa5a..cee3ce7f12 100644 --- a/examples/snap/log.15Jun22.grid.tri.g++.4 +++ b/examples/snap/log.15Jun22.grid.tri.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (28 Jul 2021) +LAMMPS (2 Jun 2022) + using 1 OpenMP thread(s) per MPI task # Demonstrate calculation of SNAP bispectrum # descriptors on a grid for triclinic cell @@ -51,7 +52,7 @@ boundary p p p lattice custom $a a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 lattice custom 3.316 a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1 -Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +Lattice spacing in x,y,z = 3.316 3.316 3.316 box tilt large region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz} @@ -62,13 +63,13 @@ region box prism 0 3 0 2 0 1 2 ${nz} ${nz} region box prism 0 3 0 2 0 1 2 1 ${nz} region box prism 0 3 0 2 0 1 2 1 1 create_box 1 box -Created triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) -WARNING: Triclinic box skew is large (src/domain.cpp:219) +Created triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316) +WARNING: Triclinic box skew is large (src/domain.cpp:224) 2 by 2 by 1 MPI processor grid create_atoms 1 box Created 12 atoms - using lattice units in triclinic box = (0.0000000 0.0000000 0.0000000) to (9.9480000 6.6320000 3.3160000) with tilt (6.6320000 3.3160000 3.3160000) - create_atoms CPU = 0.001 seconds + using lattice units in triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316) + create_atoms CPU = 0.000 seconds mass 1 180.88 @@ -138,14 +139,15 @@ dump 2 all custom 1000 dump.batom.tri id x y z c_b[*] # run run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6.67637 ghost atom cutoff = 6.67637 binsize = 3.338185, bins = 6 3 1 - 4 neighbor lists, perpetual/occasional/extra = 1 3 0 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 (1) pair zero, perpetual attributes: half, newton on pair build: half/bin/newton/tri @@ -156,22 +158,12 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (3) compute sna/grid, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard - (4) compute sna/grid/local, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.405 | 8.405 | 8.405 Mbytes -Step v_B5atom v_B5grid v_rmse_global - 0 1.0427295 1.0427295 2.1052124e-14 -Loop time of 1.25e-06 on 4 procs for 0 steps with 12 atoms +Per MPI rank memory allocation (min/avg/max) = 7.15 | 7.15 | 7.15 Mbytes + Step v_B5atom v_B5grid v_rmse_global + 0 1.0427295 1.0427295 1.9367585e-14 +Loop time of 2.65825e-06 on 4 procs for 0 steps with 12 atoms -140.0% CPU use with 4 MPI tasks x no OpenMP threads +84.6% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -181,19 +173,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.25e-06 | | |100.00 +Other | | 2.658e-06 | | |100.00 -Nlocal: 3.00000 ave 4 max 2 min +Nlocal: 3 ave 4 max 2 min Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 459.000 ave 460 max 458 min +Nghost: 459 ave 460 max 458 min Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 96.0000 ave 128 max 64 min +Neighs: 96 ave 128 max 64 min Histogram: 2 0 0 0 0 0 0 0 0 2 -FullNghs: 192.000 ave 256 max 128 min +FullNghs: 192 ave 256 max 128 min Histogram: 2 0 0 0 0 0 0 0 0 2 Total # of neighbors = 768 -Ave neighs/atom = 64.000000 +Ave neighs/atom = 64 Neighbor list builds = 0 Dangerous builds = 0 From 378511345aefb7a6ac4de0ea29281f1b92a007eb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 17 Jun 2022 11:06:22 -0600 Subject: [PATCH 086/153] pass ID list to create_atoms from MDI --- src/MDI/fix_mdi_qm.cpp | 1 + src/MDI/mdi_engine.cpp | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index e819087844..38b7270651 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -316,6 +316,7 @@ void FixMDIQM::post_force(int vflag) fqm[i][2] = buf3[3 * index + 2] * mdi2lmp_force; } + // optionally add forces to owned atoms // use atomID of local atoms to index into ordered buf3 diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 6a58512cfa..3683e3f3c5 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -955,16 +955,23 @@ void MDIEngine::create_system() lammps_reset_box(lmp, boxlo, boxhi, xy, yz, xz); // invoke lib->create_atoms() + // create list of 1 to sys_natoms IDs // optionally set charges if specified by ">CHARGES" + tagint* sys_ids; + memory->create(sys_ids, sys_natoms, "mdi:sys_ids"); + for (int i = 0; i < sys_natoms; i++) sys_ids[i] = i+1; + if (flag_velocities) - lammps_create_atoms(lmp, sys_natoms, nullptr, sys_types, sys_coords, sys_velocities, nullptr, + lammps_create_atoms(lmp, sys_natoms, sys_ids, sys_types, sys_coords, sys_velocities, nullptr, 1); else - lammps_create_atoms(lmp, sys_natoms, nullptr, sys_types, sys_coords, nullptr, nullptr, 1); + lammps_create_atoms(lmp, sys_natoms, sys_ids, sys_types, sys_coords, nullptr, nullptr, 1); if (flag_charges) lammps_scatter_atoms(lmp, (char *) "q", 1, 1, sys_charges); + memory->destroy(sys_ids); + // new system update->ntimestep = 0; From 5b9c4069e976edbcc0a7d45e20eec42c4a0f52d1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 13:25:29 -0400 Subject: [PATCH 087/153] make headers clang-format compatible and use override keywords --- src/ML-SNAP/compute_sna_grid.h | 16 ++++++++-------- src/ML-SNAP/compute_sna_grid_local.h | 16 ++++++++-------- src/compute_grid.h | 11 +++++------ src/compute_grid_local.h | 11 +++++------ 4 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index 9bc3da8112..750f779a00 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS - -ComputeStyle(sna/grid,ComputeSNAGrid) - +// clang-format off +ComputeStyle(sna/grid,ComputeSNAGrid); +// clang-format on #else #ifndef LMP_COMPUTE_SNA_GRID_H @@ -27,11 +27,11 @@ namespace LAMMPS_NS { class ComputeSNAGrid : public ComputeGrid { public: ComputeSNAGrid(class LAMMPS *, int, char **); - ~ComputeSNAGrid(); - void init(); - void init_list(int, class NeighList *); - void compute_array(); - double memory_usage(); + ~ComputeSNAGrid() override; + void init() override; + void init_list(int, class NeighList *) override; + void compute_array() override; + double memory_usage() override; private: int ncoeff; diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h index 69a2c528fc..c7678d049e 100644 --- a/src/ML-SNAP/compute_sna_grid_local.h +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS - -ComputeStyle(sna/grid/local,ComputeSNAGridLocal) - +// clang-format off +ComputeStyle(sna/grid/local,ComputeSNAGridLocal); +// clang-format on #else #ifndef LMP_COMPUTE_SNA_GRID_LOCAL_H @@ -27,11 +27,11 @@ namespace LAMMPS_NS { class ComputeSNAGridLocal : public ComputeGridLocal { public: ComputeSNAGridLocal(class LAMMPS *, int, char **); - ~ComputeSNAGridLocal(); - void init(); - void init_list(int, class NeighList *); - void compute_local(); - double memory_usage(); + ~ComputeSNAGridLocal() override; + void init() override; + void init_list(int, class NeighList *) override; + void compute_local() override; + double memory_usage() override; private: int ncoeff; diff --git a/src/compute_grid.h b/src/compute_grid.h index b0214b2b15..4264039cc8 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -22,12 +22,12 @@ class ComputeGrid : public Compute { public: ComputeGrid(class LAMMPS *, int, char **); - virtual ~ComputeGrid(); - void init(); - void setup(); - virtual void compute_array() = 0; + ~ComputeGrid() override; + void init() override; + void setup() override; + void compute_array() override = 0; - double memory_usage(); + double memory_usage() override; protected: int nx, ny, nz; // global grid dimensions @@ -53,7 +53,6 @@ class ComputeGrid : public Compute { void assign_coords_all(); // assign coords for global grid void set_grid_global(); // set global grid void set_grid_local(); // set bounds for local grid - private: }; } diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index 5c5611250b..2989628d79 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -22,12 +22,12 @@ class ComputeGridLocal : public Compute { public: ComputeGridLocal(class LAMMPS *, int, char **); - virtual ~ComputeGridLocal(); - void init(); - void setup(); - virtual void compute_local() = 0; + ~ComputeGridLocal() override; + void init() override; + void setup() override; + void compute_local() override = 0; - double memory_usage(); + double memory_usage() override; protected: int nx, ny, nz; // global grid dimensions @@ -51,7 +51,6 @@ class ComputeGridLocal : public Compute { void set_grid_global(); // set global grid void set_grid_local(); // set bounds for local grid void assign_coords(); // assign coords for grid - private: }; } From d9646ee537d642f72e3de20b4c3cf26d94c44a3d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 13:25:40 -0400 Subject: [PATCH 088/153] remove dead code --- src/ML-SNAP/compute_sna_grid.cpp | 1 - src/ML-SNAP/compute_sna_grid_local.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 8247771493..5ea49469e2 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -255,7 +255,6 @@ void ComputeSNAGrid::compute_array() int ielem = 0; if (chemflag) ielem = map[itype]; - const double radi = radelem[itype]; // rij[][3] = displacements between atom I and those neighbors // inside = indices of neighbors of I within cutoff diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 70b5b362d8..614880043c 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -254,7 +254,6 @@ void ComputeSNAGridLocal::compute_local() int ielem = 0; if (chemflag) ielem = map[itype]; - const double radi = radelem[itype]; // rij[][3] = displacements between atom I and those neighbors // inside = indices of neighbors of I within cutoff From 9fd6bde0ed8f5f1c040d67b2c0f8c3092e13db7a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 13:47:23 -0400 Subject: [PATCH 089/153] enable and apply clang-format --- src/ML-SNAP/compute_sna_grid.cpp | 200 ++++++++++++------------- src/ML-SNAP/compute_sna_grid.h | 2 +- src/ML-SNAP/compute_sna_grid_local.cpp | 193 +++++++++++------------- src/ML-SNAP/compute_sna_grid_local.h | 2 +- src/compute_grid.cpp | 121 +++++++-------- src/compute_grid.h | 47 +++--- src/compute_grid_local.cpp | 107 +++++++------ src/compute_grid_local.h | 43 +++--- 8 files changed, 337 insertions(+), 378 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 5ea49469e2..e182b16d64 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -11,22 +11,22 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "compute_grid.h" #include "compute_sna_grid.h" -#include "sna.h" + #include "atom.h" -#include "update.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" -#include "force.h" +#include "neighbor.h" #include "pair.h" -#include "domain.h" -#include "comm.h" -#include "memory.h" -#include "error.h" +#include "sna.h" #include "tokenizer.h" +#include "update.h" #include #include @@ -34,8 +34,7 @@ using namespace LAMMPS_NS; ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : - ComputeGrid(lmp, narg, arg), cutsq(nullptr), - radelem(nullptr), wjelem(nullptr) + ComputeGrid(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -48,9 +47,9 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : narg -= nargbase; int ntypes = atom->ntypes; - int nargmin = 6+2*ntypes; + int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR,"Illegal compute sna/grid command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute sna/grid command"); // default values @@ -66,30 +65,28 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem,ntypes+1,"sna/grid:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"sna/grid:wjelem"); + memory->create(radelem, ntypes + 1, "sna/grid:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/grid:wjelem"); rcutfac = atof(arg[3]); rfac0 = atof(arg[4]); twojmax = atoi(arg[5]); - for(int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[6+i]); - for(int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[6+ntypes+i]); + for (int i = 0; i < ntypes; i++) radelem[i + 1] = atof(arg[6 + i]); + for (int i = 0; i < ntypes; i++) wjelem[i + 1] = atof(arg[6 + ntypes + i]); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"sna/grid:cutsq"); - for(int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/grid:cutsq"); + for (int i = 1; i <= ntypes; i++) { + cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; - cutsq[i][i] = cut*cut; - for(int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; + cutsq[i][i] = cut * cut; + for (int j = i + 1; j <= ntypes; j++) { + cut = (radelem[i] + radelem[j]) * rcutfac; + cutsq[i][j] = cutsq[j][i] = cut * cut; } } @@ -103,90 +100,81 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - rmin0 = atof(arg[iarg+1]); + if (strcmp(arg[iarg], "rmin0") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + rmin0 = atof(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - switchflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + switchflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - bzeroflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "bzeroflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + bzeroflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - quadraticflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "quadraticflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + quadraticflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); + } else if (strcmp(arg[iarg], "chem") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_sna_grid:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + memory->create(map, ntypes + 1, "compute_sna_grid:map"); + nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal compute sna/grid command"); - map[i+1] = jelem; + int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute sna/grid command"); + map[i + 1] = jelem; } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - bnormflag = atoi(arg[iarg+1]); + iarg += 2 + ntypes; + } else if (strcmp(arg[iarg], "bnormflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + bnormflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - wselfallflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "wselfallflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + wselfallflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - switchinnerflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + switchinnerflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { + } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid command"); + memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); sinnerflag = 1; iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { + } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute sna/grid command"); - memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid command"); + memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; - } else error->all(FLERR,"Illegal compute sna/grid command"); - + } else + error->all(FLERR, "Illegal compute sna/grid command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR,"Illegal compute sna/grid command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute sna/grid command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR,"Illegal compute sna/grid command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute sna/grid command: switchinnerflag = 0, unexpected sinner/dinner keyword"); - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, + wselfallflag, nelements, switchinnerflag); ncoeff = snaptr->ncoeff; nvalues = ncoeff; - if (quadraticflag) nvalues += (ncoeff*(ncoeff+1))/2; + if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; size_array_cols = size_array_cols_base + nvalues; array_flag = 1; } @@ -209,9 +197,8 @@ void ComputeSNAGrid::init() { int count = 0; for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style,"sna/grid") == 0) count++; - if (count > 1 && comm->me == 0) - error->warning(FLERR,"More than one compute sna/grid"); + if (strcmp(modify->compute[i]->style, "sna/grid") == 0) count++; + if (count > 1 && comm->me == 0) error->warning(FLERR, "More than one compute sna/grid"); snaptr->init(); } @@ -230,9 +217,9 @@ void ComputeSNAGrid::compute_array() // compute sna for each gridpoint - double** const x = atom->x; - const int* const mask = atom->mask; - int * const type = atom->type; + double **const x = atom->x; + const int *const mask = atom->mask; + int *const type = atom->type; const int ntotal = atom->nlocal + atom->nghost; // insure rij, inside, and typej are of size jnum @@ -243,7 +230,7 @@ void ComputeSNAGrid::compute_array() for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { double xgrid[3]; - const int igrid = iz*(nx*ny) + iy*nx + ix; + const int igrid = iz * (nx * ny) + iy * nx + ix; grid2x(igrid, xgrid); const double xtmp = xgrid[0]; const double ytmp = xgrid[1]; @@ -253,8 +240,7 @@ void ComputeSNAGrid::compute_array() const int itype = 1; int ielem = 0; - if (chemflag) - ielem = map[itype]; + if (chemflag) ielem = map[itype]; // rij[][3] = displacements between atom I and those neighbors // inside = indices of neighbors of I within cutoff @@ -270,11 +256,10 @@ void ComputeSNAGrid::compute_array() const double delx = xtmp - x[j][0]; const double dely = ytmp - x[j][1]; const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; + const double rsq = delx * delx + dely * dely + delz * delz; int jtype = type[j]; int jelem = 0; - if (chemflag) - jelem = map[jtype]; + if (chemflag) jelem = map[jtype]; if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; @@ -282,7 +267,7 @@ void ComputeSNAGrid::compute_array() snaptr->rij[ninside][2] = delz; snaptr->inside[ninside] = j; snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + snaptr->rcutij[ninside] = 2.0 * radelem[jtype] * rcutfac; if (switchinnerflag) { snaptr->sinnerij[ninside] = sinnerelem[jelem]; snaptr->dinnerij[ninside] = dinnerelem[jelem]; @@ -299,7 +284,7 @@ void ComputeSNAGrid::compute_array() // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - gridlocal[size_array_cols_base+icoeff][iz][iy][ix] = snaptr->blist[icoeff]; + gridlocal[size_array_cols_base + icoeff][iz][iy][ix] = snaptr->blist[icoeff]; // quadratic contributions @@ -307,28 +292,28 @@ void ComputeSNAGrid::compute_array() int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = snaptr->blist[icoeff]; - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = 0.5*bveci*bveci; - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - gridlocal[size_array_cols_base+ncount++][iz][iy][ix] = bveci*snaptr->blist[jcoeff]; + gridlocal[size_array_cols_base + ncount++][iz][iy][ix] = 0.5 * bveci * bveci; + for (int jcoeff = icoeff + 1; jcoeff < ncoeff; jcoeff++) + gridlocal[size_array_cols_base + ncount++][iz][iy][ix] = + bveci * snaptr->blist[jcoeff]; } } } - memset(&grid[0][0],0,size_array_rows*size_array_cols*sizeof(double)); + memset(&grid[0][0], 0, size_array_rows * size_array_cols * sizeof(double)); for (int iz = nzlo; iz <= nzhi; iz++) for (int iy = nylo; iy <= nyhi; iy++) for (int ix = nxlo; ix <= nxhi; ix++) { - const int igrid = iz*(nx*ny) + iy*nx + ix; + const int igrid = iz * (nx * ny) + iy * nx + ix; for (int j = 0; j < nvalues; j++) grid[igrid][size_array_cols_base + j] = gridlocal[size_array_cols_base + j][iz][iy][ix]; } - MPI_Allreduce(&grid[0][0],&gridall[0][0],size_array_rows*size_array_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&grid[0][0], &gridall[0][0], size_array_rows * size_array_cols, MPI_DOUBLE, MPI_SUM, + world); assign_coords_all(); - } - /* ---------------------------------------------------------------------- memory usage ------------------------------------------------------------------------- */ @@ -336,9 +321,8 @@ void ComputeSNAGrid::compute_array() double ComputeSNAGrid::memory_usage() { double nbytes = snaptr->memory_usage(); // SNA object - int n = atom->ntypes+1; - nbytes += (double)n*sizeof(int); // map + int n = atom->ntypes + 1; + nbytes += (double) n * sizeof(int); // map return nbytes; } - diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index 750f779a00..7eef027ef7 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -50,7 +50,7 @@ class ComputeSNAGrid : public ComputeGrid { int quadraticflag; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 614880043c..7359acacbf 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -11,22 +11,22 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "compute_grid_local.h" #include "compute_sna_grid_local.h" -#include "sna.h" + #include "atom.h" -#include "update.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" -#include "force.h" +#include "neighbor.h" #include "pair.h" -#include "domain.h" -#include "comm.h" -#include "memory.h" -#include "error.h" +#include "sna.h" #include "tokenizer.h" +#include "update.h" #include #include @@ -34,8 +34,7 @@ using namespace LAMMPS_NS; ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : - ComputeGridLocal(lmp, narg, arg), cutsq(nullptr), - radelem(nullptr), wjelem(nullptr) + ComputeGridLocal(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -48,9 +47,9 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : narg -= nargbase; int ntypes = atom->ntypes; - int nargmin = 6+2*ntypes; + int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR,"Illegal compute sna/grid/local command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute sna/grid/local command"); // default values @@ -71,30 +70,29 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem,ntypes+1,"sna/grid/local:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"sna/grid/local:wjelem"); + memory->create(radelem, ntypes + 1, + "sna/grid/local:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/grid/local:wjelem"); rcutfac = atof(arg[3]); rfac0 = atof(arg[4]); twojmax = atoi(arg[5]); - for(int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[6+i]); - for(int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[6+ntypes+i]); + for (int i = 0; i < ntypes; i++) radelem[i + 1] = atof(arg[6 + i]); + for (int i = 0; i < ntypes; i++) wjelem[i + 1] = atof(arg[6 + ntypes + i]); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"sna/grid/local:cutsq"); - for(int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/grid/local:cutsq"); + for (int i = 1; i <= ntypes; i++) { + cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; - cutsq[i][i] = cut*cut; - for(int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; + cutsq[i][i] = cut * cut; + for (int j = i + 1; j <= ntypes; j++) { + cut = (radelem[i] + radelem[j]) * rcutfac; + cutsq[i][j] = cutsq[j][i] = cut * cut; } } @@ -103,90 +101,82 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - rmin0 = atof(arg[iarg+1]); + if (strcmp(arg[iarg], "rmin0") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + rmin0 = atof(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - switchflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + switchflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - bzeroflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "bzeroflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + bzeroflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - quadraticflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "quadraticflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + quadraticflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); + } else if (strcmp(arg[iarg], "chem") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_sna_grid_local:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + memory->create(map, ntypes + 1, "compute_sna_grid_local:map"); + nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); + int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal compute sna/grid/local command"); - map[i+1] = jelem; + error->all(FLERR, "Illegal compute sna/grid/local command"); + map[i + 1] = jelem; } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - bnormflag = atoi(arg[iarg+1]); + iarg += 2 + ntypes; + } else if (strcmp(arg[iarg], "bnormflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + bnormflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - wselfallflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "wselfallflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + wselfallflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - switchinnerflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + switchinnerflag = atoi(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { + } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); sinnerflag = 1; iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { + } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute sna/grid/local command"); - memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; - } else error->all(FLERR,"Illegal compute sna/grid/local command"); - + } else + error->all(FLERR, "Illegal compute sna/grid/local command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR,"Illegal compute sna/grid/local command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all(FLERR, + "Illegal compute sna/grid/local command: switchinnerflag = 1, missing sinner/dinner " + "keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR,"Illegal compute sna/grid/local command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all(FLERR, + "Illegal compute sna/grid/local command: switchinnerflag = 0, unexpected " + "sinner/dinner keyword"); - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, + wselfallflag, nelements, switchinnerflag); ncoeff = snaptr->ncoeff; nvalues = ncoeff; - if (quadraticflag) nvalues += (ncoeff*(ncoeff+1))/2; + if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; size_local_cols = size_local_cols_base + nvalues; } @@ -208,9 +198,8 @@ void ComputeSNAGridLocal::init() { int count = 0; for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style,"sna/grid/local") == 0) count++; - if (count > 1 && comm->me == 0) - error->warning(FLERR,"More than one compute sna/grid/local"); + if (strcmp(modify->compute[i]->style, "sna/grid/local") == 0) count++; + if (count > 1 && comm->me == 0) error->warning(FLERR, "More than one compute sna/grid/local"); snaptr->init(); } @@ -229,9 +218,9 @@ void ComputeSNAGridLocal::compute_local() // compute sna for each gridpoint - double** const x = atom->x; - const int* const mask = atom->mask; - int * const type = atom->type; + double **const x = atom->x; + const int *const mask = atom->mask; + int *const type = atom->type; const int ntotal = atom->nlocal + atom->nghost; // insure rij, inside, and typej are of size jnum @@ -252,8 +241,7 @@ void ComputeSNAGridLocal::compute_local() const int itype = 1; int ielem = 0; - if (chemflag) - ielem = map[itype]; + if (chemflag) ielem = map[itype]; // rij[][3] = displacements between atom I and those neighbors // inside = indices of neighbors of I within cutoff @@ -269,23 +257,23 @@ void ComputeSNAGridLocal::compute_local() const double delx = xtmp - x[j][0]; const double dely = ytmp - x[j][1]; const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; + const double rsq = delx * delx + dely * dely + delz * delz; int jtype = type[j]; int jelem = 0; - if (chemflag) - jelem = map[jtype]; + if (chemflag) jelem = map[jtype]; if (rsq < cutsq[jtype][jtype] && rsq > 1e-20) { snaptr->rij[ninside][0] = delx; snaptr->rij[ninside][1] = dely; snaptr->rij[ninside][2] = delz; snaptr->inside[ninside] = j; snaptr->wj[ninside] = wjelem[jtype]; - snaptr->rcutij[ninside] = 2.0*radelem[jtype]*rcutfac; + snaptr->rcutij[ninside] = 2.0 * radelem[jtype] * rcutfac; if (switchinnerflag) { snaptr->sinnerij[ninside] = sinnerelem[jelem]; snaptr->dinnerij[ninside] = dinnerelem[jelem]; } - if (chemflag) snaptr->element[ninside] = jelem; // element index for multi-element snap + if (chemflag) + snaptr->element[ninside] = jelem; // element index for multi-element snap ninside++; } } @@ -297,7 +285,7 @@ void ComputeSNAGridLocal::compute_local() // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - alocal[igrid][size_local_cols_base+icoeff] = snaptr->blist[icoeff]; + alocal[igrid][size_local_cols_base + icoeff] = snaptr->blist[icoeff]; // quadratic contributions @@ -305,17 +293,15 @@ void ComputeSNAGridLocal::compute_local() int ncount = ncoeff; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = snaptr->blist[icoeff]; - alocal[igrid][size_local_cols_base+ncount++] = 0.5*bveci*bveci; - for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) - alocal[igrid][size_local_cols_base+ncount++] = - bveci*snaptr->blist[jcoeff]; + alocal[igrid][size_local_cols_base + ncount++] = 0.5 * bveci * bveci; + for (int jcoeff = icoeff + 1; jcoeff < ncoeff; jcoeff++) + alocal[igrid][size_local_cols_base + ncount++] = bveci * snaptr->blist[jcoeff]; } } igrid++; } } - /* ---------------------------------------------------------------------- memory usage ------------------------------------------------------------------------- */ @@ -323,9 +309,8 @@ void ComputeSNAGridLocal::compute_local() double ComputeSNAGridLocal::memory_usage() { double nbytes = snaptr->memory_usage(); // SNA object - int n = atom->ntypes+1; - nbytes += (double)n*sizeof(int); // map + int n = atom->ntypes + 1; + nbytes += (double) n * sizeof(int); // map return nbytes; } - diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h index c7678d049e..760d0de8cc 100644 --- a/src/ML-SNAP/compute_sna_grid_local.h +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -50,7 +50,7 @@ class ComputeSNAGridLocal : public ComputeGridLocal { int quadraticflag; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 60c9987cbc..0a8ba5a697 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -12,25 +12,26 @@ ------------------------------------------------------------------------- */ #include "compute_grid.h" -#include -#include + #include "atom.h" -#include "update.h" -#include "modify.h" +#include "comm.h" #include "domain.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" -#include "comm.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), grid(nullptr), gridall(nullptr), gridlocal(nullptr) + Compute(lmp, narg, arg), grid(nullptr), gridall(nullptr), gridlocal(nullptr) { - if (narg < 6) error->all(FLERR,"Illegal compute grid command"); + if (narg < 6) error->all(FLERR, "Illegal compute grid command"); array_flag = 1; size_array_cols = 0; @@ -39,19 +40,19 @@ ComputeGrid::ComputeGrid(LAMMPS *lmp, int narg, char **arg) : int iarg0 = 3; int iarg = iarg0; - if (strcmp(arg[iarg],"grid") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal compute grid command"); - nx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - ny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - nz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); - if (nx <= 0 || ny <= 0 || nz <= 0) - error->all(FLERR,"All grid dimensions must be positive"); + if (strcmp(arg[iarg], "grid") == 0) { + if (iarg + 4 > narg) error->all(FLERR, "Illegal compute grid command"); + nx = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + ny = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); + nz = utils::inumeric(FLERR, arg[iarg + 3], false, lmp); + if (nx <= 0 || ny <= 0 || nz <= 0) error->all(FLERR, "All grid dimensions must be positive"); iarg += 4; - } else error->all(FLERR,"Illegal compute grid command"); + } else + error->all(FLERR, "Illegal compute grid command"); nargbase = iarg - iarg0; - size_array_rows = nx*ny*nz; + size_array_rows = nx * ny * nz; size_array_cols_base = 3; gridlocal_allocated = 0; } @@ -65,9 +66,7 @@ ComputeGrid::~ComputeGrid() /* ---------------------------------------------------------------------- */ -void ComputeGrid::init() -{ -} +void ComputeGrid::init() {} /* ---------------------------------------------------------------------- */ @@ -85,18 +84,17 @@ void ComputeGrid::setup() void ComputeGrid::grid2x(int igrid, double *x) { - int iz = igrid / (nx*ny); - igrid -= iz * (nx*ny); + int iz = igrid / (nx * ny); + igrid -= iz * (nx * ny); int iy = igrid / nx; igrid -= iy * nx; int ix = igrid; - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; + x[0] = ix * delx; + x[1] = iy * dely; + x[2] = iz * delz; if (triclinic) domain->lamda2x(x, x); - } /* ---------------------------------------------------------------------- @@ -107,7 +105,7 @@ void ComputeGrid::assign_coords_all() { double x[3]; for (int igrid = 0; igrid < size_array_rows; igrid++) { - grid2x(igrid,x); + grid2x(igrid, x); gridall[igrid][0] = x[0]; gridall[igrid][1] = x[1]; gridall[igrid][2] = x[2]; @@ -122,18 +120,17 @@ void ComputeGrid::allocate() { // allocate arrays - printf("In allocate() %d %d \n", size_array_rows,size_array_cols); - memory->create(grid,size_array_rows,size_array_cols,"grid:grid"); - memory->create(gridall,size_array_rows,size_array_cols,"grid:gridall"); + printf("In allocate() %d %d \n", size_array_rows, size_array_cols); + memory->create(grid, size_array_rows, size_array_cols, "grid:grid"); + memory->create(gridall, size_array_rows, size_array_cols, "grid:gridall"); if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { gridlocal_allocated = 1; - memory->create4d_offset(gridlocal,size_array_cols,nzlo,nzhi,nylo,nyhi, - nxlo,nxhi,"grid:gridlocal"); + memory->create4d_offset(gridlocal, size_array_cols, nzlo, nzhi, nylo, nyhi, nxlo, nxhi, + "grid:gridlocal"); } array = gridall; } - /* ---------------------------------------------------------------------- free arrays ------------------------------------------------------------------------- */ @@ -144,19 +141,18 @@ void ComputeGrid::deallocate() memory->destroy(gridall); if (gridlocal_allocated) { gridlocal_allocated = 0; - memory->destroy4d_offset(gridlocal,nzlo,nylo,nxlo); + memory->destroy4d_offset(gridlocal, nzlo, nylo, nxlo); } array = nullptr; } - /* ---------------------------------------------------------------------- set global grid ------------------------------------------------------------------------- */ void ComputeGrid::set_grid_global() { - // calculate grid layout + // calculate grid layout triclinic = domain->triclinic; @@ -176,13 +172,13 @@ void ComputeGrid::set_grid_global() double yprd = prd[1]; double zprd = prd[2]; - delxinv = nx/xprd; - delyinv = ny/yprd; - delzinv = nz/zprd; + delxinv = nx / xprd; + delyinv = ny / yprd; + delzinv = nz / zprd; - delx = 1.0/delxinv; - dely = 1.0/delyinv; - delz = 1.0/delzinv; + delx = 1.0 / delxinv; + dely = 1.0 / delyinv; + delz = 1.0 / delzinv; } /* ---------------------------------------------------------------------- @@ -202,15 +198,15 @@ void ComputeGrid::set_grid_local() // the 2 equality if tests insure a consistent decision // as to which proc owns it - double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; + double xfraclo, xfrachi, yfraclo, yfrachi, zfraclo, zfrachi; if (comm->layout != Comm::LAYOUT_TILED) { xfraclo = comm->xsplit[comm->myloc[0]]; - xfrachi = comm->xsplit[comm->myloc[0]+1]; + xfrachi = comm->xsplit[comm->myloc[0] + 1]; yfraclo = comm->ysplit[comm->myloc[1]]; - yfrachi = comm->ysplit[comm->myloc[1]+1]; + yfrachi = comm->ysplit[comm->myloc[1] + 1]; zfraclo = comm->zsplit[comm->myloc[2]]; - zfrachi = comm->zsplit[comm->myloc[2]+1]; + zfrachi = comm->zsplit[comm->myloc[2] + 1]; } else { xfraclo = comm->mysplit[0][0]; xfrachi = comm->mysplit[0][1]; @@ -220,23 +216,22 @@ void ComputeGrid::set_grid_local() zfrachi = comm->mysplit[2][1]; } - nxlo = static_cast (xfraclo * nx); - if (1.0*nxlo != xfraclo*nx) nxlo++; - nxhi = static_cast (xfrachi * nx); - if (1.0*nxhi == xfrachi*nx) nxhi--; + nxlo = static_cast(xfraclo * nx); + if (1.0 * nxlo != xfraclo * nx) nxlo++; + nxhi = static_cast(xfrachi * nx); + if (1.0 * nxhi == xfrachi * nx) nxhi--; - nylo = static_cast (yfraclo * ny); - if (1.0*nylo != yfraclo*ny) nylo++; - nyhi = static_cast (yfrachi * ny); - if (1.0*nyhi == yfrachi*ny) nyhi--; + nylo = static_cast(yfraclo * ny); + if (1.0 * nylo != yfraclo * ny) nylo++; + nyhi = static_cast(yfrachi * ny); + if (1.0 * nyhi == yfrachi * ny) nyhi--; - nzlo = static_cast (zfraclo * nz); - if (1.0*nzlo != zfraclo*nz) nzlo++; - nzhi = static_cast (zfrachi * nz); - if (1.0*nzhi == zfrachi*nz) nzhi--; + nzlo = static_cast(zfraclo * nz); + if (1.0 * nzlo != zfraclo * nz) nzlo++; + nzhi = static_cast(zfrachi * nz); + if (1.0 * nzhi == zfrachi * nz) nzhi--; ngridlocal = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); - } /* ---------------------------------------------------------------------- @@ -245,10 +240,8 @@ void ComputeGrid::set_grid_local() double ComputeGrid::memory_usage() { - double nbytes = size_array_rows*size_array_cols * - sizeof(double); // grid - nbytes += size_array_rows*size_array_cols * - sizeof(double); // gridall - nbytes += size_array_cols*ngridlocal*sizeof(double); // gridlocal + double nbytes = size_array_rows * size_array_cols * sizeof(double); // grid + nbytes += size_array_rows * size_array_cols * sizeof(double); // gridall + nbytes += size_array_cols * ngridlocal * sizeof(double); // gridlocal return nbytes; } diff --git a/src/compute_grid.h b/src/compute_grid.h index 4264039cc8..96338a035d 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -20,7 +20,6 @@ namespace LAMMPS_NS { class ComputeGrid : public Compute { public: - ComputeGrid(class LAMMPS *, int, char **); ~ComputeGrid() override; void init() override; @@ -30,31 +29,31 @@ class ComputeGrid : public Compute { double memory_usage() override; protected: - int nx, ny, nz; // global grid dimensions - int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive - int ngridlocal; // number of local grid points - int nvalues; // number of values per grid point - double **grid; // global grid - double **gridall; // global grid summed over procs - double ****gridlocal; // local grid - int triclinic; // triclinic flag - double *boxlo, *prd; // box info (units real/ortho or reduced/tri) - double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) - double delxinv,delyinv,delzinv; // inverse grid spacing - double delx,dely,delz; // grid spacing - int nargbase; // number of base class args - double cutmax; // largest cutoff distance - int size_array_cols_base; // number of columns used for coords, etc. - int gridlocal_allocated; // shows if gridlocal allocated + int nx, ny, nz; // global grid dimensions + int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive + int ngridlocal; // number of local grid points + int nvalues; // number of values per grid point + double **grid; // global grid + double **gridall; // global grid summed over procs + double ****gridlocal; // local grid + int triclinic; // triclinic flag + double *boxlo, *prd; // box info (units real/ortho or reduced/tri) + double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) + double delxinv, delyinv, delzinv; // inverse grid spacing + double delx, dely, delz; // grid spacing + int nargbase; // number of base class args + double cutmax; // largest cutoff distance + int size_array_cols_base; // number of columns used for coords, etc. + int gridlocal_allocated; // shows if gridlocal allocated - void allocate(); // create arrays - void deallocate(); // free arrays - void grid2x(int, double*); // convert grid point to coord - void assign_coords_all(); // assign coords for global grid - void set_grid_global(); // set global grid - void set_grid_local(); // set bounds for local grid + void allocate(); // create arrays + void deallocate(); // free arrays + void grid2x(int, double *); // convert grid point to coord + void assign_coords_all(); // assign coords for global grid + void set_grid_global(); // set global grid + void set_grid_local(); // set bounds for local grid }; -} +} // namespace LAMMPS_NS #endif diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index e30d06fe45..5f341680bd 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -12,29 +12,30 @@ ------------------------------------------------------------------------- */ #include "compute_grid_local.h" -#include -#include + #include "atom.h" -#include "update.h" -#include "modify.h" +#include "comm.h" #include "domain.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" -#include "comm.h" +#include "modify.h" +#include "update.h" + +#include // For the subdomain test below; grid-points and subdomain boundaries // sometimes differ by minimal amounts (in the order of 2e-17). -#define EPSILON 1.0e-10 +static constexpr double EPSILON = 1.0e-10; using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGridLocal::ComputeGridLocal(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), alocal(nullptr) + Compute(lmp, narg, arg), alocal(nullptr) { - if (narg < 6) error->all(FLERR,"Illegal compute grid/local command"); + if (narg < 6) error->all(FLERR, "Illegal compute grid/local command"); local_flag = 1; size_local_cols = 0; @@ -43,15 +44,16 @@ ComputeGridLocal::ComputeGridLocal(LAMMPS *lmp, int narg, char **arg) : int iarg0 = 3; int iarg = iarg0; - if (strcmp(arg[iarg],"grid") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal compute grid/local command"); - nx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - ny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - nz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg], "grid") == 0) { + if (iarg + 4 > narg) error->all(FLERR, "Illegal compute grid/local command"); + nx = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + ny = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); + nz = utils::inumeric(FLERR, arg[iarg + 3], false, lmp); if (nx <= 0 || ny <= 0 || nz <= 0) - error->all(FLERR,"All grid/local dimensions must be positive"); + error->all(FLERR, "All grid/local dimensions must be positive"); iarg += 4; - } else error->all(FLERR,"Illegal compute grid/local command"); + } else + error->all(FLERR, "Illegal compute grid/local command"); nargbase = iarg - iarg0; @@ -68,9 +70,7 @@ ComputeGridLocal::~ComputeGridLocal() /* ---------------------------------------------------------------------- */ -void ComputeGridLocal::init() -{ -} +void ComputeGridLocal::init() {} /* ---------------------------------------------------------------------- */ @@ -89,9 +89,9 @@ void ComputeGridLocal::setup() void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) { - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; + x[0] = ix * delx; + x[1] = iy * dely; + x[2] = iz * delz; if (triclinic) domain->lamda2x(x, x); } @@ -103,12 +103,11 @@ void ComputeGridLocal::grid2x(int ix, int iy, int iz, double *x) void ComputeGridLocal::grid2lamda(int ix, int iy, int iz, double *x) { - x[0] = ix*delx; - x[1] = iy*dely; - x[2] = iz*delz; + x[0] = ix * delx; + x[1] = iy * dely; + x[2] = iz * delz; } - /* ---------------------------------------------------------------------- create arrays ------------------------------------------------------------------------- */ @@ -141,7 +140,7 @@ void ComputeGridLocal::deallocate() void ComputeGridLocal::set_grid_global() { - // calculate grid layout + // calculate grid layout triclinic = domain->triclinic; @@ -161,13 +160,13 @@ void ComputeGridLocal::set_grid_global() double yprd = prd[1]; double zprd = prd[2]; - delxinv = nx/xprd; - delyinv = ny/yprd; - delzinv = nz/zprd; + delxinv = nx / xprd; + delyinv = ny / yprd; + delzinv = nz / zprd; - delx = 1.0/delxinv; - dely = 1.0/delyinv; - delz = 1.0/delzinv; + delx = 1.0 / delxinv; + dely = 1.0 / delyinv; + delz = 1.0 / delzinv; } /* ---------------------------------------------------------------------- @@ -187,15 +186,15 @@ void ComputeGridLocal::set_grid_local() // the 2 equality if tests insure a consistent decision // as to which proc owns it - double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; + double xfraclo, xfrachi, yfraclo, yfrachi, zfraclo, zfrachi; if (comm->layout != Comm::LAYOUT_TILED) { xfraclo = comm->xsplit[comm->myloc[0]]; - xfrachi = comm->xsplit[comm->myloc[0]+1]; + xfrachi = comm->xsplit[comm->myloc[0] + 1]; yfraclo = comm->ysplit[comm->myloc[1]]; - yfrachi = comm->ysplit[comm->myloc[1]+1]; + yfrachi = comm->ysplit[comm->myloc[1] + 1]; zfraclo = comm->zsplit[comm->myloc[2]]; - zfrachi = comm->zsplit[comm->myloc[2]+1]; + zfrachi = comm->zsplit[comm->myloc[2] + 1]; } else { xfraclo = comm->mysplit[0][0]; xfrachi = comm->mysplit[0][1]; @@ -205,20 +204,20 @@ void ComputeGridLocal::set_grid_local() zfrachi = comm->mysplit[2][1]; } - nxlo = static_cast (xfraclo * nx); - if (1.0*nxlo != xfraclo*nx) nxlo++; - nxhi = static_cast (xfrachi * nx); - if (1.0*nxhi == xfrachi*nx) nxhi--; + nxlo = static_cast(xfraclo * nx); + if (1.0 * nxlo != xfraclo * nx) nxlo++; + nxhi = static_cast(xfrachi * nx); + if (1.0 * nxhi == xfrachi * nx) nxhi--; - nylo = static_cast (yfraclo * ny); - if (1.0*nylo != yfraclo*ny) nylo++; - nyhi = static_cast (yfrachi * ny); - if (1.0*nyhi == yfrachi*ny) nyhi--; + nylo = static_cast(yfraclo * ny); + if (1.0 * nylo != yfraclo * ny) nylo++; + nyhi = static_cast(yfrachi * ny); + if (1.0 * nyhi == yfrachi * ny) nyhi--; - nzlo = static_cast (zfraclo * nz); - if (1.0*nzlo != zfraclo*nz) nzlo++; - nzhi = static_cast (zfrachi * nz); - if (1.0*nzhi == zfrachi*nz) nzhi--; + nzlo = static_cast(zfraclo * nz); + if (1.0 * nzlo != zfraclo * nz) nzlo++; + nzhi = static_cast(zfrachi * nz); + if (1.0 * nzhi == zfrachi * nz) nzhi--; size_local_rows = (nxhi - nxlo + 1) * (nyhi - nylo + 1) * (nzhi - nzlo + 1); } @@ -248,10 +247,10 @@ void ComputeGridLocal::assign_coords() // ensure gridpoint is not strictly outside subdomain - if ((sublo[0]-xgrid[0]) > EPSILON || (xgrid[0]-subhi[0]) > EPSILON || - (sublo[1]-xgrid[1]) > EPSILON || (xgrid[1]-subhi[1]) > EPSILON || - (sublo[2]-xgrid[2]) > EPSILON || (xgrid[2]-subhi[2]) > EPSILON) - error->one(FLERR,"Invalid gridpoint position in compute grid/local"); + if ((sublo[0] - xgrid[0]) > EPSILON || (xgrid[0] - subhi[0]) > EPSILON || + (sublo[1] - xgrid[1]) > EPSILON || (xgrid[1] - subhi[1]) > EPSILON || + (sublo[2] - xgrid[2]) > EPSILON || (xgrid[2] - subhi[2]) > EPSILON) + error->one(FLERR, "Invalid gridpoint position in compute grid/local"); // convert lamda to x, y, z, after sudomain check @@ -270,6 +269,6 @@ void ComputeGridLocal::assign_coords() double ComputeGridLocal::memory_usage() { - int nbytes = size_local_rows * size_local_cols * sizeof(double); // gridlocal + int nbytes = size_local_rows * size_local_cols * sizeof(double); // gridlocal return nbytes; } diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index 2989628d79..b34dd2d096 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -20,7 +20,6 @@ namespace LAMMPS_NS { class ComputeGridLocal : public Compute { public: - ComputeGridLocal(class LAMMPS *, int, char **); ~ComputeGridLocal() override; void init() override; @@ -30,29 +29,29 @@ class ComputeGridLocal : public Compute { double memory_usage() override; protected: - int nx, ny, nz; // global grid dimensions - int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive - int nvalues; // number of values per grid point - double **alocal; // pointer to Compute::array_local - int triclinic; // triclinic flag - double *boxlo, *prd; // box info (units real/ortho or reduced/tri) - double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) - double delxinv,delyinv,delzinv; // inverse grid spacing - double delx,dely,delz; // grid spacing - int nargbase; // number of base class args - double cutmax; // largest cutoff distance - int size_local_cols_base; // number of columns used for coords, etc. - int gridlocal_allocated; // shows if gridlocal allocated + int nx, ny, nz; // global grid dimensions + int nxlo, nxhi, nylo, nyhi, nzlo, nzhi; // local grid bounds, inclusive + int nvalues; // number of values per grid point + double **alocal; // pointer to Compute::array_local + int triclinic; // triclinic flag + double *boxlo, *prd; // box info (units real/ortho or reduced/tri) + double *sublo, *subhi; // subdomain info (units real/ortho or reduced/tri) + double delxinv, delyinv, delzinv; // inverse grid spacing + double delx, dely, delz; // grid spacing + int nargbase; // number of base class args + double cutmax; // largest cutoff distance + int size_local_cols_base; // number of columns used for coords, etc. + int gridlocal_allocated; // shows if gridlocal allocated - void allocate(); // create arrays - void deallocate(); // free arrays - void grid2x(int, int, int, double*); // convert global indices to coordinates - void grid2lamda(int, int, int, double*); // convert global indices to lamda coordinates - void set_grid_global(); // set global grid - void set_grid_local(); // set bounds for local grid - void assign_coords(); // assign coords for grid + void allocate(); // create arrays + void deallocate(); // free arrays + void grid2x(int, int, int, double *); // convert global indices to coordinates + void grid2lamda(int, int, int, double *); // convert global indices to lamda coordinates + void set_grid_global(); // set global grid + void set_grid_local(); // set bounds for local grid + void assign_coords(); // assign coords for grid }; -} +} // namespace LAMMPS_NS #endif From 06ffed196560ede27b9a730dac29a82b04d93d2f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 17 Jun 2022 12:11:13 -0600 Subject: [PATCH 090/153] update doc pages --- doc/src/Howto_mdi.rst | 45 ++++++++++++++++++---------- doc/src/fix_mdi_qm.rst | 23 +++++++++++--- doc/src/mdi.rst | 68 +++++++++++++++++++++++++++++++----------- 3 files changed, 99 insertions(+), 37 deletions(-) diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index f9147f44d9..578f98e61e 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -5,9 +5,9 @@ Client/server coupling of two (or more) codes is where one code is the "client" and sends request messages (data) to one (or more) "server" code(s). A server responds to each request with a reply message (data). This enables two (or more) codes to work in tandem to perform -a simulation. LAMMPS can act as either a client or server code; it -does this by using the `MolSSI Driver Interface (MDI) library -`_, +a simulation. In this context, LAMMPS can act as either a client or +server code. It does this by using the `MolSSI Driver Interface (MDI) +library `_, developed by the `Molecular Sciences Software Institute (MolSSI) `_, which is supported by the :ref:`MDI ` package. @@ -80,11 +80,22 @@ scripts for all of these use cases. The examples/mdi directory contains Python scripts and LAMMPS input script which use LAMMPS as either an MDI driver or engine or both. -Three example use cases are provided: +Currently, 5 example use cases are provided: -* Run ab initio MD (AIMD) using 2 instances of LAMMPS, one as driver - and one as an engine. As an engine, LAMMPS is a surrogate for a - quantum code. +* Run ab initio MD (AIMD) using 2 instances of LAMMPS. As a driver + LAMMPS performs the timestepping in either NVE or NPT mode. As an + engine, LAMMPS computes forces and is a surrogate for a quantum + code. + +* As a driver, LAMMPS runs an MD simulation. Every N steps it passes + the current snapshot to an MDI engine to evaluate the energy, + virial, and peratom forces. As the engine LAMMPS is a surrogate for + a quantum code. + +* As a driver, LAMMPS loops over a series of data files and passes the + configuration to an MDI engine to evaluate the energy, virial, and + peratom forces. As the engine LAMMPS is a surrogate for a quantum + code. * A Python script driver invokes a sequence of unrelated LAMMPS calculations. Calculations can be single-point energy/force @@ -97,20 +108,22 @@ Three example use cases are provided: Note that in any of these example where LAMMPS is used as an engine, an actual QM code (which supports MDI) could be used in its place, -without modifying other code or scripts, except to specify the name of -the QM code. +without modifying the input scripts or launch commands, except to +specify the name of the QM code. -The examples/mdi/README file explains how to launch both driver and +The examples/mdi/Run.sh file illustrates how to launch both driver and engine codes so that they communicate using the MDI library via either -MPI or sockets. +MPI or sockets. Or using the engine as a stand-alone code or plugin +library. ------------- -Currently there are two quantum DFT codes which have direct MDI -support, `Quantum ESPRESSO (QE) `_ -and `INQ `_. There are also -several QM codes which have indirect support through QCEngine or i-PI. -The former means they require a wrapper program (QCEngine) with MDI +Currently there are at least two quantum DFT codes which have direct +MDI support, `Quantum ESPRESSO (QE) +`_ and `INQ +`_. There are also several QM +codes which have indirect support through QCEngine or i-PI. The +former means they require a wrapper program (QCEngine) with MDI support which writes/read files to pass data to the quantum code itself. The list of QCEngine-supported and i-PI-supported quantum codes is on the `MDI webpage diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index 5c66ac2639..8ecb6ed488 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -13,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * mdi/qm = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *virial* or *add* or *every* +* keyword = *virial* or *add* or *every* or *connect* .. parsed-literal:: @@ -25,6 +25,9 @@ Syntax no = do not add returned values to LAMMPS quantities *every* args = Nevery Nevery = request values from server code once every Nevery steps + *connect* args = *yes* or *no* + yes = perform a one-time connection to the MDI engine code + no = do not perform the connection operation Examples """""""" @@ -66,7 +69,7 @@ information about how LAMMPS can operate as either an MDI driver or engine. The examples/mdi directory contains input scripts using this fix in -the various use cases listed above. In each case, two instances of +the various use cases dicussed below. In each case, two instances of LAMMPS are used, once as an MDI driver, once as an MDI engine (surrogate for a QM code). The examples/mdi/README file explains how to launch two codes so that they communicate via the MDI library using @@ -104,9 +107,21 @@ during a dynamics run with the current LAMMPS simulation box and configuration of atoms. The QM code will be called once every *Nevery* timesteps. +The *connect* keyword determines whether this fix performs a one-time +connection to the QM code. The default is *yes*. The only time a +*no* is needed is if this command is used multiple times in an input +script. E.g. if it used inside a loop which also uses the :doc:`clear +` command to destroy the system (including any defined fixes). +See the examples/mdi/in.series.driver script as an example of this, +where LAMMPS is using the QM code to compute energy and forces for a +series of system configurations. In this use case *connect no* +is used along with the :doc:`mdi connect and exit ` command +to one-time initiate/terminate the connection outside the loop. + ---------- -3 example use cases: +The following 3 example use cases are illustrated in the examples/mdi +directory. See its README file for more details. (1) To run an ab initio MD (AIMD) dynamics simulation, or an energy minimization with QM forces, or a multi-replica NEB calculation, use @@ -243,4 +258,4 @@ Default """"""" The default for the optional keywords are virial = no, add = yes, -every = 1. +every = 1, connect = yes. diff --git a/doc/src/mdi.rst b/doc/src/mdi.rst index 73e245697e..0d647bbd4e 100644 --- a/doc/src/mdi.rst +++ b/doc/src/mdi.rst @@ -8,9 +8,9 @@ Syntax .. parsed-literal:: - mdi mode args + mdi option args -* mode = *engine* or *plugin* +* option = *engine* or *plugin* or *connect* or *exit* .. parsed-literal:: @@ -22,7 +22,8 @@ Syntax *infile* value = filename the engine will read at start-up *extra* value = aditional command-line args to pass to engine library when loaded *command* value = a LAMMPS input script command to execute - + *connect* args = none + *exit* args = none Examples """""""" @@ -33,23 +34,15 @@ Examples mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" & infile in.aimd.engine extra "-log log.aimd.engine.plugin" & command "run 5" + mdi connect + mdi exit Description """"""""""" -This command implements two high-level operations within LAMMPS to use -the `MDI Library -` for -coupling to other codes in a client/server protocol. - -The *engine* mode enables LAMMPS to act as an MDI engine (server), -responding to requests from an MDI driver (client) code. - -The *plugin* mode enables LAMMPS to act as an MDI driver (client), and -load the MDI engine (server) code as a library plugin. In this case -the MDI engine is a library plugin. It can also be a stand-alone -code, launched separately from LAMMPS, in which case the mdi plugin -command is not used. +This command implements operations within LAMMPS to use the `MDI +Library ` +for coupling to other codes in a client/server protocol. See the Howto MDI doc page for a discussion of all the different ways 2 or more codes can interact via MDI. @@ -61,6 +54,22 @@ stand-alone code or as a plugin. The README file in that directory shows how to launch and couple codes for all the 4 usage modes, and so they communicate via the MDI library using either MPI or sockets. +The scripts in that directory illustrate the use of all the options +for this command. + +The *engine* option enables LAMMPS to act as an MDI engine (server), +responding to requests from an MDI driver (client) code. + +The *plugin* option enables LAMMPS to act as an MDI driver (client), +and load the MDI engine (server) code as a library plugin. In this +case the MDI engine is a library plugin. An MDI engine can also be a +stand-alone code, launched separately from LAMMPS, in which case the +mdi plugin command is not used. + +The *connect* and *exit* options are only used when LAMMPS is acting +as an MDI driver. As explained below, these options are normally not +needed, except for a specific kind of use case. + ---------- The *mdi engine* command is used to make LAMMPS operate as an MDI @@ -121,7 +130,7 @@ commands, which are described further below. * - TOLERANCE - Send 4 tolerance parameters for next MD minimization via OPTG command * - >TYPES or ` command. If it is only used once in an input script +then it can initiate and terminate the connection. But if it is being +issuedd multiple times, e.g. in a loop that issues a :doc:`clear +` command, then it cannot initiate/terminate the connection +multiple times. Instead, the *mdi connect* and *mdi exit* commands +should be used outside the loop to intiate/terminate the connection. + +See the examples/mdi/in.series.driver script for an example of how +this is done. The LOOP in that script is reading a series of data +file configurations and passing them to an MDI engine (e.g. quantum +code) for enery and force evaluation. A *clear* command inside the +loop wipes out the current system so a new one can be defined. This +operation also destroys all fixes. So the :doc:`fix mdi/qm +` command is issued once per loop iteration. Note that it +includes a "connect no" option which disables the initiate/terminate +logic within that fix. + Restrictions """""""""""" From 86f0a62ee0454694f8fe8ed9cc2e68ce27138327 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 17 Jun 2022 17:16:02 -0600 Subject: [PATCH 091/153] Cleaned up programming style --- doc/src/compute_sna_atom.rst | 46 ++++++++++++++++++++---------------- src/compute_grid.cpp | 5 ---- src/compute_grid.h | 1 - src/compute_grid_local.cpp | 4 ---- src/compute_grid_local.h | 1 - 5 files changed, 26 insertions(+), 31 deletions(-) diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 5f777685fd..242defe614 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -15,6 +15,12 @@ compute snav/atom command compute snap command ==================== +compute sna/grid command +======================== + +compute sna/grid/local command +============================== + Syntax """""" @@ -222,13 +228,13 @@ bispectrum components for a regular grid of points. These are calculated from the local density of nearby atoms *i'* around each grid point, as if there was a central atom *i* at the grid point. This is useful for characterizing fine-scale -structure in a configuration of atoms, and it has been used -to build a machine-learning surrogate for finite-temperature Kohn-Sham -density functional theory (:ref:`Ellis et al. `). +structure in a configuration of atoms, and it is used +in the `MALA package `_ +to build machine-learning surrogates for finite-temperature Kohn-Sham +density functional theory (:ref:`Ellis et al. `) Neighbor atoms not in the group do not contribute to the bispectrum components of the grid points. The distance cutoff :math:`R_{ii'}` -and other parameters are defined as for a central atom with the same type as the -neighbor atoms *i'*. +assumes that *i* has the same type as the neighbor atom *i'*. Compute *sna/grid* calculates a global array containing bispectrum components for a regular grid of points. @@ -688,6 +694,21 @@ number of columns in the global array generated by *snap* are 31, and 931, respectively, while the number of rows is 1+3\*\ *N*\ +6, where *N* is the total number of atoms. +Compute *sna/grid* evaluates a global array. +The array contains one row for each of the +:math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest, +then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*, +and *z* coordinates of the grid point, followed by the bispectrum +components. + +Compute *sna/grid/local* evaluates a local array. +The array contains one row for each of the +local grid points, looping over the global index *ix* fastest, +then *iy*, and *iz* slowest. Each row of the array contains +the global indexes *ix*, *iy*, and *iz* first, followed by the *x*, *y*, +and *z* coordinates of the grid point, followed by the bispectrum +components. + If the *quadratic* keyword value is set to 1, then additional columns are generated, corresponding to the products of all distinct pairs of bispectrum components. If the number of bispectrum components is *K*, @@ -715,21 +736,6 @@ page for an overview of LAMMPS output options. To see how this command can be used within a Python workflow to train SNAP potentials, see the examples in `FitSNAP `_. -Compute *sna/grid* evaluates a global array. -The array contains one row for each of the -:math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest, -then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*, -and *z* coordinates of the grid point, followed by the bispectrum -components. - -Compute *sna/grid/local* evaluates a local array. -The array contains one row for each of the -local grid points, looping over the global index *ix* fastest, -then *iy*, and *iz* slowest. Each row of the array contains -the global indexes *ix*, *iy*, and *iz* first, followed by the *x*, *y*, -and *z* coordinates of the grid point, followed by the bispectrum -components. - Restrictions """""""""""" diff --git a/src/compute_grid.cpp b/src/compute_grid.cpp index 0a8ba5a697..7a5ffe1e24 100644 --- a/src/compute_grid.cpp +++ b/src/compute_grid.cpp @@ -66,10 +66,6 @@ ComputeGrid::~ComputeGrid() /* ---------------------------------------------------------------------- */ -void ComputeGrid::init() {} - -/* ---------------------------------------------------------------------- */ - void ComputeGrid::setup() { deallocate(); @@ -120,7 +116,6 @@ void ComputeGrid::allocate() { // allocate arrays - printf("In allocate() %d %d \n", size_array_rows, size_array_cols); memory->create(grid, size_array_rows, size_array_cols, "grid:grid"); memory->create(gridall, size_array_rows, size_array_cols, "grid:gridall"); if (nxlo <= nxhi && nylo <= nyhi && nzlo <= nzhi) { diff --git a/src/compute_grid.h b/src/compute_grid.h index 96338a035d..84b3bc4e98 100644 --- a/src/compute_grid.h +++ b/src/compute_grid.h @@ -22,7 +22,6 @@ class ComputeGrid : public Compute { public: ComputeGrid(class LAMMPS *, int, char **); ~ComputeGrid() override; - void init() override; void setup() override; void compute_array() override = 0; diff --git a/src/compute_grid_local.cpp b/src/compute_grid_local.cpp index 5f341680bd..48714962ac 100644 --- a/src/compute_grid_local.cpp +++ b/src/compute_grid_local.cpp @@ -70,10 +70,6 @@ ComputeGridLocal::~ComputeGridLocal() /* ---------------------------------------------------------------------- */ -void ComputeGridLocal::init() {} - -/* ---------------------------------------------------------------------- */ - void ComputeGridLocal::setup() { deallocate(); diff --git a/src/compute_grid_local.h b/src/compute_grid_local.h index b34dd2d096..5bc6f2082a 100644 --- a/src/compute_grid_local.h +++ b/src/compute_grid_local.h @@ -22,7 +22,6 @@ class ComputeGridLocal : public Compute { public: ComputeGridLocal(class LAMMPS *, int, char **); ~ComputeGridLocal() override; - void init() override; void setup() override; void compute_local() override = 0; From 44436c0eb662fb4e396c8496354bbe59b04e3f31 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 17 Jun 2022 17:24:34 -0600 Subject: [PATCH 092/153] Cleaned up programming style --- src/ML-SNAP/compute_sna_atom.cpp | 151 ++++++++--------- src/ML-SNAP/compute_sna_atom.h | 1 + src/ML-SNAP/compute_sna_grid.cpp | 92 +++++----- src/ML-SNAP/compute_sna_grid.h | 2 - src/ML-SNAP/compute_sna_grid_local.cpp | 114 ++++++------- src/ML-SNAP/compute_sna_grid_local.h | 2 - src/ML-SNAP/compute_snad_atom.cpp | 157 ++++++++--------- src/ML-SNAP/compute_snad_atom.h | 2 +- src/ML-SNAP/compute_snap.cpp | 177 ++++++++++--------- src/ML-SNAP/compute_snap.h | 2 +- src/ML-SNAP/compute_snav_atom.cpp | 224 +++++++++++++------------ src/ML-SNAP/compute_snav_atom.h | 3 +- 12 files changed, 460 insertions(+), 467 deletions(-) diff --git a/src/ML-SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp index 5f24ebeaa6..69f233b1c3 100644 --- a/src/ML-SNAP/compute_sna_atom.cpp +++ b/src/ML-SNAP/compute_sna_atom.cpp @@ -30,25 +30,28 @@ using namespace LAMMPS_NS; +#define SNAPCOMPUTENAME "sna/atom" + ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), sna(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) { - double rmin0, rfac0; + // code common to all SNAP computes + + double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; int ntypes = atom->ntypes; - int nargmin = 6+2*ntypes; + int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR,"Illegal compute sna/atom command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); // default values rmin0 = 0.0; switchflag = 1; bzeroflag = 1; - bnormflag = 0; quadraticflag = 0; chemflag = 0; bnormflag = 0; @@ -56,32 +59,34 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : switchinnerflag = 0; nelements = 1; - // offset by 1 to match up with types + // process required arguments - memory->create(radelem,ntypes+1,"sna/atom:radelem"); - memory->create(wjelem,ntypes+1,"sna/atom:wjelem"); + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); - rcutfac = atof(arg[3]); - rfac0 = atof(arg[4]); - twojmax = atoi(arg[5]); + rcutfac = utils::numeric(FLERR, arg[3], false, lmp); + rfac0 = utils::numeric(FLERR, arg[4], false, lmp); + twojmax = utils::inumeric(FLERR, arg[5], false, lmp); for (int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[6+i]); + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[6+ntypes+i]); + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"sna/atom:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; + cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; - cutsq[i][i] = cut*cut; - for (int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; + cutsq[i][i] = cut * cut; + for (int j = i + 1; j <= ntypes; j++) { + cut = (radelem[i] + radelem[j]) * rcutfac; + cutsq[i][j] = cutsq[j][i] = cut * cut; } } @@ -95,89 +100,85 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - rmin0 = atof(arg[iarg+1]); + if (strcmp(arg[iarg], "rmin0") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - switchflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - bzeroflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "bzeroflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - quadraticflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "quadraticflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2+ntypes > narg) - error->all(FLERR,"Illegal compute sna/atom command"); + } else if (strcmp(arg[iarg], "chem") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_sna_atom:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + memory->create(map, ntypes + 1, "compute_sna_grid:map"); + nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal compute sna/atom command"); - map[i+1] = jelem; + int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + map[i + 1] = jelem; } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - bnormflag = atoi(arg[iarg+1]); + iarg += 2 + ntypes; + } else if (strcmp(arg[iarg], "bnormflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - wselfallflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "wselfallflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - switchinnerflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { + } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - memory->create(sinnerelem,ntypes+1,"sna/atom:sinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); sinnerflag = 1; iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { + } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute sna/atom command"); - memory->create(dinnerelem,ntypes+1,"sna/atom:dinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; - } else error->all(FLERR,"Illegal compute sna/atom command"); + } else + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR,"Illegal compute sna/atom command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR,"Illegal compute sna/atom command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, + wselfallflag, nelements, switchinnerflag); ncoeff = snaptr->ncoeff; - size_peratom_cols = ncoeff; - if (quadraticflag) size_peratom_cols += (ncoeff*(ncoeff+1))/2; + nvalues = ncoeff; + if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; + + // end code common to all SNAP computes + + size_peratom_cols = nvalues; peratom_flag = 1; nmax = 0; diff --git a/src/ML-SNAP/compute_sna_atom.h b/src/ML-SNAP/compute_sna_atom.h index 7d1ebfa2f8..059062670f 100644 --- a/src/ML-SNAP/compute_sna_atom.h +++ b/src/ML-SNAP/compute_sna_atom.h @@ -50,6 +50,7 @@ class ComputeSNAAtom : public Compute { class SNA *snaptr; double cutmax; int quadraticflag; + int nvalues; }; } // namespace LAMMPS_NS diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index e182b16d64..4c8e4f82ef 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -15,17 +15,11 @@ #include "atom.h" #include "comm.h" -#include "domain.h" #include "error.h" #include "force.h" #include "memory.h" #include "modify.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "neighbor.h" -#include "pair.h" #include "sna.h" -#include "tokenizer.h" #include "update.h" #include @@ -33,12 +27,11 @@ using namespace LAMMPS_NS; +#define SNAPCOMPUTENAME "sna/grid" + ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { - double rfac0, rmin0; - int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; - // skip over arguments used by base class // so that argument positions are identical to // regular per-atom compute @@ -46,10 +39,15 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : arg += nargbase; narg -= nargbase; + // code common to all SNAP computes + + double rfac0, rmin0; + int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; + int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute sna/grid command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); // default values @@ -65,15 +63,19 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "sna/grid:radelem"); // offset by 1 to match up with types + memory->create(radelem, ntypes + 1, "sna/grid:radelem"); // offset by 1 to match up with types memory->create(wjelem, ntypes + 1, "sna/grid:wjelem"); - rcutfac = atof(arg[3]); - rfac0 = atof(arg[4]); - twojmax = atoi(arg[5]); + rcutfac = utils::numeric(FLERR, arg[3], false, lmp); + rfac0 = utils::numeric(FLERR, arg[4], false, lmp); + twojmax = utils::inumeric(FLERR, arg[5], false, lmp); - for (int i = 0; i < ntypes; i++) radelem[i + 1] = atof(arg[6 + i]); - for (int i = 0; i < ntypes; i++) wjelem[i + 1] = atof(arg[6 + ntypes + i]); + for (int i = 0; i < ntypes; i++) + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); + for (int i = 0; i < ntypes; i++) + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -101,47 +103,47 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - rmin0 = atof(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - switchflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - bzeroflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - quadraticflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute sna/grid command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - bnormflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - wselfallflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid command"); - switchinnerflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -149,25 +151,25 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute sna/grid command"); + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute sna/grid command: switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute sna/grid command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); @@ -175,6 +177,9 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : ncoeff = snaptr->ncoeff; nvalues = ncoeff; if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; + + // end code common to all SNAP computes + size_array_cols = size_array_cols_base + nvalues; array_flag = 1; } @@ -195,22 +200,13 @@ ComputeSNAGrid::~ComputeSNAGrid() void ComputeSNAGrid::init() { - int count = 0; - for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style, "sna/grid") == 0) count++; - if (count > 1 && comm->me == 0) error->warning(FLERR, "More than one compute sna/grid"); + if ((modify->get_compute_by_style("sna/grid").size() > 1) && (comm->me == 0)) + error->warning(FLERR, "More than one instance of compute sna/grid"); snaptr->init(); } /* ---------------------------------------------------------------------- */ -void ComputeSNAGrid::init_list(int /*id*/, NeighList *ptr) -{ - list = ptr; -} - -/* ---------------------------------------------------------------------- */ - void ComputeSNAGrid::compute_array() { invoked_array = update->ntimestep; diff --git a/src/ML-SNAP/compute_sna_grid.h b/src/ML-SNAP/compute_sna_grid.h index 7eef027ef7..839003dc2e 100644 --- a/src/ML-SNAP/compute_sna_grid.h +++ b/src/ML-SNAP/compute_sna_grid.h @@ -29,14 +29,12 @@ class ComputeSNAGrid : public ComputeGrid { ComputeSNAGrid(class LAMMPS *, int, char **); ~ComputeSNAGrid() override; void init() override; - void init_list(int, class NeighList *) override; void compute_array() override; double memory_usage() override; private: int ncoeff; double **cutsq; - class NeighList *list; double rcutfac; double *radelem; double *wjelem; diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 7359acacbf..d9d66787f4 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -15,17 +15,11 @@ #include "atom.h" #include "comm.h" -#include "domain.h" #include "error.h" #include "force.h" #include "memory.h" #include "modify.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "neighbor.h" -#include "pair.h" #include "sna.h" -#include "tokenizer.h" #include "update.h" #include @@ -33,12 +27,11 @@ using namespace LAMMPS_NS; +#define SNAPCOMPUTENAME "sna/grid/local" + ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : ComputeGridLocal(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { - double rfac0, rmin0; - int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; - // skip over arguments used by base class // so that argument positions are identical to // regular per-atom compute @@ -46,10 +39,15 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : arg += nargbase; narg -= nargbase; + // code common to all SNAP computes + + double rfac0, rmin0; + int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; + int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute sna/grid/local command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); // default values @@ -63,23 +61,21 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : switchinnerflag = 0; nelements = 1; - // set local input checks - - int sinnerflag = 0; - int dinnerflag = 0; - // process required arguments - memory->create(radelem, ntypes + 1, - "sna/grid/local:radelem"); // offset by 1 to match up with types + memory->create(radelem, ntypes + 1, "sna/grid/local:radelem"); // offset by 1 to match up with types memory->create(wjelem, ntypes + 1, "sna/grid/local:wjelem"); - rcutfac = atof(arg[3]); - rfac0 = atof(arg[4]); - twojmax = atoi(arg[5]); + rcutfac = utils::numeric(FLERR, arg[3], false, lmp); + rfac0 = utils::numeric(FLERR, arg[4], false, lmp); + twojmax = utils::inumeric(FLERR, arg[5], false, lmp); - for (int i = 0; i < ntypes; i++) radelem[i + 1] = atof(arg[6 + i]); - for (int i = 0; i < ntypes; i++) wjelem[i + 1] = atof(arg[6 + ntypes + i]); + for (int i = 0; i < ntypes; i++) + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); + for (int i = 0; i < ntypes; i++) + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -96,54 +92,58 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : } } + // set local input checks + + int sinnerflag = 0; + int dinnerflag = 0; + // process optional args int iarg = nargmin; while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - rmin0 = atof(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - switchflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - bzeroflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - quadraticflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); chemflag = 1; - memory->create(map, ntypes + 1, "compute_sna_grid_local:map"); + memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR, "Illegal compute sna/grid/local command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - bnormflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - wselfallflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); - switchinnerflag = atoi(arg[iarg + 1]); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -151,25 +151,25 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute sna/grid/local command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute sna/grid/local command"); + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR, - "Illegal compute sna/grid/local command: switchinnerflag = 1, missing sinner/dinner " - "keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR, - "Illegal compute sna/grid/local command: switchinnerflag = 0, unexpected " - "sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); @@ -177,6 +177,9 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : ncoeff = snaptr->ncoeff; nvalues = ncoeff; if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; + + // end code common to all SNAP computes + size_local_cols = size_local_cols_base + nvalues; } @@ -196,22 +199,13 @@ ComputeSNAGridLocal::~ComputeSNAGridLocal() void ComputeSNAGridLocal::init() { - int count = 0; - for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style, "sna/grid/local") == 0) count++; - if (count > 1 && comm->me == 0) error->warning(FLERR, "More than one compute sna/grid/local"); + if ((modify->get_compute_by_style("sna/grid/local").size() > 1) && (comm->me == 0)) + error->warning(FLERR, "More than one instance of compute sna/grid/local"); snaptr->init(); } /* ---------------------------------------------------------------------- */ -void ComputeSNAGridLocal::init_list(int /*id*/, NeighList *ptr) -{ - list = ptr; -} - -/* ---------------------------------------------------------------------- */ - void ComputeSNAGridLocal::compute_local() { invoked_array = update->ntimestep; diff --git a/src/ML-SNAP/compute_sna_grid_local.h b/src/ML-SNAP/compute_sna_grid_local.h index 760d0de8cc..60f93b92b0 100644 --- a/src/ML-SNAP/compute_sna_grid_local.h +++ b/src/ML-SNAP/compute_sna_grid_local.h @@ -29,14 +29,12 @@ class ComputeSNAGridLocal : public ComputeGridLocal { ComputeSNAGridLocal(class LAMMPS *, int, char **); ~ComputeSNAGridLocal() override; void init() override; - void init_list(int, class NeighList *) override; void compute_local() override; double memory_usage() override; private: int ncoeff; double **cutsq; - class NeighList *list; double rcutfac; double *radelem; double *wjelem; diff --git a/src/ML-SNAP/compute_snad_atom.cpp b/src/ML-SNAP/compute_snad_atom.cpp index 838d8a85c9..c9a88da535 100644 --- a/src/ML-SNAP/compute_snad_atom.cpp +++ b/src/ML-SNAP/compute_snad_atom.cpp @@ -30,24 +30,27 @@ using namespace LAMMPS_NS; +#define SNAPCOMPUTENAME "snad/atom" + ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snad(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) { + // code common to all SNAP computes + double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; int ntypes = atom->ntypes; - int nargmin = 6+2*ntypes; + int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR,"Illegal compute snad/atom command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); // default values rmin0 = 0.0; switchflag = 1; bzeroflag = 1; - bnormflag = 0; quadraticflag = 0; chemflag = 0; bnormflag = 0; @@ -57,28 +60,32 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem,ntypes+1,"snad/atom:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"snad/atom:wjelem"); - rcutfac = atof(arg[3]); - rfac0 = atof(arg[4]); - twojmax = atoi(arg[5]); + memory->create(radelem, ntypes + 1, "snad/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "snad/atom:wjelem"); + + rcutfac = utils::numeric(FLERR, arg[3], false, lmp); + rfac0 = utils::numeric(FLERR, arg[4], false, lmp); + twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[6+i]); + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[6+ntypes+i]); + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"snad/atom:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "snad/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; + cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; - cutsq[i][i] = cut*cut; - for (int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; + cutsq[i][i] = cut * cut; + for (int j = i + 1; j <= ntypes; j++) { + cut = (radelem[i] + radelem[j]) * rcutfac; + cutsq[i][j] = cutsq[j][i] = cut * cut; } } @@ -92,93 +99,87 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - rmin0 = atof(arg[iarg+1]); + if (strcmp(arg[iarg], "rmin0") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - bzeroflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - switchflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "bzeroflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - quadraticflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "quadraticflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2+ntypes > narg) - error->all(FLERR,"Illegal compute snad/atom command"); + } else if (strcmp(arg[iarg], "chem") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_snad_atom:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + memory->create(map, ntypes + 1, "compute_sna_grid:map"); + nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal compute snad/atom command"); - map[i+1] = jelem; + int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + map[i + 1] = jelem; } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - bnormflag = atoi(arg[iarg+1]); + iarg += 2 + ntypes; + } else if (strcmp(arg[iarg], "bnormflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - wselfallflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "wselfallflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - switchinnerflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { + } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - memory->create(sinnerelem,ntypes+1,"snad/atom:sinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); sinnerflag = 1; iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { + } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snad/atom command"); - memory->create(dinnerelem,ntypes+1,"snad/atom:dinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; - } else error->all(FLERR,"Illegal compute snad/atom command"); + } else + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR,"Illegal compute snad/atom command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR,"Illegal compute snad/atom command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); - - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, + wselfallflag, nelements, switchinnerflag); ncoeff = snaptr->ncoeff; - nperdim = ncoeff; - if (quadraticflag) nperdim += (ncoeff*(ncoeff+1))/2; - yoffset = nperdim; - zoffset = 2*nperdim; - size_peratom_cols = 3*nperdim*atom->ntypes; + nvalues = ncoeff; + if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; + + // end code common to all SNAP computes + + yoffset = nvalues; + zoffset = 2*nvalues; + size_peratom_cols = 3*nvalues*atom->ntypes; comm_reverse = size_peratom_cols; peratom_flag = 1; @@ -289,7 +290,7 @@ void ComputeSNADAtom::compute_peratom() // const int typeoffset = threencoeff*(atom->type[i]-1); // const int quadraticoffset = threencoeff*atom->ntypes + // threencoeffq*(atom->type[i]-1); - const int typeoffset = 3*nperdim*(atom->type[i]-1); + const int typeoffset = 3*nvalues*(atom->type[i]-1); // insure rij, inside, and typej are of size jnum diff --git a/src/ML-SNAP/compute_snad_atom.h b/src/ML-SNAP/compute_snad_atom.h index 0cdb075daf..ac27e10769 100644 --- a/src/ML-SNAP/compute_snad_atom.h +++ b/src/ML-SNAP/compute_snad_atom.h @@ -37,7 +37,7 @@ class ComputeSNADAtom : public Compute { private: int nmax; - int ncoeff, nperdim, yoffset, zoffset; + int ncoeff, nvalues, yoffset, zoffset; double **cutsq; class NeighList *list; double **snad; diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index 83f56e338c..64daaa4c1e 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -32,6 +32,8 @@ using namespace LAMMPS_NS; enum{SCALAR,VECTOR,ARRAY}; +#define SNAPCOMPUTENAME "snap" + ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snap(nullptr), snapall(nullptr), snap_peratom(nullptr), radelem(nullptr), wjelem(nullptr), @@ -41,13 +43,15 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : array_flag = 1; extarray = 0; + // code common to all SNAP computes + double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; int ntypes = atom->ntypes; - int nargmin = 6+2*ntypes; + int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR,"Illegal compute snap command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); // default values @@ -55,7 +59,6 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : switchflag = 1; bzeroflag = 1; quadraticflag = 0; - bikflag = 0; chemflag = 0; bnormflag = 0; wselfallflag = 0; @@ -64,28 +67,32 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem,ntypes+1,"snap:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"snap:wjelem"); - rcutfac = atof(arg[3]); - rfac0 = atof(arg[4]); - twojmax = atoi(arg[5]); + memory->create(radelem, ntypes + 1, "snap:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "snap:wjelem"); + + rcutfac = utils::numeric(FLERR, arg[3], false, lmp); + rfac0 = utils::numeric(FLERR, arg[4], false, lmp); + twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[6+i]); + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[6+ntypes+i]); + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq,ntypes+1,ntypes+1,"snap:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "snap:cutsq"); for (int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; + cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; - cutsq[i][i] = cut*cut; - for (int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; + cutsq[i][i] = cut * cut; + for (int j = i + 1; j <= ntypes; j++) { + cut = (radelem[i] + radelem[j]) * rcutfac; + cutsq[i][j] = cutsq[j][i] = cut * cut; } } @@ -99,107 +106,97 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - rmin0 = atof(arg[iarg+1]); + if (strcmp(arg[iarg], "rmin0") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - bzeroflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - switchflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "bzeroflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - quadraticflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "quadraticflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); + } else if (strcmp(arg[iarg], "chem") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_snap:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + memory->create(map, ntypes + 1, "compute_sna_grid:map"); + nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal compute snap command"); - map[i+1] = jelem; + int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + map[i + 1] = jelem; } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - bnormflag = atoi(arg[iarg+1]); + iarg += 2 + ntypes; + } else if (strcmp(arg[iarg], "bnormflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - wselfallflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "wselfallflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bikflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - bikflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snap command"); - switchinnerflag = atoi(arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { + } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); - memory->create(sinnerelem,ntypes+1,"snap:sinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); sinnerflag = 1; iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { + } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snap command"); - memory->create(dinnerelem,ntypes+1,"snap:dinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; - } else error->all(FLERR,"Illegal compute snap command"); + } else + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR,"Illegal compute snap command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR,"Illegal compute snap command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, + wselfallflag, nelements, switchinnerflag); ncoeff = snaptr->ncoeff; - nperdim = ncoeff; - if (quadraticflag) nperdim += (ncoeff*(ncoeff+1))/2; + nvalues = ncoeff; + if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; + + // end code common to all SNAP computes + ndims_force = 3; ndims_virial = 6; - yoffset = nperdim; - zoffset = 2*nperdim; + yoffset = nvalues; + zoffset = 2*nvalues; natoms = atom->natoms; bik_rows = 1; if (bikflag) bik_rows = natoms; size_array_rows = bik_rows+ndims_force*natoms+ndims_virial; - size_array_cols = nperdim*atom->ntypes+1; + size_array_cols = nvalues*atom->ntypes+1; lastcol = size_array_cols-1; ndims_peratom = ndims_force; - size_peratom = ndims_peratom*nperdim*atom->ntypes; + size_peratom = ndims_peratom*nvalues*atom->ntypes; nmax = 0; } @@ -341,8 +338,8 @@ void ComputeSnap::compute_array() const double radi = radelem[itype]; const int* const jlist = firstneigh[i]; const int jnum = numneigh[i]; - const int typeoffset_local = ndims_peratom*nperdim*(itype-1); - const int typeoffset_global = nperdim*(itype-1); + const int typeoffset_local = ndims_peratom*nvalues*(itype-1); + const int typeoffset_global = nvalues*(itype-1); // insure rij, inside, and typej are of size jnum @@ -481,9 +478,9 @@ void ComputeSnap::compute_array() // accumulate bispectrum force contributions to global array for (int itype = 0; itype < atom->ntypes; itype++) { - const int typeoffset_local = ndims_peratom*nperdim*itype; - const int typeoffset_global = nperdim*itype; - for (int icoeff = 0; icoeff < nperdim; icoeff++) { + const int typeoffset_local = ndims_peratom*nvalues*itype; + const int typeoffset_global = nvalues*itype; + for (int icoeff = 0; icoeff < nvalues; icoeff++) { for (int i = 0; i < ntotal; i++) { double *snadi = snap_peratom[i]+typeoffset_local; int iglobal = atom->tag[i]; @@ -549,10 +546,10 @@ void ComputeSnap::dbdotr_compute() int nall = atom->nlocal + atom->nghost; for (int i = 0; i < nall; i++) for (int itype = 0; itype < atom->ntypes; itype++) { - const int typeoffset_local = ndims_peratom*nperdim*itype; - const int typeoffset_global = nperdim*itype; + const int typeoffset_local = ndims_peratom*nvalues*itype; + const int typeoffset_global = nvalues*itype; double *snadi = snap_peratom[i]+typeoffset_local; - for (int icoeff = 0; icoeff < nperdim; icoeff++) { + for (int icoeff = 0; icoeff < nvalues; icoeff++) { double dbdx = snadi[icoeff]; double dbdy = snadi[icoeff+yoffset]; double dbdz = snadi[icoeff+zoffset]; diff --git a/src/ML-SNAP/compute_snap.h b/src/ML-SNAP/compute_snap.h index bc0670e2c7..9f4162d6c4 100644 --- a/src/ML-SNAP/compute_snap.h +++ b/src/ML-SNAP/compute_snap.h @@ -35,7 +35,7 @@ class ComputeSnap : public Compute { private: int natoms, nmax, size_peratom, lastcol; - int ncoeff, nperdim, yoffset, zoffset; + int ncoeff, nvalues, yoffset, zoffset; int ndims_peratom, ndims_force, ndims_virial; double **cutsq; class NeighList *list; diff --git a/src/ML-SNAP/compute_snav_atom.cpp b/src/ML-SNAP/compute_snav_atom.cpp index 0baa4bc110..b2fa24b231 100644 --- a/src/ML-SNAP/compute_snav_atom.cpp +++ b/src/ML-SNAP/compute_snav_atom.cpp @@ -21,6 +21,7 @@ #include "neighbor.h" #include "neigh_list.h" #include "force.h" +#include "pair.h" #include "comm.h" #include "memory.h" #include "error.h" @@ -29,24 +30,27 @@ using namespace LAMMPS_NS; +#define SNAPCOMPUTENAME "snav/atom" + ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snav(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) { + // code common to all SNAP computes + double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; int ntypes = atom->ntypes; - int nargmin = 6+2*ntypes; + int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR,"Illegal compute snav/atom command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); // default values rmin0 = 0.0; switchflag = 1; bzeroflag = 1; - bnormflag = 0; quadraticflag = 0; chemflag = 0; bnormflag = 0; @@ -56,24 +60,32 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem,ntypes+1,"snav/atom:radelem"); // offset by 1 to match up with types - memory->create(wjelem,ntypes+1,"snav/atom:wjelem"); - rcutfac = atof(arg[3]); - rfac0 = atof(arg[4]); - twojmax = atoi(arg[5]); + memory->create(radelem, ntypes + 1, "snav/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "snav/atom:wjelem"); + + rcutfac = utils::numeric(FLERR, arg[3], false, lmp); + rfac0 = utils::numeric(FLERR, arg[4], false, lmp); + twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) - radelem[i+1] = atof(arg[6+i]); + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i+1] = atof(arg[6+ntypes+i]); + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + // construct cutsq + double cut; - memory->create(cutsq,ntypes+1,ntypes+1,"snav/atom:cutsq"); + cutmax = 0.0; + memory->create(cutsq, ntypes + 1, ntypes + 1, "snav/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { - cut = 2.0*radelem[i]*rcutfac; - cutsq[i][i] = cut*cut; - for (int j = i+1; j <= ntypes; j++) { - cut = (radelem[i]+radelem[j])*rcutfac; - cutsq[i][j] = cutsq[j][i] = cut*cut; + cut = 2.0 * radelem[i] * rcutfac; + if (cut > cutmax) cutmax = cut; + cutsq[i][i] = cut * cut; + for (int j = i + 1; j <= ntypes; j++) { + cut = (radelem[i] + radelem[j]) * rcutfac; + cutsq[i][j] = cutsq[j][i] = cut * cut; } } @@ -87,90 +99,85 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : int iarg = nargmin; while (iarg < narg) { - if (strcmp(arg[iarg],"rmin0") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - rmin0 = atof(arg[iarg+1]); + if (strcmp(arg[iarg], "rmin0") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - switchflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bzeroflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - bzeroflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "bzeroflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"quadraticflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - quadraticflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "quadraticflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"chem") == 0) { - if (iarg+2+ntypes > narg) - error->all(FLERR,"Illegal compute snav/atom command"); + } else if (strcmp(arg[iarg], "chem") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); chemflag = 1; - memory->create(map,ntypes+1,"compute_sna_atom:map"); - nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + memory->create(map, ntypes + 1, "compute_sna_grid:map"); + nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { - int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR,"Illegal compute snav/atom command"); - map[i+1] = jelem; + int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + map[i + 1] = jelem; } - iarg += 2+ntypes; - } else if (strcmp(arg[iarg],"bnormflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - bnormflag = atoi(arg[iarg+1]); + iarg += 2 + ntypes; + } else if (strcmp(arg[iarg], "bnormflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"wselfallflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - wselfallflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "wselfallflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"switchinnerflag") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - switchinnerflag = atoi(arg[iarg+1]); + } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"sinner") == 0) { + } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - memory->create(sinnerelem,ntypes+1,"snav/atom:sinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) - sinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); sinnerflag = 1; iarg += ntypes; - } else if (strcmp(arg[iarg],"dinner") == 0) { + } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg+ntypes > narg) - error->all(FLERR,"Illegal compute snav/atom command"); - memory->create(dinnerelem,ntypes+1,"snav/atom:dinnerelem"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) - dinnerelem[i+1] = utils::numeric(FLERR,arg[iarg+i],false,lmp); + dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; - } else error->all(FLERR,"Illegal compute snav/atom command"); + } else + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR,"Illegal compute snav/atom command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR,"Illegal compute snav/atom command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all( + FLERR, + "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); - snaptr = new SNA(lmp, rfac0, twojmax, - rmin0, switchflag, bzeroflag, - chemflag, bnormflag, wselfallflag, - nelements, switchinnerflag); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, + wselfallflag, nelements, switchinnerflag); ncoeff = snaptr->ncoeff; - nperdim = ncoeff; - if (quadraticflag) nperdim += (ncoeff*(ncoeff+1))/2; - size_peratom_cols = 6*nperdim*atom->ntypes; + nvalues = ncoeff; + if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; + + // end code common to all SNAP computes + + size_peratom_cols = 6*nvalues*atom->ntypes; comm_reverse = size_peratom_cols; peratom_flag = 1; @@ -203,10 +210,9 @@ void ComputeSNAVAtom::init() { if (force->pair == nullptr) error->all(FLERR,"Compute snav/atom requires a pair style be defined"); - // TODO: Not sure what to do with this error check since cutoff radius is not - // a single number - //if (sqrt(cutsq) > force->pair->cutforce) - // error->all(FLERR,"Compute snav/atom cutoff is longer than pairwise cutoff"); + + if (cutmax > force->pair->cutforce) + error->all(FLERR,"Compute snav/atom cutoff is longer than pairwise cutoff"); // need an occasional full neighbor list @@ -280,7 +286,7 @@ void ComputeSNAVAtom::compute_peratom() const int* const jlist = firstneigh[i]; const int jnum = numneigh[i]; - const int typeoffset = 6*nperdim*(atom->type[i]-1); + const int typeoffset = 6*nvalues*(atom->type[i]-1); // insure rij, inside, and typej are of size jnum @@ -339,17 +345,17 @@ void ComputeSNAVAtom::compute_peratom() for (int icoeff = 0; icoeff < ncoeff; icoeff++) { snavi[icoeff] += snaptr->dblist[icoeff][0]*xtmp; - snavi[icoeff+nperdim] += snaptr->dblist[icoeff][1]*ytmp; - snavi[icoeff+2*nperdim] += snaptr->dblist[icoeff][2]*ztmp; - snavi[icoeff+3*nperdim] += snaptr->dblist[icoeff][1]*ztmp; - snavi[icoeff+4*nperdim] += snaptr->dblist[icoeff][0]*ztmp; - snavi[icoeff+5*nperdim] += snaptr->dblist[icoeff][0]*ytmp; + snavi[icoeff+nvalues] += snaptr->dblist[icoeff][1]*ytmp; + snavi[icoeff+2*nvalues] += snaptr->dblist[icoeff][2]*ztmp; + snavi[icoeff+3*nvalues] += snaptr->dblist[icoeff][1]*ztmp; + snavi[icoeff+4*nvalues] += snaptr->dblist[icoeff][0]*ztmp; + snavi[icoeff+5*nvalues] += snaptr->dblist[icoeff][0]*ytmp; snavj[icoeff] -= snaptr->dblist[icoeff][0]*x[j][0]; - snavj[icoeff+nperdim] -= snaptr->dblist[icoeff][1]*x[j][1]; - snavj[icoeff+2*nperdim] -= snaptr->dblist[icoeff][2]*x[j][2]; - snavj[icoeff+3*nperdim] -= snaptr->dblist[icoeff][1]*x[j][2]; - snavj[icoeff+4*nperdim] -= snaptr->dblist[icoeff][0]*x[j][2]; - snavj[icoeff+5*nperdim] -= snaptr->dblist[icoeff][0]*x[j][1]; + snavj[icoeff+nvalues] -= snaptr->dblist[icoeff][1]*x[j][1]; + snavj[icoeff+2*nvalues] -= snaptr->dblist[icoeff][2]*x[j][2]; + snavj[icoeff+3*nvalues] -= snaptr->dblist[icoeff][1]*x[j][2]; + snavj[icoeff+4*nvalues] -= snaptr->dblist[icoeff][0]*x[j][2]; + snavj[icoeff+5*nvalues] -= snaptr->dblist[icoeff][0]*x[j][1]; } if (quadraticflag) { @@ -369,17 +375,17 @@ void ComputeSNAVAtom::compute_peratom() double dbytmp = bi*biy; double dbztmp = bi*biz; snavi[ncount] += dbxtmp*xtmp; - snavi[ncount+nperdim] += dbytmp*ytmp; - snavi[ncount+2*nperdim] += dbztmp*ztmp; - snavi[ncount+3*nperdim] += dbytmp*ztmp; - snavi[ncount+4*nperdim] += dbxtmp*ztmp; - snavi[ncount+5*nperdim] += dbxtmp*ytmp; + snavi[ncount+nvalues] += dbytmp*ytmp; + snavi[ncount+2*nvalues] += dbztmp*ztmp; + snavi[ncount+3*nvalues] += dbytmp*ztmp; + snavi[ncount+4*nvalues] += dbxtmp*ztmp; + snavi[ncount+5*nvalues] += dbxtmp*ytmp; snavj[ncount] -= dbxtmp*x[j][0]; - snavj[ncount+nperdim] -= dbytmp*x[j][1]; - snavj[ncount+2*nperdim] -= dbztmp*x[j][2]; - snavj[ncount+3*nperdim] -= dbytmp*x[j][2]; - snavj[ncount+4*nperdim] -= dbxtmp*x[j][2]; - snavj[ncount+5*nperdim] -= dbxtmp*x[j][1]; + snavj[ncount+nvalues] -= dbytmp*x[j][1]; + snavj[ncount+2*nvalues] -= dbztmp*x[j][2]; + snavj[ncount+3*nvalues] -= dbytmp*x[j][2]; + snavj[ncount+4*nvalues] -= dbxtmp*x[j][2]; + snavj[ncount+5*nvalues] -= dbxtmp*x[j][1]; ncount++; // upper-triangular elements of quadratic matrix @@ -392,17 +398,17 @@ void ComputeSNAVAtom::compute_peratom() double dbztmp = bi*snaptr->dblist[jcoeff][2] + biz*snaptr->blist[jcoeff]; snavi[ncount] += dbxtmp*xtmp; - snavi[ncount+nperdim] += dbytmp*ytmp; - snavi[ncount+2*nperdim] += dbztmp*ztmp; - snavi[ncount+3*nperdim] += dbytmp*ztmp; - snavi[ncount+4*nperdim] += dbxtmp*ztmp; - snavi[ncount+5*nperdim] += dbxtmp*ytmp; + snavi[ncount+nvalues] += dbytmp*ytmp; + snavi[ncount+2*nvalues] += dbztmp*ztmp; + snavi[ncount+3*nvalues] += dbytmp*ztmp; + snavi[ncount+4*nvalues] += dbxtmp*ztmp; + snavi[ncount+5*nvalues] += dbxtmp*ytmp; snavj[ncount] -= dbxtmp*x[j][0]; - snavj[ncount+nperdim] -= dbytmp*x[j][1]; - snavj[ncount+2*nperdim] -= dbztmp*x[j][2]; - snavj[ncount+3*nperdim] -= dbytmp*x[j][2]; - snavj[ncount+4*nperdim] -= dbxtmp*x[j][2]; - snavj[ncount+5*nperdim] -= dbxtmp*x[j][1]; + snavj[ncount+nvalues] -= dbytmp*x[j][1]; + snavj[ncount+2*nvalues] -= dbztmp*x[j][2]; + snavj[ncount+3*nvalues] -= dbytmp*x[j][2]; + snavj[ncount+4*nvalues] -= dbxtmp*x[j][2]; + snavj[ncount+5*nvalues] -= dbxtmp*x[j][1]; ncount++; } } diff --git a/src/ML-SNAP/compute_snav_atom.h b/src/ML-SNAP/compute_snav_atom.h index 1eb84d8df7..2eac0b7b28 100644 --- a/src/ML-SNAP/compute_snav_atom.h +++ b/src/ML-SNAP/compute_snav_atom.h @@ -37,7 +37,7 @@ class ComputeSNAVAtom : public Compute { private: int nmax; - int ncoeff, nperdim; + int ncoeff, nvalues; double **cutsq; class NeighList *list; double **snav; @@ -50,6 +50,7 @@ class ComputeSNAVAtom : public Compute { double *sinnerelem; double *dinnerelem; class SNA *snaptr; + double cutmax; int quadraticflag; }; From 3ff998fdb0bff166355eeb2b61694b1a4ecc359d Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Fri, 17 Jun 2022 17:31:58 -0600 Subject: [PATCH 093/153] Restricted style string matching --- src/ML-SNAP/compute_sna_grid.cpp | 2 +- src/ML-SNAP/compute_sna_grid_local.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 4c8e4f82ef..2a9b9bf672 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -200,7 +200,7 @@ ComputeSNAGrid::~ComputeSNAGrid() void ComputeSNAGrid::init() { - if ((modify->get_compute_by_style("sna/grid").size() > 1) && (comm->me == 0)) + if ((modify->get_compute_by_style("^sna/grid$").size() > 1) && (comm->me == 0)) error->warning(FLERR, "More than one instance of compute sna/grid"); snaptr->init(); } diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index d9d66787f4..aa18d4c84d 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -199,7 +199,7 @@ ComputeSNAGridLocal::~ComputeSNAGridLocal() void ComputeSNAGridLocal::init() { - if ((modify->get_compute_by_style("sna/grid/local").size() > 1) && (comm->me == 0)) + if ((modify->get_compute_by_style("^sna/grid/local$").size() > 1) && (comm->me == 0)) error->warning(FLERR, "More than one instance of compute sna/grid/local"); snaptr->init(); } From cbc7669a4f43a4e7180444afbd00311c554de857 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 19:37:26 -0400 Subject: [PATCH 094/153] apply clang-format --- src/ML-SNAP/compute_sna_grid.cpp | 22 +++++++++------------- src/ML-SNAP/compute_sna_grid_local.cpp | 23 ++++++++++------------- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 2a9b9bf672..90df726687 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -63,19 +63,16 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "sna/grid:radelem"); // offset by 1 to match up with types + memory->create(radelem, ntypes + 1, "sna/grid:radelem"); // offset by 1 to match up with types memory->create(wjelem, ntypes + 1, "sna/grid:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - radelem[i + 1] = - utils::numeric(FLERR, arg[6 + i], false, lmp); - for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = - utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -125,7 +122,8 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); map[i + 1] = jelem; } iarg += 2 + ntypes; @@ -162,14 +160,12 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all( - FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, + " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all( - FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, + " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index aa18d4c84d..3da5ef4e8a 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -63,19 +63,17 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "sna/grid/local:radelem"); // offset by 1 to match up with types + memory->create(radelem, ntypes + 1, + "sna/grid/local:radelem"); // offset by 1 to match up with types memory->create(wjelem, ntypes + 1, "sna/grid/local:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - radelem[i + 1] = - utils::numeric(FLERR, arg[6 + i], false, lmp); - for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = - utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -125,7 +123,8 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); map[i + 1] = jelem; } iarg += 2 + ntypes; @@ -162,14 +161,12 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all( - FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, + " command: switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all( - FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, + " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); From 34e7fa92ab1f0d0b85845d34e22e24515ec7e9af Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 19:44:13 -0400 Subject: [PATCH 095/153] simplify using fmt --- src/ML-SNAP/compute_sna_atom.cpp | 32 ++++++++++----------- src/ML-SNAP/compute_sna_grid.cpp | 39 +++++++++++++------------- src/ML-SNAP/compute_sna_grid_local.cpp | 39 +++++++++++++------------- src/ML-SNAP/compute_snad_atom.cpp | 32 ++++++++++----------- src/ML-SNAP/compute_snap.cpp | 32 ++++++++++----------- src/ML-SNAP/compute_snav_atom.cpp | 32 ++++++++++----------- 6 files changed, 98 insertions(+), 108 deletions(-) diff --git a/src/ML-SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp index 69f233b1c3..daec59e3f0 100644 --- a/src/ML-SNAP/compute_sna_atom.cpp +++ b/src/ML-SNAP/compute_sna_atom.cpp @@ -30,8 +30,6 @@ using namespace LAMMPS_NS; -#define SNAPCOMPUTENAME "sna/atom" - ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), sna(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) @@ -45,7 +43,7 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style); // default values @@ -101,47 +99,47 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute {} command", style); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -149,25 +147,25 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + error->all(FLERR, "Illegal compute {} command", style); } if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 90df726687..f8da915051 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -27,8 +27,6 @@ using namespace LAMMPS_NS; -#define SNAPCOMPUTENAME "sna/grid" - ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : ComputeGrid(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { @@ -47,7 +45,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style); // default values @@ -100,48 +98,47 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute {} command", style); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -149,23 +146,25 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + error->all(FLERR, "Illegal compute {} command", style); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, - " command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, - " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 3da5ef4e8a..079ecac319 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -27,8 +27,6 @@ using namespace LAMMPS_NS; -#define SNAPCOMPUTENAME "sna/grid/local" - ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : ComputeGridLocal(lmp, narg, arg), cutsq(nullptr), radelem(nullptr), wjelem(nullptr) { @@ -47,7 +45,7 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style); // default values @@ -101,48 +99,47 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute {} command", style); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -150,23 +147,25 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + error->all(FLERR, "Illegal compute {} command", style); } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, - " command: switchinnerflag = 1, missing sinner/dinner keyword"); + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, - " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snad_atom.cpp b/src/ML-SNAP/compute_snad_atom.cpp index c9a88da535..623eb16268 100644 --- a/src/ML-SNAP/compute_snad_atom.cpp +++ b/src/ML-SNAP/compute_snad_atom.cpp @@ -30,8 +30,6 @@ using namespace LAMMPS_NS; -#define SNAPCOMPUTENAME "snad/atom" - ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snad(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) @@ -44,7 +42,7 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style); // default values @@ -100,47 +98,47 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute {} command", style); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -148,25 +146,25 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + error->all(FLERR, "Illegal compute {} command", style); } if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index 64daaa4c1e..2aa503021c 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -32,8 +32,6 @@ using namespace LAMMPS_NS; enum{SCALAR,VECTOR,ARRAY}; -#define SNAPCOMPUTENAME "snap" - ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snap(nullptr), snapall(nullptr), snap_peratom(nullptr), radelem(nullptr), wjelem(nullptr), @@ -51,7 +49,7 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style); // default values @@ -107,47 +105,47 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute {} command", style); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -155,25 +153,25 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + error->all(FLERR, "Illegal compute {} command", style); } if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snav_atom.cpp b/src/ML-SNAP/compute_snav_atom.cpp index b2fa24b231..74d52e231a 100644 --- a/src/ML-SNAP/compute_snav_atom.cpp +++ b/src/ML-SNAP/compute_snav_atom.cpp @@ -30,8 +30,6 @@ using namespace LAMMPS_NS; -#define SNAPCOMPUTENAME "snav/atom" - ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snav(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) @@ -44,7 +42,7 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : int ntypes = atom->ntypes; int nargmin = 6 + 2 * ntypes; - if (narg < nargmin) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style); // default values @@ -100,47 +98,47 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg], "rmin0") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); rmin0 = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "bzeroflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bzeroflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "quadraticflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); quadraticflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "chem") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); chemflag = 1; memory->create(map, ntypes + 1, "compute_sna_grid:map"); nelements = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); for (int i = 0; i < ntypes; i++) { int jelem = utils::inumeric(FLERR, arg[iarg + 2 + i], false, lmp); - if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (jelem < 0 || jelem >= nelements) error->all(FLERR, "Illegal compute {} command", style); map[i + 1] = jelem; } iarg += 2 + ntypes; } else if (strcmp(arg[iarg], "bnormflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); bnormflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "wselfallflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "sinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(sinnerelem, ntypes + 1, "snap:sinnerelem"); for (int i = 0; i < ntypes; i++) sinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); @@ -148,25 +146,25 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : iarg += ntypes; } else if (strcmp(arg[iarg], "dinner") == 0) { iarg++; - if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + if (iarg + ntypes > narg) error->all(FLERR, "Illegal compute {} command", style); memory->create(dinnerelem, ntypes + 1, "snap:dinnerelem"); for (int i = 0; i < ntypes; i++) dinnerelem[i + 1] = utils::numeric(FLERR, arg[iarg + i], false, lmp); dinnerflag = 1; iarg += ntypes; } else - error->all(FLERR, "Illegal compute ", SNAPCOMPUTENAME, " command"); + error->all(FLERR, "Illegal compute {} command", style); } if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute ", SNAPCOMPUTENAME, " command: switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); From b3fea1cb71d1f3e47dceacf07e0d252bd9670fdd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 19:48:09 -0400 Subject: [PATCH 096/153] make spellchecker happy --- doc/src/compute_sna_atom.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 242defe614..f6946b421d 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -252,7 +252,7 @@ layout in the global array. Compute *sna/grid/local* calculates bispectrum components of a regular grid of points similarly to compute *sna/grid* described above. However, because the array is local, it contains only rows for grid points -that are local to the processor subdomain. The global grid +that are local to the processor sub-domain. The global grid of :math:`nx \times ny \times nz` points is still laid out in space the same as for *sna/grid*, but grid points are strictly partitioned, so that every grid point appears in one and only one local array. The array contains one row for each of the From eb69bb28b8c266d4c41848b8dfb0945130f81e1d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Jun 2022 21:52:57 -0400 Subject: [PATCH 097/153] add missing style index entries --- doc/src/compute_sna_atom.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index f6946b421d..354a9a8fa6 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -2,6 +2,8 @@ .. index:: compute snad/atom .. index:: compute snav/atom .. index:: compute snap +.. index:: compute sna/grid +.. index:: compute sna/grid/local compute sna/atom command ======================== From de4558aa07fef7301dd6352761b03fc89fb501f4 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Sun, 19 Jun 2022 09:58:01 -0600 Subject: [PATCH 098/153] Tweaked error messages --- src/ML-SNAP/compute_sna_atom.cpp | 9 +++++--- src/ML-SNAP/compute_sna_grid.cpp | 30 +++++++++++++++---------- src/ML-SNAP/compute_sna_grid_local.cpp | 31 +++++++++++++++----------- src/ML-SNAP/compute_snad_atom.cpp | 18 +++++++++------ src/ML-SNAP/compute_snap.cpp | 15 ++++++++----- src/ML-SNAP/compute_snav_atom.cpp | 20 ++++++++++------- 6 files changed, 74 insertions(+), 49 deletions(-) diff --git a/src/ML-SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp index daec59e3f0..9dce3d6e6d 100644 --- a/src/ML-SNAP/compute_sna_atom.cpp +++ b/src/ML-SNAP/compute_sna_atom.cpp @@ -35,7 +35,7 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) { - // code common to all SNAP computes + // begin code common to all SNAP computes double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -160,12 +160,15 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", + style); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index f8da915051..dc92ee2b15 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -37,7 +37,7 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : arg += nargbase; narg -= nargbase; - // code common to all SNAP computes + // begin code common to all SNAP computes double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -61,22 +61,25 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "sna/grid:radelem"); // offset by 1 to match up with types - memory->create(wjelem, ntypes + 1, "sna/grid:wjelem"); + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); twojmax = utils::inumeric(FLERR, arg[5], false, lmp); - for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); + for (int i = 0; i < ntypes; i++) + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/grid:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; @@ -157,14 +160,17 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR, - "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", - style); + error->all( + FLERR, + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR, - "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", - style); + error->all( + FLERR, + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", + style); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 079ecac319..8b0121b9ce 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -37,7 +37,7 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : arg += nargbase; narg -= nargbase; - // code common to all SNAP computes + // begin code common to all SNAP computes double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -61,23 +61,25 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, - "sna/grid/local:radelem"); // offset by 1 to match up with types - memory->create(wjelem, ntypes + 1, "sna/grid/local:wjelem"); + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); twojmax = utils::inumeric(FLERR, arg[5], false, lmp); - for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + radelem[i + 1] = + utils::numeric(FLERR, arg[6 + i], false, lmp); + for (int i = 0; i < ntypes; i++) + wjelem[i + 1] = + utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/grid/local:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; @@ -158,14 +160,17 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all(FLERR, - "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", - style); + error->all( + FLERR, + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all(FLERR, - "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", - style); + error->all( + FLERR, + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", + style); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snad_atom.cpp b/src/ML-SNAP/compute_snad_atom.cpp index 623eb16268..1cd2278b00 100644 --- a/src/ML-SNAP/compute_snad_atom.cpp +++ b/src/ML-SNAP/compute_snad_atom.cpp @@ -34,7 +34,8 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snad(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) { - // code common to all SNAP computes + + // begin code common to all SNAP computes double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -58,8 +59,8 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "snad/atom:radelem"); // offset by 1 to match up with types - memory->create(wjelem, ntypes + 1, "snad/atom:wjelem"); + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); @@ -76,7 +77,7 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : double cut; cutmax = 0.0; - memory->create(cutsq, ntypes + 1, ntypes + 1, "snad/atom:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; @@ -159,12 +160,15 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", + style); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); @@ -174,7 +178,7 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; // end code common to all SNAP computes - + yoffset = nvalues; zoffset = 2*nvalues; size_peratom_cols = 3*nvalues*atom->ntypes; diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index 2aa503021c..fb10fa0fbe 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -41,7 +41,7 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : array_flag = 1; extarray = 0; - // code common to all SNAP computes + // begin code common to all SNAP computes double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -65,8 +65,8 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "snap:radelem"); // offset by 1 to match up with types - memory->create(wjelem, ntypes + 1, "snap:wjelem"); + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); @@ -83,7 +83,7 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : double cut; cutmax = 0.0; - memory->create(cutsq, ntypes + 1, ntypes + 1, "snap:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; @@ -166,12 +166,15 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", + style); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snav_atom.cpp b/src/ML-SNAP/compute_snav_atom.cpp index 74d52e231a..4b7b0caa64 100644 --- a/src/ML-SNAP/compute_snav_atom.cpp +++ b/src/ML-SNAP/compute_snav_atom.cpp @@ -34,7 +34,8 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snav(nullptr), radelem(nullptr), wjelem(nullptr), sinnerelem(nullptr), dinnerelem(nullptr) { - // code common to all SNAP computes + + // begin code common to all SNAP computes double rfac0, rmin0; int twojmax, switchflag, bzeroflag, bnormflag, wselfallflag; @@ -58,8 +59,8 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "snav/atom:radelem"); // offset by 1 to match up with types - memory->create(wjelem, ntypes + 1, "snav/atom:wjelem"); + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); @@ -76,7 +77,7 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : double cut; cutmax = 0.0; - memory->create(cutsq, ntypes + 1, ntypes + 1, "snav/atom:cutsq"); + memory->create(cutsq, ntypes + 1, ntypes + 1, "sna/atom:cutsq"); for (int i = 1; i <= ntypes; i++) { cut = 2.0 * radelem[i] * rcutfac; if (cut > cutmax) cutmax = cut; @@ -159,12 +160,15 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword"); + "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", + style); + snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); @@ -174,8 +178,8 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; // end code common to all SNAP computes - - size_peratom_cols = 6*nvalues*atom->ntypes; + + size_peratom_cols = 6*nvalues*atom->ntypes; comm_reverse = size_peratom_cols; peratom_flag = 1; From f632cff8f245d18d0696b17f02342a0e1c609681 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 19 Jun 2022 16:11:37 -0400 Subject: [PATCH 099/153] remove excess text and re-apply clang-format --- src/ML-SNAP/compute_sna_atom.cpp | 9 ++++----- src/ML-SNAP/compute_sna_grid.cpp | 24 +++++++++--------------- src/ML-SNAP/compute_sna_grid_local.cpp | 24 +++++++++--------------- src/ML-SNAP/compute_snad_atom.cpp | 9 ++++----- src/ML-SNAP/compute_snap.cpp | 9 ++++----- src/ML-SNAP/compute_snav_atom.cpp | 9 ++++----- 6 files changed, 34 insertions(+), 50 deletions(-) diff --git a/src/ML-SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp index 9dce3d6e6d..1d2190d50d 100644 --- a/src/ML-SNAP/compute_sna_atom.cpp +++ b/src/ML-SNAP/compute_sna_atom.cpp @@ -160,15 +160,14 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", - style); + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", - style); - + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index dc92ee2b15..ac267112b1 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -61,19 +61,16 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - radelem[i + 1] = - utils::numeric(FLERR, arg[6 + i], false, lmp); - for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = - utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -160,17 +157,14 @@ ComputeSNAGrid::ComputeSNAGrid(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all( - FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", - style); + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all( - FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", - style); - + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 8b0121b9ce..059f177696 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -61,19 +61,16 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : // process required arguments - memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types + memory->create(radelem, ntypes + 1, "sna/atom:radelem"); // offset by 1 to match up with types memory->create(wjelem, ntypes + 1, "sna/atom:wjelem"); rcutfac = utils::numeric(FLERR, arg[3], false, lmp); rfac0 = utils::numeric(FLERR, arg[4], false, lmp); twojmax = utils::inumeric(FLERR, arg[5], false, lmp); + for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - radelem[i + 1] = - utils::numeric(FLERR, arg[6 + i], false, lmp); - for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = - utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -160,17 +157,14 @@ ComputeSNAGridLocal::ComputeSNAGridLocal(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all( - FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", - style); + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all( - FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", - style); - + error->all(FLERR, + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snad_atom.cpp b/src/ML-SNAP/compute_snad_atom.cpp index 1cd2278b00..9d080508f5 100644 --- a/src/ML-SNAP/compute_snad_atom.cpp +++ b/src/ML-SNAP/compute_snad_atom.cpp @@ -160,15 +160,14 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", - style); + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", - style); - + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index fb10fa0fbe..d1f75f8382 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -166,15 +166,14 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", - style); + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", - style); - + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); diff --git a/src/ML-SNAP/compute_snav_atom.cpp b/src/ML-SNAP/compute_snav_atom.cpp index 4b7b0caa64..27c304b424 100644 --- a/src/ML-SNAP/compute_snav_atom.cpp +++ b/src/ML-SNAP/compute_snav_atom.cpp @@ -160,15 +160,14 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : if (switchinnerflag && !(sinnerflag && dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 1, missing sinner/dinner keyword", - style); + "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", + style); if (!switchinnerflag && (sinnerflag || dinnerflag)) error->all( FLERR, - "Illegal compute {} command:, style switchinnerflag = 0, unexpected sinner/dinner keyword", - style); - + "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", + style); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); From 4881b232d30a0a53d8a63ca43d75ec6f336225ba Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 19 Jun 2022 16:28:55 -0400 Subject: [PATCH 100/153] whitespace --- src/ML-SNAP/compute_snad_atom.cpp | 2 +- src/ML-SNAP/compute_snav_atom.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ML-SNAP/compute_snad_atom.cpp b/src/ML-SNAP/compute_snad_atom.cpp index 9d080508f5..12839629a9 100644 --- a/src/ML-SNAP/compute_snad_atom.cpp +++ b/src/ML-SNAP/compute_snad_atom.cpp @@ -177,7 +177,7 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; // end code common to all SNAP computes - + yoffset = nvalues; zoffset = 2*nvalues; size_peratom_cols = 3*nvalues*atom->ntypes; diff --git a/src/ML-SNAP/compute_snav_atom.cpp b/src/ML-SNAP/compute_snav_atom.cpp index 27c304b424..949dda8e5c 100644 --- a/src/ML-SNAP/compute_snav_atom.cpp +++ b/src/ML-SNAP/compute_snav_atom.cpp @@ -177,7 +177,7 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : if (quadraticflag) nvalues += (ncoeff * (ncoeff + 1)) / 2; // end code common to all SNAP computes - + size_peratom_cols = 6*nvalues*atom->ntypes; comm_reverse = size_peratom_cols; peratom_flag = 1; From f4342ea7e40feaa7196ab8bbd01d54a3b7fd7dcc Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 21 Jun 2022 15:03:22 -0600 Subject: [PATCH 101/153] use new version of MDI lib and include Python support --- lib/mdi/Install.py | 2 +- lib/mdi/Makefile.gcc | 2 +- lib/mdi/Makefile.icc | 2 +- lib/mdi/Makefile.mpi | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/mdi/Install.py b/lib/mdi/Install.py index a439da34d2..48d4952f9b 100644 --- a/lib/mdi/Install.py +++ b/lib/mdi/Install.py @@ -34,7 +34,7 @@ make lib-meam args="-m ifort" # build MEAM lib with custom Makefile.ifort (usi # settings -version = "1.3.2" +version = "1.4.1" url = "https://github.com/MolSSI-MDI/MDI_Library/archive/v%s.tar.gz" % version # known checksums for different MDI versions. used to validate the download. diff --git a/lib/mdi/Makefile.gcc b/lib/mdi/Makefile.gcc index ef8a96f5ad..a67209202b 100644 --- a/lib/mdi/Makefile.gcc +++ b/lib/mdi/Makefile.gcc @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -Dlanguage=C -D CMAKE_C_COMPILER=gcc ../MDI_Library; make + cd build; cmake -Dlibtype=SHARED -D CMAKE_C_COMPILER=gcc ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.icc b/lib/mdi/Makefile.icc index d70ff28f97..eac6ba087f 100644 --- a/lib/mdi/Makefile.icc +++ b/lib/mdi/Makefile.icc @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -Dlanguage=C -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icc ../MDI_Library; make + cd build; cmake -Dlibtype=SHARED -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icc ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.mpi b/lib/mdi/Makefile.mpi index cff60f5e0b..0a40520c95 100644 --- a/lib/mdi/Makefile.mpi +++ b/lib/mdi/Makefile.mpi @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -Dlanguage=CXX -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx ../MDI_Library; make + cd build; cmake -Dlibtype=SHARED -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ From cf942e7d5f7af16b308a9e652cda8ccc78e2d19e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Jun 2022 15:54:04 -0400 Subject: [PATCH 102/153] may check for MPI library Fortran support only if MPI is enabled --- unittest/fortran/CMakeLists.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/unittest/fortran/CMakeLists.txt b/unittest/fortran/CMakeLists.txt index 94672a58d8..047dcf3207 100644 --- a/unittest/fortran/CMakeLists.txt +++ b/unittest/fortran/CMakeLists.txt @@ -10,11 +10,6 @@ if(NOT CMAKE_Fortran_COMPILER_ID) message(STATUS "Skipping Tests for the LAMMPS Fortran Module: cannot identify Fortran compiler") return() endif() -find_package(MPI QUIET) -if(BUILD_MPI AND NOT MPI_Fortran) - message(STATUS "Skipping Tests for the LAMMPS Fortran Module: no MPI support for Fortran") - return() -endif() if(CMAKE_Fortran_COMPILER) enable_language(C) @@ -22,6 +17,10 @@ if(CMAKE_Fortran_COMPILER) get_filename_component(LAMMPS_FORTRAN_MODULE ${LAMMPS_SOURCE_DIR}/../fortran/lammps.f90 ABSOLUTE) if(BUILD_MPI) find_package(MPI REQUIRED) + if((NOT MPI_Fortran) OR (NOT MPI_Fortran_HAVE_F77_HEADER) OR (NOT MPI_Fortran_HAVE_F90_MODULE)) + message(STATUS "Skipping Tests for the LAMMPS Fortran Module: no MPI support for Fortran") + return() + endif() else() add_library(fmpi_stubs STATIC mpi_stubs.f90) add_library(MPI::MPI_Fortran ALIAS fmpi_stubs) From db079cd62077645424af307790625161daafca90 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Jun 2022 22:27:04 -0400 Subject: [PATCH 103/153] must set thirdparty download URL variable for downloading MPICH4Win --- cmake/Modules/LAMMPSInterfacePlugin.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/Modules/LAMMPSInterfacePlugin.cmake b/cmake/Modules/LAMMPSInterfacePlugin.cmake index ec7a739785..0cdf0bb564 100644 --- a/cmake/Modules/LAMMPSInterfacePlugin.cmake +++ b/cmake/Modules/LAMMPSInterfacePlugin.cmake @@ -6,6 +6,9 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) "Please remove CMakeCache.txt and CMakeFiles first.") endif() +set(LAMMPS_THIRDPARTY_URL "https://download.lammps.org/thirdparty" + CACHE STRING "URL for thirdparty package downloads") + # global LAMMPS/plugin build settings set(LAMMPS_SOURCE_DIR "" CACHE PATH "Location of LAMMPS sources folder") if(NOT LAMMPS_SOURCE_DIR) From 6273e593a35d96585b2c7b68d4b15150ca8097d3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Jun 2022 23:09:13 -0400 Subject: [PATCH 104/153] add "package" target to support building a windows installer with NSIS --- cmake/Modules/LAMMPSInterfacePlugin.cmake | 7 +++++++ examples/PACKAGES/pace/plugin/CMakeLists.txt | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/cmake/Modules/LAMMPSInterfacePlugin.cmake b/cmake/Modules/LAMMPSInterfacePlugin.cmake index 0cdf0bb564..d80d7609b7 100644 --- a/cmake/Modules/LAMMPSInterfacePlugin.cmake +++ b/cmake/Modules/LAMMPSInterfacePlugin.cmake @@ -81,6 +81,13 @@ function(get_newest_file path variable) set(${variable} ${_bestfile} PARENT_SCOPE) endfunction() +# get LAMMPS version date +function(get_lammps_version version_header variable) + file(STRINGS ${version_header} line REGEX LAMMPS_VERSION) + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1\\2\\3" date "${line}") + set(${variable} "${date}" PARENT_SCOPE) +endfunction() + ################################################################################# # LAMMPS C++ interface. We only need the header related parts except on windows. add_library(lammps INTERFACE) diff --git a/examples/PACKAGES/pace/plugin/CMakeLists.txt b/examples/PACKAGES/pace/plugin/CMakeLists.txt index f4068a03c9..6ad9c791ba 100644 --- a/examples/PACKAGES/pace/plugin/CMakeLists.txt +++ b/examples/PACKAGES/pace/plugin/CMakeLists.txt @@ -31,6 +31,23 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") if(CMAKE_CROSSCOMPILING) set_target_properties(paceplugin PROPERTIES LINK_FLAGS "-Wl,--export-all-symbols") endif() + + get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION) + find_program(MAKENSIS_PATH makensis) + if(MAKENSIS_PATH) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/lammps.ico + ${CMAKE_SOURCE_DIR}/lammps-text-logo-wide.bmp ${CMAKE_SOURCE_DIR}/paceplugin.nsis ${CMAKE_BINARY_DIR}) + if(BUILD_MPI) + add_custom_target(package ${MAKENSIS_PATH} -V1 -DVERSION=${LAMMPS_VERSION}-MPI paceplugin.nsis + DEPENDS paceplugin + BYPRODUCTS LAMMPS-ML-PACE-plugin-${LAMMPS_VERSION}-MPI.exe) + else() + add_custom_target(package ${MAKENSIS_PATH} -V1 -DVERSION=${LAMMPS_VERSION} paceplugin.nsis + COMMAND ${CMAKE_COMMAND} -E echo ${PWD} + DEPENDS paceplugin lammps.ico lammps-text-logo-wide.bmp paceplugin.nsis + BYPRODUCTS LAMMPS-ML-PACE-plugin-${LAMMPS_VERSION}.exe) + endif() + endif() else() set_target_properties(paceplugin PROPERTIES LINK_FLAGS "-rdynamic") endif() From ad3387143aaf1ee18c111d7fb1f9889f1c4f153f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Jun 2022 06:18:22 -0400 Subject: [PATCH 105/153] add crosscompiling with MPI support to plugins package --- cmake/Modules/LAMMPSInterfacePlugin.cmake | 1 + examples/plugins/LAMMPSInterfaceCXX.cmake | 57 +++++++++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/LAMMPSInterfacePlugin.cmake b/cmake/Modules/LAMMPSInterfacePlugin.cmake index d80d7609b7..95bb707e86 100644 --- a/cmake/Modules/LAMMPSInterfacePlugin.cmake +++ b/cmake/Modules/LAMMPSInterfacePlugin.cmake @@ -99,6 +99,7 @@ endif() ################################################################################ # MPI configuration if(NOT CMAKE_CROSSCOMPILING) + set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI QUIET) option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) else() diff --git a/examples/plugins/LAMMPSInterfaceCXX.cmake b/examples/plugins/LAMMPSInterfaceCXX.cmake index d52cf8f4e5..a3313215d6 100644 --- a/examples/plugins/LAMMPSInterfaceCXX.cmake +++ b/examples/plugins/LAMMPSInterfaceCXX.cmake @@ -1,6 +1,9 @@ # Cmake script code to define the LAMMPS C++ interface # settings required for building LAMMPS plugins +set(LAMMPS_THIRDPARTY_URL "https://download.lammps.org/thirdparty" + CACHE STRING "URL for thirdparty package downloads") + ################################################################################ # helper function function(validate_option name values) @@ -37,10 +40,56 @@ else() endif() if(BUILD_MPI) - find_package(MPI REQUIRED) - option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) - if(LAMMPS_LONGLONG_TO_LONG) - target_compile_definitions(lammps INTERFACE -DLAMMPS_LONGLONG_TO_LONG) + # do not include the (obsolete) MPI C++ bindings which makes + # for leaner object files and avoids namespace conflicts + set(MPI_CXX_SKIP_MPICXX TRUE) + # We use a non-standard procedure to cross-compile with MPI on Windows + if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) + # Download and configure custom MPICH files for Windows + message(STATUS "Downloading and configuring MPICH-1.4.1 for Windows") + set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win64-devel.tar.gz" CACHE STRING "URL for MPICH2 (win64) tarball") + set(MPICH2_WIN32_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win32-devel.tar.gz" CACHE STRING "URL for MPICH2 (win32) tarball") + set(MPICH2_WIN64_DEVEL_MD5 "4939fdb59d13182fd5dd65211e469f14" CACHE STRING "MD5 checksum of MPICH2 (win64) tarball") + set(MPICH2_WIN32_DEVEL_MD5 "a61d153500dce44e21b755ee7257e031" CACHE STRING "MD5 checksum of MPICH2 (win32) tarball") + mark_as_advanced(MPICH2_WIN64_DEVEL_URL) + mark_as_advanced(MPICH2_WIN32_DEVEL_URL) + mark_as_advanced(MPICH2_WIN64_DEVEL_MD5) + mark_as_advanced(MPICH2_WIN32_DEVEL_MD5) + + include(ExternalProject) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + ExternalProject_Add(mpi4win_build + URL ${MPICH2_WIN64_DEVEL_URL} + URL_MD5 ${MPICH2_WIN64_DEVEL_MD5} + CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + BUILD_BYPRODUCTS /lib/libmpi.a) + else() + ExternalProject_Add(mpi4win_build + URL ${MPICH2_WIN32_DEVEL_URL} + URL_MD5 ${MPICH2_WIN32_DEVEL_MD5} + CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + BUILD_BYPRODUCTS /lib/libmpi.a) + endif() + + ExternalProject_get_property(mpi4win_build SOURCE_DIR) + file(MAKE_DIRECTORY "${SOURCE_DIR}/include") + add_library(MPI::MPI_CXX UNKNOWN IMPORTED) + set_target_properties(MPI::MPI_CXX PROPERTIES + IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmpi.a" + INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include" + INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX") + add_dependencies(MPI::MPI_CXX mpi4win_build) + + # set variables for status reporting at the end of CMake run + set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include") + set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX") + set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmpi.a") + else() + find_package(MPI REQUIRED) + option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) + if(LAMMPS_LONGLONG_TO_LONG) + target_compile_definitions(lammps INTERFACE -DLAMMPS_LONGLONG_TO_LONG) + endif() endif() target_link_libraries(lammps INTERFACE MPI::MPI_CXX) else() From 7a5410a085499a48bc082d526d823b0beb0a9dc5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Jun 2022 15:09:15 -0600 Subject: [PATCH 106/153] support for >ELEMENTS MDI command --- examples/mdi/Run.sh | 10 ++-- src/MDI/fix_mdi_qm.cpp | 51 +++++++++++++++++-- src/MDI/fix_mdi_qm.h | 2 + src/MDI/mdi_engine.cpp | 110 ++++++++++++++++++++++++++++++++++------- src/MDI/mdi_engine.h | 3 ++ 5 files changed, 149 insertions(+), 27 deletions(-) diff --git a/examples/mdi/Run.sh b/examples/mdi/Run.sh index 3817841103..3b70a8bf79 100644 --- a/examples/mdi/Run.sh +++ b/examples/mdi/Run.sh @@ -3,7 +3,7 @@ # ------------------------------------------------- # ------------------------------------------------- -# Example 1 +# Example 1 = run ab initio MD (AIMD) # --- @@ -56,7 +56,7 @@ mv log.aimd.engine.plugin log.aimd.engine.plugin.3 # ------------------------------------------------- # ------------------------------------------------- -# Example 2 +# Example 2 = run LAMMPS, compute QM forces on snapshots from a long run # --- @@ -116,7 +116,7 @@ mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.3 # ------------------------------------------------- # ------------------------------------------------- -# Example 3 +# Example 3 = run LAMMPS, compute QM forces on series of independent systems # --- @@ -176,7 +176,7 @@ mv dump.series.driver.plugin dump.series.driver.plugin.3 # ------------------------------------------------- # ------------------------------------------------- -# Example 4 +# Example 4 = Python driver runs a sequence of unrelated LAMMPS calculations # --- @@ -221,7 +221,7 @@ mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name # ------------------------------------------------- # ------------------------------------------------- -# Example 5 +# Example 5 = run AIMD with Python driver code and 2 LAMMPS instances as engines # --- diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 38b7270651..1c725a0871 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -25,6 +25,8 @@ using namespace FixConst; enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports +#define MAXELEMENT 103 // used elsewhere in MDI package + /* ---------------------------------------------------------------------- */ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) @@ -49,6 +51,7 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) addflag = 1; every = 1; connectflag = 1; + elements = nullptr; int iarg = 3; while (iarg < narg) { @@ -75,6 +78,17 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) else if (strcmp(arg[iarg+1],"no") == 0) connectflag = 0; else error->all(FLERR,"Illegal fix mdi/qm command"); iarg += 2; + } else if (strcmp(arg[iarg],"elements") == 0) { + int ntypes = atom->ntypes; + if (iarg+ntypes+1 > narg) error->all(FLERR,"Illegal fix mdi/qm command"); + delete [] elements; + elements = new int[ntypes+1]; + for (int i = 1; i <= ntypes; i++) { + elements[i] = utils::inumeric(FLERR,arg[iarg+i],false,lmp); + if (elements[i] < 1 || elements[i] > MAXELEMENT) + error->all(FLERR,"Illegal fix mdi/qm command"); + } + iarg += ntypes+1; } else error->all(FLERR,"Illegal fix mdi/qm command"); } @@ -154,6 +168,8 @@ FixMDIQM::~FixMDIQM() // clean up + delete[] elements; + memory->destroy(fqm); memory->destroy(ibuf1); @@ -220,7 +236,7 @@ void FixMDIQM::init() } } - // send natoms, atom types, and simulation box to engine + // send natoms, atom types or elements, and simulation box to engine // this will trigger setup of a new system // subsequent calls in post_force() will be for same system until new init() @@ -232,7 +248,8 @@ void FixMDIQM::init() ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - send_types(); + if (elements) send_elements(); + else send_types(); send_box(); } @@ -420,7 +437,7 @@ void FixMDIQM::reallocate() } /* ---------------------------------------------------------------------- - send numeric atom types to MDI engine + send LAMMPS atom types to MDI engine ------------------------------------------------------------------------- */ void FixMDIQM::send_types() @@ -448,6 +465,34 @@ void FixMDIQM::send_types() if (ierr) error->all(FLERR, "MDI: >TYPES data"); } +/* ---------------------------------------------------------------------- + send elements to MDI engine = atomic numbers for each type +------------------------------------------------------------------------- */ + +void FixMDIQM::send_elements() +{ + int n = static_cast (atom->natoms); + memset(ibuf1, 0, n * sizeof(int)); + + // use local atomID to index into ordered ibuf1 + + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + + int index; + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + ibuf1[index] = elements[type[i]]; + } + + MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); + + int ierr = MDI_Send_command(">ELEMENTS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); + ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMETNS data"); +} /* ---------------------------------------------------------------------- send simulation box size and shape to MDI engine diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 1db6a0cce2..11180925b1 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -44,6 +44,7 @@ class FixMDIQM : public Fix { int plugin; int maxlocal; int sumflag; + int *elements; double qm_energy; int lmpunits; @@ -70,6 +71,7 @@ class FixMDIQM : public Fix { void reallocate(); void send_types(); + void send_elements(); void send_box(); void unit_conversions(); }; diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 3683e3f3c5..79bfbe097e 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -54,6 +54,8 @@ enum { DEFAULT, MD, OPT }; // top-level MDI engine modes enum { TYPE, CHARGE, MASS, COORD, VELOCITY, FORCE, ADDFORCE }; +#define MAXELEMENT 103 // used elsewhere in MDI package + /* ---------------------------------------------------------------------- trigger LAMMPS to start acting as an MDI engine either in standalone mode or plugin mode @@ -63,17 +65,47 @@ enum { TYPE, CHARGE, MASS, COORD, VELOCITY, FORCE, ADDFORCE }; when EXIT command is received, mdi engine command exits ---------------------------------------------------------------------- */ -MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char ** /*arg*/) : Pointers(_lmp) +MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char ** arg) : Pointers(_lmp) { - if (narg) error->all(FLERR, "Illegal mdi engine command"); - // check requirements for LAMMPS to work with MDI as an engine - if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); + if (atom->tag_enable == 0) error->all(FLERR, "MDI engine requires atom IDs"); if (atom->natoms && atom->tag_consecutive() == 0) error->all(FLERR, "MDI engine requires consecutive atom IDs"); + // optional args + + elements = nullptr; + + int iarg = 0; + while (iarg < narg) { + if (strcmp(arg[iarg],"elements") == 0) { + int ntypes = atom->ntypes; + delete [] elements; + elements = new int[ntypes+1]; + if (iarg+ntypes+1 > narg) error->all(FLERR,"Illegal mdi engine command"); + for (int i = 1; i <= ntypes; i++) { + elements[i] = utils::inumeric(FLERR,arg[iarg+i],false,lmp); + if (elements[i] < 0 || elements[i] > MAXELEMENT) + error->all(FLERR,"Illegal mdi engine command"); + } + iarg += ntypes+1; + } else error->all(FLERR,"Illegal mdi engine command"); + } + + // error check an MDI element does not map to multiple atom types + + if (elements) { + int ntypes = atom->ntypes; + for (int i = 1; i < ntypes; i++) + for (int j = i+1; j <= ntypes; j++) { + if (elements[i] == 0 || elements[j] == 0) continue; + if (elements[i] == elements[j]) + error->all(FLERR,"MDI engine element cannot map to multiple types"); + } + } + // confirm LAMMPS is being run as an engine int role; @@ -194,6 +226,8 @@ MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char ** /*arg*/) : Pointers(_lmp) // clean up + delete[] elements; + delete[] mdicmd; delete[] node_engine; delete[] node_driver; @@ -299,6 +333,11 @@ int MDIEngine::execute_command(const char *command, MDI_Comm mdicomm) } else if (strcmp(command, ">COORDS") == 0) { receive_coords(); + } else if (strcmp(command, ">ELEMENTS") == 0) { + if (!elements) + error->all(FLERR,"MDI engine command did not define element list"); + receive_elements(); + } else if (strcmp(command, ">FORCES") == 0) { receive_double3(FORCE); @@ -323,7 +362,7 @@ int MDIEngine::execute_command(const char *command, MDI_Comm mdicomm) else receive_double3(VELOCITY); - // ----------------------------------------------- + // ----------------------------------------------- } else if (strcmp(command, "<@") == 0) { ierr = MDI_Send(node_engine, MDI_NAME_LENGTH, MDI_CHAR, mdicomm); @@ -372,9 +411,9 @@ int MDIEngine::execute_command(const char *command, MDI_Comm mdicomm) } else if (strcmp(command, "all(FLERR, "MDI: MDI engine is already performing a simulation"); @@ -419,14 +458,14 @@ int MDIEngine::execute_command(const char *command, MDI_Comm mdicomm) strncpy(node_driver, command, MDI_COMMAND_LENGTH); node_match = false; - // exit command + // exit command } else if (strcmp(command, "EXIT") == 0) { exit_command = true; - // ------------------------------------------------------- - // custom LAMMPS commands - // ------------------------------------------------------- + // ------------------------------------------------------- + // custom LAMMPS commands + // ------------------------------------------------------- } else if (strcmp(command, "NBYTES") == 0) { nbytes_command(); @@ -439,9 +478,9 @@ int MDIEngine::execute_command(const char *command, MDI_Comm mdicomm) } else if (strcmp(command, "all(FLERR, "MDI: Unknown command {} received from driver", command); @@ -479,6 +518,7 @@ void MDIEngine::mdi_commands() MDI_Register_command("@DEFAULT", ">CELL_DISPL"); MDI_Register_command("@DEFAULT", ">CHARGES"); MDI_Register_command("@DEFAULT", ">COORDS"); + MDI_Register_command("@DEFAULT", ">ELEMENTS"); MDI_Register_command("@DEFAULT", ">NATOMS"); MDI_Register_command("@DEFAULT", ">NSTEPS"); MDI_Register_command("@DEFAULT", ">TOLERANCE"); @@ -914,7 +954,7 @@ void MDIEngine::evaluate() /* ---------------------------------------------------------------------- create a new system - >CELL, >NATOMS, >TYPES, >COORDS commands are required + >CELL, >NATOMS, >TYPES or >ELEMENTS, >COORDS commands are required >CELL_DISPL, >CHARGES, >VELOCITIES commands are optional ---------------------------------------------------------------------- */ @@ -924,8 +964,8 @@ void MDIEngine::create_system() if (flag_cell == 0 || flag_natoms == 0 || flag_types == 0 || flag_coords == 0) error->all(FLERR, - "MDI create_system requires >CELL, >NATOMS, >TYPES, >COORDS " - "MDI commands"); + "MDI create_system requires >CELL, >NATOMS, " + ">TYPES or >ELEMENTS, >COORDS MDI commands"); // remove all existing atoms via delete_atoms command @@ -1160,6 +1200,38 @@ void MDIEngine::receive_coords() for (int i = 0; i < n; i++) sys_coords[i] *= mdi2lmp_length; } +/* ---------------------------------------------------------------------- + >ELEMENTS command + receive elements for each atom = atomic numbers + convert to LAMMPS atom types and store in sys_types +---------------------------------------------------------------------- */ + +void MDIEngine::receive_elements() +{ + actionflag = 0; + flag_types = 1; + int ierr = MDI_Recv(sys_types, sys_natoms, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS data"); + MPI_Bcast(sys_types, sys_natoms, MPI_INT, 0, world); + + // convert from element atomic numbers to LAMMPS atom types + // use maping provided by mdi engine command + + int ntypes = atom->ntypes; + int itype; + + for (int i = 0; i < sys_natoms; i++) { + for (itype = 1; itype <= ntypes; itype++) { + if (sys_types[i] == elements[itype]) { + sys_types[i] = itype; + break; + } + } + if (itype > ntypes) + error->all(FLERR,"MDI element not found in element list"); + } +} + /* ---------------------------------------------------------------------- >NATOMS command natoms cannot exceed 32-bit int for use with MDI diff --git a/src/MDI/mdi_engine.h b/src/MDI/mdi_engine.h index ea840fba02..242755e3b7 100644 --- a/src/MDI/mdi_engine.h +++ b/src/MDI/mdi_engine.h @@ -70,6 +70,8 @@ class MDIEngine : protected Pointers { int actionflag; // 1 if MD or OPTG just completed, else 0 + int *elements; + // buffers for MDI comm int maxatom; @@ -106,6 +108,7 @@ class MDIEngine : protected Pointers { void receive_cell_displ(); void receive_charges(); void receive_coords(); + void receive_elements(); void receive_natoms(); void receive_nsteps(); void receive_tolerance(); From 1c709eb1ef9118eb3b3601fdd8013ccdce7bbeab Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Jun 2022 15:31:09 -0600 Subject: [PATCH 107/153] udpate doc pages for ELEMENTS command --- doc/src/fix_mdi_qm.rst | 19 +++++++++++++++++-- doc/src/mdi.rst | 41 ++++++++++++++++++++++++++++++++--------- 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index 8ecb6ed488..a00f6e2edc 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -13,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * mdi/qm = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *virial* or *add* or *every* or *connect* +* keyword = *virial* or *add* or *every* or *connect* or *elements* .. parsed-literal:: @@ -28,6 +28,8 @@ Syntax *connect* args = *yes* or *no* yes = perform a one-time connection to the MDI engine code no = do not perform the connection operation + *elements* args = N_1 N_2 ... N_ntypes + N_1,N_2,...N_ntypes = atomic number for each of ntypes LAMMPS atom types Examples """""""" @@ -36,7 +38,7 @@ Examples fix 1 all mdi/qm fix 1 all mdi/qm virial yes - fix 1 all mdi/qm add no every 100 + fix 1 all mdi/qm add no every 100 elements 13 29 Description """"""""""" @@ -118,6 +120,19 @@ series of system configurations. In this use case *connect no* is used along with the :doc:`mdi connect and exit ` command to one-time initiate/terminate the connection outside the loop. +The *elements* keyword allows specification of what element each +LAMMPS atom type corresponds to. This is specified by the atomic +number of the element, e.g. 13 for Al. An atomic number must be +specified for each of the ntypes LAMMPS atom types. Ntypes is +typically specified via the create_box command or in the data file +read by the read_data command. If this keyword is not specified, then +this fix will send the LAMMPS atom type for each atom to the MDI +engine. If both the LAMMPS driver and the MDI engine are initialized +so that atom type values are consistent in both codes, then the +*elements* keyword is not needed. Otherwise the keyword can be used +to insure the two codes are consistent in their definition of atomic +species. + ---------- The following 3 example use cases are illustrated in the examples/mdi diff --git a/doc/src/mdi.rst b/doc/src/mdi.rst index 0d647bbd4e..2591b3ea16 100644 --- a/doc/src/mdi.rst +++ b/doc/src/mdi.rst @@ -14,14 +14,18 @@ Syntax .. parsed-literal:: - *engine* args = none - *plugin* args = name keyword value keyword value + *engine* args = zero or more keyword arg pairs + keywords = *elements* + *elements* args = N_1 N_2 ... N_ntypes + N_1,N_2,...N_ntypes = atomic number for each of ntypes LAMMPS atom types + *plugin* args = name keyword value keyword value ... name = name of plugin library, e.g. lammps means a liblammps.so library will be loaded + keyword/value pairs in any order, some are required, some are optional keywords = *mdi* or *infile* or *extra* or *command* - *mdi* value = args passed to MDI for driver to operate with plugins - *infile* value = filename the engine will read at start-up + *mdi* value = args passed to MDI for driver to operate with plugins (required) + *infile* value = filename the engine will read at start-up (optional) *extra* value = aditional command-line args to pass to engine library when loaded - *command* value = a LAMMPS input script command to execute + *command* value = a LAMMPS input script command to execute (required) *connect* args = none *exit* args = none @@ -31,6 +35,7 @@ Examples .. code-block:: LAMMPS mdi engine + mdi engine elements 13 29 mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" & infile in.aimd.engine extra "-log log.aimd.engine.plugin" & command "run 5" @@ -109,6 +114,8 @@ commands, which are described further below. - Send/request charge on each atom (N values) * - >COORDS or ELEMENTS + - Send elements (atomic numbers) for each atom (N values) * - FORCES or TOLERANCE - Send 4 tolerance parameters for next MD minimization via OPTG command * - >TYPES or VELOCITIES or COORDS command), then LAMMPS will do a more expensive operation to migrate atoms to new processors as needed and - re-neighbor. If the >NATOMS or >TYPES commands have been sent - (since the previous >COORDS command), then LAMMPS assumes the - system is new and re-initializes an entirely new simulation. + re-neighbor. If the >NATOMS or >TYPES or >ELEMENTS commands have + been sent (since the previous >COORDS command), then LAMMPS assumes + the system is new and re-initializes an entirely new simulation. + +.. note:: + + The >TYPES or >ELEMENTS commands are how the MDI driver tells the + LAMMPS engine which LAMMPS atom type to assign to each atom. If + both the MDI driver and the LAMMPS engine are initialized so that + atom type values are consistent in both codes, then the >TYPES + command can be used. If not, the optional *elements* keyword can + be used to specify what element each LAMMPS atom type corresponds + to. This is specified by the atomic number of the element, e.g. 13 + for Al. An atomic number must be specified for each of the ntypes + LAMMPS atom types. Ntypes is typically specified via the + create_box command or in the data file read by the read_data + command. In this has been done, the MDI driver can send an + >ELEMENTS command to the LAMMPS driver with the atomic number of + each atom. The MD and OPTG commands perform an entire MD simulation or energy minimization (to convergence) with no communication from the driver From 4de3f7ed6979b44f078ee38651cde3aa3e52914e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Jun 2022 06:15:49 -0400 Subject: [PATCH 108/153] intergrate references to dump cfg/uef into the dump command docs --- doc/src/dump.rst | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 4d272c940b..4417e186ec 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -27,6 +27,9 @@ dump command :doc:`dump custom/adios ` command ============================================= +:doc:`dump cfg/uef ` command +========================================== + Syntax """""" @@ -36,7 +39,7 @@ Syntax * ID = user-assigned name for the dump * group-ID = ID of the group of atoms to be dumped -* style = *atom* or *atom/gz* or *atom/zstd or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *dcd* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* +* style = *atom* or *atom/gz* or *atom/zstd or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *dcd* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* * N = dump every this many timesteps * file = name of file to write dump info to * args = list of arguments for a particular style @@ -47,22 +50,23 @@ Syntax *atom/gz* args = none *atom/zstd* args = none *atom/mpiio* args = none - *atom/adios* args = none, discussed on :doc:`dump atom/adios ` doc page + *atom/adios* args = none, discussed on :doc:`dump atom/adios ` page *cfg* args = same as *custom* args, see below *cfg/gz* args = same as *custom* args, see below *cfg/zstd* args = same as *custom* args, see below *cfg/mpiio* args = same as *custom* args, see below + *cfg/uef* args = same as *custom* args, discussed on :doc:`dump cfg/uef ` page *custom*, *custom/gz*, *custom/zstd*, *custom/mpiio* args = see below - *custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios ` doc page + *custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios ` page *dcd* args = none - *h5md* args = discussed on :doc:`dump h5md ` doc page - *image* args = discussed on :doc:`dump image ` doc page + *h5md* args = discussed on :doc:`dump h5md ` page + *image* args = discussed on :doc:`dump image ` page *local*, *local/gz*, *local/zstd* args = see below - *molfile* args = discussed on :doc:`dump molfile ` doc page - *movie* args = discussed on :doc:`dump image ` doc page - *netcdf* args = discussed on :doc:`dump netcdf ` doc page - *netcdf/mpiio* args = discussed on :doc:`dump netcdf ` doc page - *vtk* args = same as *custom* args, see below, also :doc:`dump vtk ` doc page + *molfile* args = discussed on :doc:`dump molfile ` page + *movie* args = discussed on :doc:`dump image ` page + *netcdf* args = discussed on :doc:`dump netcdf ` page + *netcdf/mpiio* args = discussed on :doc:`dump netcdf ` page + *vtk* args = same as *custom* args, see below, also :doc:`dump vtk ` page *xtc* args = none *xyz* args = none *xyz/gz* args = none @@ -155,7 +159,7 @@ timesteps in one of several styles. The *image* and *movie* styles are the exception: the *image* style renders a JPG, PNG, or PPM image file of the atom configuration every N timesteps while the *movie* style combines and compresses them into a movie file; both are discussed in -detail on the :doc:`dump image ` doc page. The timesteps on +detail on the :doc:`dump image ` page. The timesteps on which dump output is written can also be controlled by a variable. See the :doc:`dump_modify every ` command. @@ -194,7 +198,7 @@ or multiple smaller files). For the *atom*, *custom*, *cfg*, and *local* styles, sorting is off by default. For the *dcd*, *xtc*, *xyz*, and *molfile* styles, sorting by atom ID is on by default. See the :doc:`dump_modify ` -doc page for details. +page for details. The *atom/gz*, *cfg/gz*, *custom/gz*, *local/gz*, and *xyz/gz* styles are identical in command syntax to the corresponding styles without @@ -204,7 +208,7 @@ alternative approach to writing compressed files via a pipe, as done by the regular dump styles, which may be required on clusters where the interface to the high-speed network disallows using the fork() library call (which is needed for a pipe). For the remainder of this -doc page, you should thus consider the *atom* and *atom/gz* styles +page, you should thus consider the *atom* and *atom/gz* styles (etc) to be inter-changeable, with the exception of the required filename suffix. @@ -218,7 +222,7 @@ As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio* styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without "mpiio", except the single dump file they produce is written in -parallel via the MPI-IO library. For the remainder of this doc page, +parallel via the MPI-IO library. For the remainder of this page, you should thus consider the *atom* and *atom/mpiio* styles (etc) to be inter-changeable. The one exception is how the filename is specified for the MPI-IO styles, as explained below. @@ -664,7 +668,7 @@ so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. I.e. actual unscaled (x,y,z) = xs\*A + ys\*B + zs\*C, where (A,B,C) are the non-orthogonal vectors of the simulation box edges, as discussed -on the :doc:`Howto triclinic ` doc page. +on the :doc:`Howto triclinic ` page. Use *xu*, *yu*, *zu* if you want the coordinates "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has @@ -787,7 +791,7 @@ more info. The *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio* styles are part of the MPIIO package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` -doc page for more info. +page for more info. The *xtc*, *dcd* and *yaml* styles are part of the EXTRA-DUMP package. They are only enabled if LAMMPS was built with that package. See the @@ -797,12 +801,12 @@ Related commands """""""""""""""" :doc:`dump atom/adios `, :doc:`dump custom/adios `, -:doc:`dump h5md `, :doc:`dump image `, -:doc:`dump molfile `, :doc:`dump_modify `, -:doc:`undump ` +:doc:`dump cfg/uef `, :doc:`dump h5md `, +:doc:`dump image `, :doc:`dump molfile `, +:doc:`dump_modify `, :doc:`undump `, :doc:`write_dump ` Default """"""" The defaults for the *image* and *movie* styles are listed on the -:doc:`dump image ` doc page. +:doc:`dump image ` page. From b1b580cc041f3092a138e59ca68713268dc41237 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 27 Jun 2022 17:03:02 -0600 Subject: [PATCH 109/153] Final tidying up --- doc/src/compute_sna_atom.rst | 229 ----------------------- src/{ => ML-SNAP}/compute_grid.cpp | 0 src/{ => ML-SNAP}/compute_grid.h | 0 src/{ => ML-SNAP}/compute_grid_local.cpp | 0 src/{ => ML-SNAP}/compute_grid_local.h | 0 src/ML-SNAP/compute_sna_grid.cpp | 3 +- src/ML-SNAP/compute_sna_grid_local.cpp | 1 + 7 files changed, 3 insertions(+), 230 deletions(-) rename src/{ => ML-SNAP}/compute_grid.cpp (100%) rename src/{ => ML-SNAP}/compute_grid.h (100%) rename src/{ => ML-SNAP}/compute_grid_local.cpp (100%) rename src/{ => ML-SNAP}/compute_grid_local.h (100%) diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 354a9a8fa6..deb717d84d 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -467,235 +467,6 @@ number of columns in the global array generated by *snap* are 31, and 931, respectively, while the number of rows is 1+3\*\ *N*\ +6, where *N* is the total number of atoms. -If the *quadratic* keyword value is set to 1, then additional columns -are generated, corresponding to the products of all distinct pairs of -bispectrum components. If the number of bispectrum components is *K*, -then the number of distinct pairs is *K*\ (\ *K*\ +1)/2. For compute -*sna/atom* these columns are appended to existing *K* columns. The -ordering of quadratic terms is upper-triangular, (1,1),(1,2)...(1,\ *K*\ -),(2,1)...(\ *K*\ -1,\ *K*\ -1),(\ *K*\ -1,\ *K*\ ),(\ *K*,\ *K*\ ). -For computes *snad/atom* and *snav/atom* each set of *K*\ (\ *K*\ +1)/2 -additional columns is inserted directly after each of sub-block of -linear terms i.e. linear and quadratic terms are contiguous. So the -nesting order from inside to outside is bispectrum component, linear -then quadratic, vector/tensor component, type. - -If the *chem* keyword is used, then the data is arranged into -:math:`N_{elem}^3` sub-blocks, each sub-block corresponding to a -particular chemical labeling :math:`\kappa\lambda\mu` with the last -label changing fastest. Each sub-block contains *K* bispectrum -components. For the purposes of handling contributions to force, virial, -and quadratic combinations, these :math:`N_{elem}^3` sub-blocks are -treated as a single block of :math:`K N_{elem}^3` columns. - -These values can be accessed by any command that uses per-atom values -from a compute as input. See the :doc:`Howto output ` doc -page for an overview of LAMMPS output options. To see how this command -can be used within a Python workflow to train SNAP potentials, see the -examples in `FitSNAP `_. - -The value of all bispectrum components will be zero for atoms not in -the group. Neighbor atoms not in the group do not contribute to the -bispectrum of atoms in the group. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. - -The argument *rcutfac* is a scale factor that controls the ratio of -atomic radius to radial cutoff distance. - -The argument *rfac0* and the optional keyword *rmin0* define the -linear mapping from radial distance to polar angle :math:`theta_0` on the -3-sphere, given above. - -The argument *twojmax* defines which -bispectrum components are generated. See section below on output for a -detailed explanation of the number of bispectrum components and the -ordered in which they are listed. - -The keyword *switchflag* can be used to turn off the switching -function :math:`f_c(r)`. - -The keyword *bzeroflag* determines whether or not *B0*, the bispectrum -components of an atom with no neighbors, are subtracted from the -calculated bispectrum components. This optional keyword normally only -affects compute *sna/atom*\ . However, when *quadraticflag* is on, it -also affects *snad/atom* and *snav/atom*\ . - -The keyword *quadraticflag* determines whether or not the quadratic -combinations of bispectrum quantities are generated. These are formed -by taking the outer product of the vector of bispectrum components with -itself. See section below on output for a detailed explanation of the -number of quadratic terms and the ordered in which they are listed. - -The keyword *chem* activates the explicit multi-element variant of the -SNAP bispectrum components. The argument *nelements* specifies the -number of SNAP elements that will be handled. This is followed by -*elementlist*, a list of integers of length *ntypes*, with values in the -range [0, *nelements* ), which maps each LAMMPS type to one of the SNAP -elements. Note that multiple LAMMPS types can be mapped to the same -element, and some elements may be mapped by no LAMMPS type. However, in -typical use cases (training SNAP potentials) the mapping from LAMMPS -types to elements is one-to-one. - -The explicit multi-element variant invoked by the *chem* keyword -partitions the density of neighbors into partial densities for each -chemical element. This is described in detail in the paper by -:ref:`Cusentino et al. ` The bispectrum components are -indexed on ordered triplets of elements: - -.. math:: - - B_{j_1,j_2,j}^{\kappa\lambda\mu} = - \sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^{\mu}_{j,m,m'})^* - H {\scriptscriptstyle \begin{array}{l} {j} {m} {m'} \\ - {j_1} {m_1} {m'_1} \\ - {j_2} {m_2} {m'_2} \end{array}} - u^{\kappa}_{j_1,m_1,m'_1} u^{\lambda}_{j_2,m_2,m'_2} - -where :math:`u^{\mu}_{j,m,m'}` is an expansion coefficient for the partial density of neighbors -of element :math:`\mu` - -.. math:: - - u^{\mu}_{j,m,m'} = w^{self}_{\mu_{i}\mu} U^{j,m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{\delta_{\mu\mu_{i'}}f_c(r_{ii'}) w_{\mu_{i'}} U^{j,m,m'}(\theta_0,\theta,\phi)} - -where :math:`w^{self}_{\mu_{i}\mu}` is the self-contribution, which is -either 1 or 0 (see keyword *wselfallflag* below), -:math:`\delta_{\mu\mu_{i'}}` indicates that the sum is only over -neighbor atoms of element :math:`\mu`, and all other quantities are the -same as those appearing in the original equation for :math:`u^j_{m,m'}` -given above. - -The keyword *wselfallflag* defines the rule used for the -self-contribution. If *wselfallflag* is on, then -:math:`w^{self}_{\mu_{i}\mu}` = 1. If it is off then -:math:`w^{self}_{\mu_{i}\mu}` = 0, except in the case of -:math:`{\mu_{i}=\mu}`, when :math:`w^{self}_{\mu_{i}\mu}` = 1. When the -*chem* keyword is not used, this keyword has no effect. - -The keyword *bnormflag* determines whether or not the bispectrum -component :math:`B_{j_1,j_2,j}` is divided by a factor of :math:`2j+1`. -This normalization simplifies force calculations because of the -following symmetry relation - -.. math:: - - \frac{B_{j_1,j_2,j}}{2j+1} = \frac{B_{j,j_2,j_1}}{2j_1+1} = \frac{B_{j_1,j,j_2}}{2j_2+1} - -This option is typically used in conjunction with the *chem* keyword, -and LAMMPS will generate a warning if both *chem* and *bnormflag* -are not both set or not both unset. - -The keyword *bikflag* determines whether or not to expand the bispectrum -rows of the global array returned by compute snap. If *bikflag* is set -to *1* then the bispectrum row, which is typically the per-atom bispectrum -descriptors :math:`B_{i,k}` summed over all atoms *i* to produce -:math:`B_k`, becomes bispectrum rows equal to the number of atoms. Thus, -the resulting bispectrum rows are :math:`B_{i,k}` instead of just -:math:`B_k`. In this case, the entries in the final column for these rows -are set to zero. - -The keyword *switchinnerflag* with value 1 -activates an additional radial switching -function similar to :math:`f_c(r)` above, but acting to switch off -smoothly contributions from neighbor atoms at short separation distances. -This is useful when SNAP is used in combination with a simple -repulsive potential. For a neighbor atom at -distance :math:`r`, its contribution is scaled by a multiplicative -factor :math:`f_{inner}(r)` defined as follows: - -.. math:: - - = & 0, r \leq S_{inner} - D_{inner} \\ - f_{inner}(r) = & \frac{1}{2}(1 - \cos(\frac{\pi}{2} (1 + \frac{r-S_{inner}}{D_{inner}})), S_{inner} - D_{inner} < r \leq S_{inner} + D_{inner} \\ - = & 1, r > S_{inner} + D_{inner} - -where the switching region is centered at :math:`S_{inner}` and it extends a distance :math:`D_{inner}` -to the left and to the right of this. -With this option, additional keywords *sinner* and *dinner* must be used, -each followed by *ntypes* -values for :math:`S_{inner}` and :math:`D_{inner}`, respectively. -When the central atom and the neighbor atom have different types, -the values of :math:`S_{inner}` and :math:`D_{inner}` are -the arithmetic means of the values for both types. - -.. note:: - - If you have a bonded system, then the settings of :doc:`special_bonds - ` command can remove pairwise interactions between - atoms in the same bond, angle, or dihedral. This is the default - setting for the :doc:`special_bonds ` command, and - means those pairwise interactions do not appear in the neighbor list. - Because this fix uses the neighbor list, it also means those pairs - will not be included in the calculation. One way to get around this, - is to write a dump file, and use the :doc:`rerun ` command to - compute the bispectrum components for snapshots in the dump file. - The rerun script can use a :doc:`special_bonds ` - command that includes all pairs in the neighbor list. - ----------- - -Output info -""""""""""" - -Compute *sna/atom* calculates a per-atom array, each column -corresponding to a particular bispectrum component. The total number of -columns and the identity of the bispectrum component contained in each -column depend of the value of *twojmax*, as described by the following -piece of python code: - -.. parsed-literal:: - - for j1 in range(0,twojmax+1): - for j2 in range(0,j1+1): - for j in range(j1-j2,min(twojmax,j1+j2)+1,2): - if (j>=j1): print j1/2.,j2/2.,j/2. - -For even twojmax = 2(*m*\ -1), :math:`K = m(m+1)(2m+1)/6`, the *m*\ -th pyramidal number. For odd twojmax = 2 *m*\ -1, :math:`K = m(m+1)(m+2)/3`, twice the *m*\ -th tetrahedral number. - -.. note:: - - the *diagonal* keyword allowing other possible choices - for the number of bispectrum components was removed in 2019, - since all potentials use the value of 3, corresponding to the - above set of bispectrum components. - -Compute *snad/atom* evaluates a per-atom array. The columns are arranged -into *ntypes* blocks, listed in order of atom type *I*\ . Each block -contains three sub-blocks corresponding to the *x*, *y*, and *z* -components of the atom position. Each of these sub-blocks contains *K* -columns for the *K* bispectrum components, the same as for compute -*sna/atom* - -Compute *snav/atom* evaluates a per-atom array. The columns are arranged -into *ntypes* blocks, listed in order of atom type *I*\ . Each block -contains six sub-blocks corresponding to the *xx*, *yy*, *zz*, -*yz*, *xz*, and *xy* components of the virial tensor in Voigt -notation. Each of these sub-blocks contains *K* columns for the *K* -bispectrum components, the same as for compute *sna/atom* - -Compute *snap* evaluates a global array. The columns are arranged into -*ntypes* blocks, listed in order of atom type *I*\ . Each block contains -one column for each bispectrum component, the same as for compute -*sna/atom*\ . A final column contains the corresponding energy, force -component on an atom, or virial stress component. The rows of the array -appear in the following order: - -* 1 row: *sna/atom* quantities summed for all atoms of type *I* -* 3\*\ *N* rows: *snad/atom* quantities, with derivatives w.r.t. x, y, and z coordinate of atom *i* appearing in consecutive rows. The atoms are sorted based on atom ID. -* 6 rows: *snav/atom* quantities summed for all atoms of type *I* - -For example, if *K* =30 and ntypes=1, the number of columns in the -per-atom arrays generated by *sna/atom*, *snad/atom*, and -*snav/atom* are 30, 90, and 180, respectively. With *quadratic* value=1, -the numbers of columns are 930, 2790, and 5580, respectively. The -number of columns in the global array generated by *snap* are 31, and -931, respectively, while the number of rows is 1+3\*\ *N*\ +6, where *N* -is the total number of atoms. - Compute *sna/grid* evaluates a global array. The array contains one row for each of the :math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest, diff --git a/src/compute_grid.cpp b/src/ML-SNAP/compute_grid.cpp similarity index 100% rename from src/compute_grid.cpp rename to src/ML-SNAP/compute_grid.cpp diff --git a/src/compute_grid.h b/src/ML-SNAP/compute_grid.h similarity index 100% rename from src/compute_grid.h rename to src/ML-SNAP/compute_grid.h diff --git a/src/compute_grid_local.cpp b/src/ML-SNAP/compute_grid_local.cpp similarity index 100% rename from src/compute_grid_local.cpp rename to src/ML-SNAP/compute_grid_local.cpp diff --git a/src/compute_grid_local.h b/src/ML-SNAP/compute_grid_local.h similarity index 100% rename from src/compute_grid_local.h rename to src/ML-SNAP/compute_grid_local.h diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index ac267112b1..771a30eb9f 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -228,7 +228,8 @@ void ComputeSNAGrid::compute_array() const double ztmp = xgrid[2]; // currently, all grid points are type 1 - + // not clear what a better choice would be + const int itype = 1; int ielem = 0; if (chemflag) ielem = map[itype]; diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 059f177696..80a1baddab 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -227,6 +227,7 @@ void ComputeSNAGridLocal::compute_local() const double ztmp = xgrid[2]; // currently, all grid points are type 1 + // not clear what a better choice would be const int itype = 1; int ielem = 0; From b165c2ca080113877c35c316cbaea7c38d653f36 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 08:39:12 -0400 Subject: [PATCH 110/153] add files to .gitignore after move to package --- src/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 8294a204c7..4c1cf49b3b 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -173,6 +173,10 @@ /pair_tdpd.cpp /pair_tdpd.h +/compute_grid.cpp +/compute_grid.h +/compute_grid_local.cpp +/compute_grid_local.h /compute_sna_atom.cpp /compute_sna_atom.h /compute_snad_atom.cpp From a9f3108f294586552277b2f21924a31d629f7bfd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 08:39:20 -0400 Subject: [PATCH 111/153] whitespace --- src/ML-SNAP/compute_sna_grid.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ML-SNAP/compute_sna_grid.cpp b/src/ML-SNAP/compute_sna_grid.cpp index 771a30eb9f..497390f99a 100644 --- a/src/ML-SNAP/compute_sna_grid.cpp +++ b/src/ML-SNAP/compute_sna_grid.cpp @@ -228,8 +228,8 @@ void ComputeSNAGrid::compute_array() const double ztmp = xgrid[2]; // currently, all grid points are type 1 - // not clear what a better choice would be - + // not clear what a better choice would be + const int itype = 1; int ielem = 0; if (chemflag) ielem = map[itype]; From 9bc1968e366edcb910878badac10dadb6ad5b9f4 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 28 Jun 2022 08:51:07 -0600 Subject: [PATCH 112/153] Add missing grow to Kokkos unpack_exchange --- src/KOKKOS/atom_vec_angle_kokkos.cpp | 3 +++ src/KOKKOS/atom_vec_atomic_kokkos.cpp | 2 ++ src/KOKKOS/atom_vec_bond_kokkos.cpp | 3 +++ src/KOKKOS/atom_vec_charge_kokkos.cpp | 2 ++ src/KOKKOS/atom_vec_dpd_kokkos.cpp | 2 ++ src/KOKKOS/atom_vec_full_kokkos.cpp | 3 +++ src/KOKKOS/atom_vec_molecular_kokkos.cpp | 3 +++ src/KOKKOS/atom_vec_sphere_kokkos.cpp | 2 ++ src/KOKKOS/atom_vec_spin_kokkos.cpp | 2 ++ 9 files changed, 22 insertions(+) diff --git a/src/KOKKOS/atom_vec_angle_kokkos.cpp b/src/KOKKOS/atom_vec_angle_kokkos.cpp index 18de4d46cb..dd37d1a838 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.cpp +++ b/src/KOKKOS/atom_vec_angle_kokkos.cpp @@ -1391,6 +1391,9 @@ int AtomVecAngleKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int n int nlocal,int dim,X_FLOAT lo,X_FLOAT hi, ExecutionSpace space) { const size_t elements = 17+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom; + + while (nlocal + nrecv/elements >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecAngleKokkos_UnpackExchangeFunctor diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.cpp b/src/KOKKOS/atom_vec_atomic_kokkos.cpp index 891ebb51c2..0a78b42227 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.cpp +++ b/src/KOKKOS/atom_vec_atomic_kokkos.cpp @@ -649,6 +649,8 @@ struct AtomVecAtomicKokkos_UnpackExchangeFunctor { /* ---------------------------------------------------------------------- */ int AtomVecAtomicKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,ExecutionSpace space) { + while (nlocal + nrecv/11 >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecAtomicKokkos_UnpackExchangeFunctor f(atomKK,k_buf,k_count,dim,lo,hi); diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index 3655d894c9..ea70f15dcb 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -845,6 +845,9 @@ int AtomVecBondKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nr int nlocal,int dim,X_FLOAT lo,X_FLOAT hi, ExecutionSpace space) { const size_t elements = 16+atomKK->maxspecial+atomKK->bond_per_atom+atomKK->bond_per_atom; + + while (nlocal + nrecv/elements >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecBondKokkos_UnpackExchangeFunctor diff --git a/src/KOKKOS/atom_vec_charge_kokkos.cpp b/src/KOKKOS/atom_vec_charge_kokkos.cpp index 7de36ffd5d..3c0e1d46bb 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.cpp +++ b/src/KOKKOS/atom_vec_charge_kokkos.cpp @@ -774,6 +774,8 @@ struct AtomVecChargeKokkos_UnpackExchangeFunctor { int AtomVecChargeKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv, int nlocal,int dim,X_FLOAT lo,X_FLOAT hi, ExecutionSpace space) { + while (nlocal + nrecv/12 >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecChargeKokkos_UnpackExchangeFunctor f(atomKK,k_buf,k_count,dim,lo,hi); diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.cpp b/src/KOKKOS/atom_vec_dpd_kokkos.cpp index cf7ad9d533..1b7ccd97d0 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dpd_kokkos.cpp @@ -1505,6 +1505,8 @@ struct AtomVecDPDKokkos_UnpackExchangeFunctor { /* ---------------------------------------------------------------------- */ int AtomVecDPDKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,ExecutionSpace space) { + while (nlocal + nrecv/17 >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecDPDKokkos_UnpackExchangeFunctor f(atomKK,k_buf,k_count,dim,lo,hi); diff --git a/src/KOKKOS/atom_vec_full_kokkos.cpp b/src/KOKKOS/atom_vec_full_kokkos.cpp index b75c33e046..7322a75b11 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.cpp +++ b/src/KOKKOS/atom_vec_full_kokkos.cpp @@ -1186,6 +1186,9 @@ int AtomVecFullKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nr ExecutionSpace space) { const size_t elements = 20+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom+ 5*atom->dihedral_per_atom + 5*atom->improper_per_atom; + + while (nlocal + nrecv/elements >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecFullKokkos_UnpackExchangeFunctor diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.cpp b/src/KOKKOS/atom_vec_molecular_kokkos.cpp index c4e75c1da7..123adedbdf 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.cpp +++ b/src/KOKKOS/atom_vec_molecular_kokkos.cpp @@ -1594,6 +1594,9 @@ int AtomVecMolecularKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,i ExecutionSpace space) { const size_t elements = 19+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom+ 5*atom->dihedral_per_atom + 5*atom->improper_per_atom; + + while (nlocal + nrecv/elements >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecMolecularKokkos_UnpackExchangeFunctor diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.cpp b/src/KOKKOS/atom_vec_sphere_kokkos.cpp index 0b722e8563..206d6c832c 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.cpp +++ b/src/KOKKOS/atom_vec_sphere_kokkos.cpp @@ -2341,6 +2341,8 @@ struct AtomVecSphereKokkos_UnpackExchangeFunctor { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,ExecutionSpace space) { + while (nlocal + nrecv/16 >= nmax) grow(0); + if (space == Host) { k_count.h_view(0) = nlocal; AtomVecSphereKokkos_UnpackExchangeFunctor f(atomKK,k_buf,k_count,dim,lo,hi); diff --git a/src/KOKKOS/atom_vec_spin_kokkos.cpp b/src/KOKKOS/atom_vec_spin_kokkos.cpp index 039c08f31c..7722241756 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.cpp +++ b/src/KOKKOS/atom_vec_spin_kokkos.cpp @@ -863,6 +863,8 @@ struct AtomVecSpinKokkos_UnpackExchangeFunctor { int AtomVecSpinKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv, int nlocal,int dim,X_FLOAT lo,X_FLOAT hi, ExecutionSpace space) { + while (nlocal + nrecv/15 >= nmax) grow(0); + if(space == Host) { k_count.h_view(0) = nlocal; AtomVecSpinKokkos_UnpackExchangeFunctor f(atomKK,k_buf,k_count,dim,lo,hi); From 192c80826b0597a6021a0dbcb6998a285964456d Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 28 Jun 2022 08:51:23 -0600 Subject: [PATCH 113/153] Fix small memory leak in SNAP --- src/ML-SNAP/pair_snap.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/ML-SNAP/pair_snap.cpp b/src/ML-SNAP/pair_snap.cpp index 07a8237ab5..7c6e0a8b5d 100644 --- a/src/ML-SNAP/pair_snap.cpp +++ b/src/ML-SNAP/pair_snap.cpp @@ -63,11 +63,8 @@ PairSNAP::~PairSNAP() memory->destroy(radelem); memory->destroy(wjelem); memory->destroy(coeffelem); - - if (switchinnerflag) { - memory->destroy(sinnerelem); - memory->destroy(dinnerelem); - } + memory->destroy(sinnerelem); + memory->destroy(dinnerelem); memory->destroy(beta); memory->destroy(bispectrum); From f497afa7638f4af4f33086bf9b01a2f295284f6a Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 28 Jun 2022 08:51:42 -0600 Subject: [PATCH 114/153] Small tweaks --- src/KOKKOS/min_kokkos.cpp | 8 ++++++-- src/KOKKOS/verlet_kokkos.cpp | 5 ----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/KOKKOS/min_kokkos.cpp b/src/KOKKOS/min_kokkos.cpp index 8dc7b68287..7fe690c823 100644 --- a/src/KOKKOS/min_kokkos.cpp +++ b/src/KOKKOS/min_kokkos.cpp @@ -79,6 +79,8 @@ void MinKokkos::setup(int flag) } update->setupflag = 1; + lmp->kokkos->auto_sync = 1; + // setup extra global dof due to fixes // cannot be done in init() b/c update init() is before modify init() @@ -170,7 +172,7 @@ void MinKokkos::setup(int flag) } else if (force->pair) force->pair->compute_dummy(eflag,vflag); - if (atomKK->molecular) { + if (atom->molecular != Atom::ATOMIC) { if (force->bond) { atomKK->sync(force->bond->execution_space,force->bond->datamask_read); force->bond->compute(eflag,vflag); @@ -242,6 +244,8 @@ void MinKokkos::setup_minimal(int flag) // acquire ghosts // build neighbor lists + lmp->kokkos->auto_sync = 1; + if (flag) { modify->setup_pre_exchange(); if (triclinic) domain->x2lamda(atom->nlocal); @@ -277,7 +281,7 @@ void MinKokkos::setup_minimal(int flag) } else if (force->pair) force->pair->compute_dummy(eflag,vflag); - if (atomKK->molecular) { + if (atom->molecular != Atom::ATOMIC) { if (force->bond) { atomKK->sync(force->bond->execution_space,force->bond->datamask_read); force->bond->compute(eflag,vflag); diff --git a/src/KOKKOS/verlet_kokkos.cpp b/src/KOKKOS/verlet_kokkos.cpp index 1816415b47..573a6118b9 100644 --- a/src/KOKKOS/verlet_kokkos.cpp +++ b/src/KOKKOS/verlet_kokkos.cpp @@ -282,8 +282,6 @@ void VerletKokkos::run(int n) f_merge_copy = DAT::t_f_array("VerletKokkos::f_merge_copy",atomKK->k_f.extent(0)); atomKK->sync(Device,ALL_MASK); - //static double time = 0.0; - //Kokkos::Timer ktimer; timer->init_timeout(); for (int i = 0; i < n; i++) { @@ -297,10 +295,8 @@ void VerletKokkos::run(int n) // initial time integration - //ktimer.reset(); timer->stamp(); modify->initial_integrate(vflag); - //time += ktimer.seconds(); if (n_post_integrate) modify->post_integrate(); timer->stamp(Timer::MODIFY); @@ -445,7 +441,6 @@ void VerletKokkos::run(int n) if (pair_compute_flag) { atomKK->sync(force->pair->execution_space,force->pair->datamask_read); atomKK->sync(force->pair->execution_space,~(~force->pair->datamask_read|(F_MASK | ENERGY_MASK | VIRIAL_MASK))); - Kokkos::Timer ktimer; force->pair->compute(eflag,vflag); atomKK->modified(force->pair->execution_space,force->pair->datamask_modify); atomKK->modified(force->pair->execution_space,~(~force->pair->datamask_modify|(F_MASK | ENERGY_MASK | VIRIAL_MASK))); From a279ab38603e5c12e5c5cceb64ee856515f66491 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 28 Jun 2022 11:32:48 -0600 Subject: [PATCH 115/153] Prevent view bounds error when a proc has no atoms --- src/KOKKOS/npair_kokkos.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/KOKKOS/npair_kokkos.cpp b/src/KOKKOS/npair_kokkos.cpp index 5be91fed4a..a1f8fcbf48 100644 --- a/src/KOKKOS/npair_kokkos.cpp +++ b/src/KOKKOS/npair_kokkos.cpp @@ -153,6 +153,9 @@ void NPairKokkos::build(NeighList *list_) int nall = nlocal; if (GHOST) nall += atom->nghost; + + if (nall == 0) return; + list->grow(nall); NeighborKokkosExecute From ae1a33aa5afd455b798179e5ab3c3044518acc36 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 13:36:49 -0400 Subject: [PATCH 116/153] update unit test --- unittest/cplusplus/test_lammps_class.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index d25bf43656..64ce1eefb1 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -83,8 +83,8 @@ TEST_F(LAMMPS_plain, InitMembers) EXPECT_STREQ(lmp->exename, "LAMMPS_test"); EXPECT_EQ(lmp->num_package, 0); - EXPECT_EQ(lmp->clientserver, 0); + EXPECT_EQ(lmp->mdicomm, nullptr); EXPECT_EQ(lmp->kokkos, nullptr); EXPECT_EQ(lmp->atomKK, nullptr); EXPECT_EQ(lmp->memoryKK, nullptr); @@ -218,8 +218,8 @@ TEST_F(LAMMPS_omp, InitMembers) EXPECT_STREQ(lmp->exename, "LAMMPS_test"); EXPECT_EQ(lmp->num_package, 1); - EXPECT_EQ(lmp->clientserver, 0); + EXPECT_EQ(lmp->mdicomm, nullptr); EXPECT_EQ(lmp->kokkos, nullptr); EXPECT_EQ(lmp->atomKK, nullptr); EXPECT_EQ(lmp->memoryKK, nullptr); @@ -302,12 +302,12 @@ TEST_F(LAMMPS_kokkos, InitMembers) EXPECT_STREQ(lmp->exename, "LAMMPS_test"); EXPECT_EQ(lmp->num_package, 0); - EXPECT_EQ(lmp->clientserver, 0); if (Info::has_accelerator_feature("KOKKOS", "api", "openmp")) EXPECT_EQ(lmp->comm->nthreads, 2); else EXPECT_EQ(lmp->comm->nthreads, 1); + EXPECT_EQ(lmp->mdicomm, nullptr); EXPECT_NE(lmp->kokkos, nullptr); EXPECT_NE(lmp->atomKK, nullptr); EXPECT_NE(lmp->memoryKK, nullptr); From 7aabbba7fffaa7215ca621b3098725c34dfc770e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 13:37:33 -0400 Subject: [PATCH 117/153] whitespace --- doc/src/fix_mdi_qm.rst | 2 +- src/MDI/fix_mdi_qm.cpp | 22 +++++++++++----------- src/MDI/mdi_command.cpp | 4 ++-- src/MDI/mdi_engine.cpp | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index a00f6e2edc..a6c2b6c744 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -141,7 +141,7 @@ directory. See its README file for more details. (1) To run an ab initio MD (AIMD) dynamics simulation, or an energy minimization with QM forces, or a multi-replica NEB calculation, use *add yes* and *every 1* (the defaults). This is so that every time -LAMMPS needs energy and forces, the QM code will be invoked. +LAMMPS needs energy and forces, the QM code will be invoked. Both LAMMPS and the QM code should define the same system (simulation box, atoms and their types) in their respective input scripts. Note diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 1c725a0871..db1c59ada9 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -33,7 +33,7 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { // check requirements for LAMMPS to work with MDI as an engine - if (atom->tag_enable == 0) + if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); if (atom->natoms && atom->tag_consecutive() == 0) error->all(FLERR, "MDI engine requires consecutive atom IDs"); @@ -201,7 +201,7 @@ void FixMDIQM::init() // this fix makes one-time connection to engine if (connectflag) { - + // if MDI's mdicomm not set, need to Accept_comm() with stand-alone engine // othewise are already connected to plugin engine @@ -210,24 +210,24 @@ void FixMDIQM::init() if (mdicomm == MDI_COMM_NULL) { plugin = 0; MDI_Accept_communicator(&mdicomm); - if (mdicomm == MDI_COMM_NULL) + if (mdicomm == MDI_COMM_NULL) error->all(FLERR, "MDI unable to connect to stand-alone engine"); } else { plugin = 1; int method; MDI_Get_method(&method, mdicomm); - if (method != MDI_PLUGIN) + if (method != MDI_PLUGIN) error->all(FLERR, "MDI internal error for plugin engine"); } - + // connection should have been already made by "mdi connect" command // only works for stand-alone engines } else { plugin = 0; - if (lmp->mdicomm == nullptr) + if (lmp->mdicomm == nullptr) error->all(FLERR,"Fix mdi/qm is not connected to engine via mdi connect"); int nbytes = sizeof(MDI_Comm); @@ -424,7 +424,7 @@ void FixMDIQM::reallocate() bigint nsize = atom->natoms * 3; if (nsize > MAXSMALLINT) error->all(FLERR, "Natoms too large to use with fix mdi/qm"); - + maxbuf = static_cast (atom->natoms); memory->destroy(ibuf1); memory->destroy(buf3); @@ -447,10 +447,10 @@ void FixMDIQM::send_types() // use local atomID to index into ordered ibuf1 - tagint *tag = atom->tag; + tagint *tag = atom->tag; int *type = atom->type; int nlocal = atom->nlocal; - + int index; for (int i = 0; i < nlocal; i++) { index = static_cast(tag[i]) - 1; @@ -476,10 +476,10 @@ void FixMDIQM::send_elements() // use local atomID to index into ordered ibuf1 - tagint *tag = atom->tag; + tagint *tag = atom->tag; int *type = atom->type; int nlocal = atom->nlocal; - + int index; for (int i = 0; i < nlocal; i++) { index = static_cast(tag[i]) - 1; diff --git a/src/MDI/mdi_command.cpp b/src/MDI/mdi_command.cpp index 96ba839dfc..42d8b2691a 100644 --- a/src/MDI/mdi_command.cpp +++ b/src/MDI/mdi_command.cpp @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; mdi command: engine or plugin or connect or exit engine is used when LAMMPS is an MDI engine, to start listening for requests plugin is used when LAMMPS is an MDI driver to load a plugin library - connect and exit are used when LAMMPS is an MDI driver to + connect and exit are used when LAMMPS is an MDI driver to (a) connect = setup comm with a stand-alone MDI engine (b) exit = terminate comm with a stand-alone MDI engine ---------------------------------------------------------------------- */ @@ -51,7 +51,7 @@ void MDICommand::command(int narg, char **arg) if (mdicomm == MDI_COMM_NULL) { MDI_Accept_communicator(&mdicomm); - if (mdicomm == MDI_COMM_NULL) + if (mdicomm == MDI_COMM_NULL) error->all(FLERR, "MDI unable to connect to stand-alone engine"); } else error->all(FLERR, "Cannot use mdi connect with plugin engine"); diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 79bfbe097e..91774659ff 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -101,7 +101,7 @@ MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char ** arg) : Pointers(_lmp) for (int i = 1; i < ntypes; i++) for (int j = i+1; j <= ntypes; j++) { if (elements[i] == 0 || elements[j] == 0) continue; - if (elements[i] == elements[j]) + if (elements[i] == elements[j]) error->all(FLERR,"MDI engine element cannot map to multiple types"); } } @@ -1227,7 +1227,7 @@ void MDIEngine::receive_elements() break; } } - if (itype > ntypes) + if (itype > ntypes) error->all(FLERR,"MDI element not found in element list"); } } From 56cb2f3077a814a4035cdc7cf05175408e89e558 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 13:44:41 -0400 Subject: [PATCH 118/153] update external library version and md5sum --- cmake/Modules/Packages/MDI.cmake | 4 ++-- lib/mdi/Install.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/Modules/Packages/MDI.cmake b/cmake/Modules/Packages/MDI.cmake index 88859f0285..90188f91a8 100644 --- a/cmake/Modules/Packages/MDI.cmake +++ b/cmake/Modules/Packages/MDI.cmake @@ -8,8 +8,8 @@ option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an al if(DOWNLOAD_MDI) message(STATUS "MDI download requested - we will build our own") - set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.3.2.tar.gz" CACHE STRING "URL for MDI tarball") - set(MDI_MD5 "836f5da400d8cff0f0e4435640f9454f" CACHE STRING "MD5 checksum for MDI tarball") + set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.1.tar.gz" CACHE STRING "URL for MDI tarball") + set(MDI_MD5 "f9505fccd4c79301a619f6452dad4ad9" CACHE STRING "MD5 checksum for MDI tarball") mark_as_advanced(MDI_URL) mark_as_advanced(MDI_MD5) enable_language(C) diff --git a/lib/mdi/Install.py b/lib/mdi/Install.py index 48d4952f9b..940a49555c 100644 --- a/lib/mdi/Install.py +++ b/lib/mdi/Install.py @@ -39,7 +39,7 @@ url = "https://github.com/MolSSI-MDI/MDI_Library/archive/v%s.tar.gz" % version # known checksums for different MDI versions. used to validate the download. checksums = { \ - '1.3.2' : '836f5da400d8cff0f0e4435640f9454f', \ + '1.4.1' : 'f9505fccd4c79301a619f6452dad4ad9', \ } # print error message or help From 03962ba0f4c73f88bbbb05279eeab7940c162be9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 13:55:48 -0400 Subject: [PATCH 119/153] fix spelling in MDI docs --- doc/src/Howto_mdi.rst | 2 +- doc/src/Packages_details.rst | 2 +- doc/src/fix_mdi_qm.rst | 14 +++++++------- doc/src/mdi.rst | 8 ++++---- doc/utils/sphinx-config/false_positives.txt | 6 ++++++ 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index 578f98e61e..14bef1a546 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -72,7 +72,7 @@ either a stand-alone code or a plugin library. As explained on the `fix mdi/qm ` command doc page, it can be used to perform *ab initio* MD simulations or energy minimizations, -or to evalute the quantum energy and forces for a series of +or to evaluate the quantum energy and forces for a series of independent systems. The examples/mdi directory has example input scripts for all of these use cases. diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 65bab0e5a2..59922bd939 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1479,7 +1479,7 @@ the :doc:`Build extras ` page. * lib/mdi/README * :doc:`Howto MDI ` * :doc:`mdi ` -* :doc:`fix mdi/aimd ` +* :doc:`fix mdi/qm ` * examples/PACKAGES/mdi ---------- diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index a6c2b6c744..ca47db5e7a 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -57,9 +57,9 @@ explained below. These are example use cases for this fix, discussed further below: -* perform an ab intitio MD (AIMD) simulation with quantum forces -* perform an energy minimziation with quantum forces -* perform a nudged elatic band (NEB) calculation with quantum forces +* perform an ab initio MD (AIMD) simulation with quantum forces +* perform an energy minimization with quantum forces +* perform a nudged elastic band (NEB) calculation with quantum forces * perform a QM calculation for a series of independent systems which LAMMPS reads or generates The code coupling performed by this command is done via the `MDI @@ -71,7 +71,7 @@ information about how LAMMPS can operate as either an MDI driver or engine. The examples/mdi directory contains input scripts using this fix in -the various use cases dicussed below. In each case, two instances of +the various use cases discussed below. In each case, two instances of LAMMPS are used, once as an MDI driver, once as an MDI engine (surrogate for a QM code). The examples/mdi/README file explains how to launch two codes so that they communicate via the MDI library using @@ -157,7 +157,7 @@ atom coordinates. The engine code computes quantum forces on each atom and the total energy of the system and returns them to LAMMPS. Note that if the AIMD simulation is an NPT or NPH model, or the energy -minimization includesf :doc:`fix box relax ` to +minimization includes :doc:`fix box relax ` to equilibrate the box size/shape, then LAMMPS computes a pressure. This means the *virial* keyword should be set to *yes* so that the QM contribution to the pressure can be included. @@ -172,7 +172,7 @@ atom coordinates and QM forces to a file. Likewise the QM energy and virial could be output with the :doc:`thermo_style custom ` command. -(3) To do a QM evaulation of energy and forces for a series of *N* +(3) To do a QM evaluation of energy and forces for a series of *N* independent systems (simulation box and atoms), use *add no* and *every 1*. Write a LAMMPS input script which loops over the *N* systems. See the :doc:`Howto multiple ` doc page for @@ -180,7 +180,7 @@ details on looping and removing old systems. The series of systems could be initialized by reading them from data files with :doc:`read_data ` commands. Or, for example, by using the :doc:`lattice ` , :doc:`create_atoms `, -:doc:`delete_atoms `, and/or :doc:`displace_atoms +:doc:`delete_atoms `, and/or :doc:`displace_atoms random ` commands to generate a series of different systems. At the end of the loop perform :doc:`run 0 ` and :doc:`write_dump ` commands to invoke the QM code and diff --git a/doc/src/mdi.rst b/doc/src/mdi.rst index 2591b3ea16..b5ee0098bd 100644 --- a/doc/src/mdi.rst +++ b/doc/src/mdi.rst @@ -326,15 +326,15 @@ able to initiate and terminate the connection to the engine code. The only current MDI driver command in LAMMPS is the :doc:`fix mdi/qm ` command. If it is only used once in an input script then it can initiate and terminate the connection. But if it is being -issuedd multiple times, e.g. in a loop that issues a :doc:`clear -` command, then it cannot initiate/terminate the connection +issued multiple times, e.g. in a loop that issues a :doc:`clear +` command, then it cannot initiate or terminate the connection multiple times. Instead, the *mdi connect* and *mdi exit* commands -should be used outside the loop to intiate/terminate the connection. +should be used outside the loop to initiate or terminate the connection. See the examples/mdi/in.series.driver script for an example of how this is done. The LOOP in that script is reading a series of data file configurations and passing them to an MDI engine (e.g. quantum -code) for enery and force evaluation. A *clear* command inside the +code) for energy and force evaluation. A *clear* command inside the loop wipes out the current system so a new one can be defined. This operation also destroys all fixes. So the :doc:`fix mdi/qm ` command is issued once per loop iteration. Note that it diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index abc6b47ccd..77a1da6643 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -3679,13 +3679,19 @@ vx Vx vxcm vxmu +vxx +vxy +vxz vy Vy vycm +vyy +vyz vz Vz vzcm vzi +vzz Waals Wadley wallstyle From 56e120702403425e6fcfc93714e426725ef24d5a Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 28 Jun 2022 12:03:34 -0600 Subject: [PATCH 120/153] Add missing GPU <--> CPU data transfer in minimize Kokkos --- src/KOKKOS/min_cg_kokkos.cpp | 2 ++ src/KOKKOS/min_kokkos.cpp | 3 +++ src/KOKKOS/min_linesearch_kokkos.cpp | 11 ++++++----- src/KOKKOS/pair_snap_kokkos_impl.h | 2 +- src/KOKKOS/pair_zbl_kokkos.cpp | 5 +++-- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/KOKKOS/min_cg_kokkos.cpp b/src/KOKKOS/min_cg_kokkos.cpp index 32f97437c7..53c4031f9b 100644 --- a/src/KOKKOS/min_cg_kokkos.cpp +++ b/src/KOKKOS/min_cg_kokkos.cpp @@ -49,6 +49,8 @@ int MinCGKokkos::iterate(int maxiter) fix_minimize_kk->k_vectors.sync(); fix_minimize_kk->k_vectors.modify(); + atomKK->sync(Device,F_MASK); + // nlimit = max # of CG iterations before restarting // set to ndoftotal unless too big diff --git a/src/KOKKOS/min_kokkos.cpp b/src/KOKKOS/min_kokkos.cpp index 7fe690c823..9aebd80d2e 100644 --- a/src/KOKKOS/min_kokkos.cpp +++ b/src/KOKKOS/min_kokkos.cpp @@ -580,6 +580,7 @@ void MinKokkos::force_clear() double MinKokkos::fnorm_sqr() { + atomKK->sync(Device,F_MASK); double local_norm2_sqr = 0.0; { @@ -608,6 +609,7 @@ double MinKokkos::fnorm_sqr() double MinKokkos::fnorm_inf() { + atomKK->sync(Device,F_MASK); double local_norm_inf = 0.0; { @@ -636,6 +638,7 @@ double MinKokkos::fnorm_inf() double MinKokkos::fnorm_max() { + atomKK->sync(Device,F_MASK); double local_norm_max = 0.0; { diff --git a/src/KOKKOS/min_linesearch_kokkos.cpp b/src/KOKKOS/min_linesearch_kokkos.cpp index 2fad14f3b4..cb97a34e50 100644 --- a/src/KOKKOS/min_linesearch_kokkos.cpp +++ b/src/KOKKOS/min_linesearch_kokkos.cpp @@ -111,9 +111,6 @@ void MinLineSearchKokkos::reset_vectors() x0 = fix_minimize_kk->request_vector_kokkos(0); g = fix_minimize_kk->request_vector_kokkos(1); h = fix_minimize_kk->request_vector_kokkos(2); - - auto h_fvec = Kokkos::create_mirror_view(fvec); - Kokkos::deep_copy(h_fvec,fvec); } /* ---------------------------------------------------------------------- @@ -181,6 +178,8 @@ int MinLineSearchKokkos::linemin_quadratic(double eoriginal, double &alpha) fix_minimize_kk->k_vectors.sync(); fix_minimize_kk->k_vectors.modify(); + atomKK->sync(Device,X_MASK|F_MASK); + // fdothall = projection of search dir along downhill gradient // if search direction is not downhill, exit with error @@ -364,8 +363,8 @@ double MinLineSearchKokkos::alpha_step(double alpha, int resetflag) // reset to starting point if (nextra_global) modify->min_step(0.0,hextra); - atomKK->k_x.clear_sync_state(); // ignore if host positions since device - // positions will be reset below + atomKK->k_x.clear_sync_state(); // ignore if host positions modified since + // device positions will be reset below { // local variables for lambda capture @@ -409,6 +408,8 @@ double MinLineSearchKokkos::compute_dir_deriv(double &ff) double dot[2],dotall[2]; double fh; + atomKK->sync(Device,F_MASK); + // compute new fh, alpha, delfh s_double2 sdot; diff --git a/src/KOKKOS/pair_snap_kokkos_impl.h b/src/KOKKOS/pair_snap_kokkos_impl.h index 0656a1f9ee..d36497964e 100644 --- a/src/KOKKOS/pair_snap_kokkos_impl.h +++ b/src/KOKKOS/pair_snap_kokkos_impl.h @@ -139,7 +139,7 @@ template void PairSNAPKokkos::compute(int eflag_in, int vflag_in) { if (host_flag) { - atomKK->sync(Host,X_MASK|TYPE_MASK); + atomKK->sync(Host,X_MASK|F_MASK|TYPE_MASK); PairSNAP::compute(eflag_in,vflag_in); atomKK->modified(Host,F_MASK); return; diff --git a/src/KOKKOS/pair_zbl_kokkos.cpp b/src/KOKKOS/pair_zbl_kokkos.cpp index 316c583717..e881196e5e 100644 --- a/src/KOKKOS/pair_zbl_kokkos.cpp +++ b/src/KOKKOS/pair_zbl_kokkos.cpp @@ -126,8 +126,6 @@ void PairZBLKokkos::compute(int eflag_in, int vflag_in) } atomKK->sync(execution_space,datamask_read); - if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); - else atomKK->modified(execution_space,F_MASK); x = atomKK->k_x.view(); f = atomKK->k_f.view(); @@ -177,6 +175,9 @@ void PairZBLKokkos::compute(int eflag_in, int vflag_in) } if (vflag_fdotr) pair_virial_fdotr_compute(this); + + if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); + else atomKK->modified(execution_space,F_MASK); } template From 373c719f4f7821d5a7a5da3fb092a97794dbd9f8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Jun 2022 15:22:54 -0400 Subject: [PATCH 121/153] make compilation settings consistent with CMake --- lib/mdi/Install.py | 6 +++--- lib/mdi/Makefile.g++ | 2 +- lib/mdi/Makefile.gcc | 2 +- lib/mdi/Makefile.icc | 2 +- lib/mdi/Makefile.mpi | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/mdi/Install.py b/lib/mdi/Install.py index 940a49555c..5452853b82 100644 --- a/lib/mdi/Install.py +++ b/lib/mdi/Install.py @@ -177,7 +177,7 @@ try: except: n_cpus = 1 -print("Building lib%s.so ..." % lib) +print("Building lib%s.a ..." % lib) cmd = "make -f Makefile.auto clean; make -f Makefile.auto -j%d" % n_cpus txt = subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT) print(txt.decode('UTF-8')) @@ -201,10 +201,10 @@ makefile_lammps.write(str(rpath_option) + "\n") makefile_lammps.close() -shared_files = glob.glob( os.path.join( homepath, "liblink", "lib%s.so*" % lib) ) +shared_files = glob.glob( os.path.join( homepath, "liblink", "lib%s.a" % lib) ) if len(shared_files) > 0: print("Build was successful") else: - error("Build of lib/%s/lib%s.so was NOT successful" % (lib,lib)) + error("Build of lib/%s/lib%s.a was NOT successful" % (lib,lib)) if has_extramake and not os.path.exists("Makefile.lammps"): print("lib/%s/Makefile.lammps was NOT created" % lib) diff --git a/lib/mdi/Makefile.g++ b/lib/mdi/Makefile.g++ index 15cc9c3a3b..41300f9992 100644 --- a/lib/mdi/Makefile.g++ +++ b/lib/mdi/Makefile.g++ @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -Dlanguage=CXX -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ ../MDI_Library; make + cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.gcc b/lib/mdi/Makefile.gcc index a67209202b..023c0e20df 100644 --- a/lib/mdi/Makefile.gcc +++ b/lib/mdi/Makefile.gcc @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -D CMAKE_C_COMPILER=gcc ../MDI_Library; make + cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=gcc ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.icc b/lib/mdi/Makefile.icc index eac6ba087f..8c5049561b 100644 --- a/lib/mdi/Makefile.icc +++ b/lib/mdi/Makefile.icc @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icc ../MDI_Library; make + cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icpc ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.mpi b/lib/mdi/Makefile.mpi index 0a40520c95..ce40bc9d4d 100644 --- a/lib/mdi/Makefile.mpi +++ b/lib/mdi/Makefile.mpi @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=SHARED -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx ../MDI_Library; make + cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx ../MDI_Library; make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ From 1fe7fdc7d6ffa2dc8c7108b1cca270c4f39728d4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 28 Jun 2022 15:04:10 -0600 Subject: [PATCH 122/153] Add more missing Kokkos data movement --- src/KOKKOS/min_kokkos.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/min_kokkos.cpp b/src/KOKKOS/min_kokkos.cpp index 9aebd80d2e..a590409c49 100644 --- a/src/KOKKOS/min_kokkos.cpp +++ b/src/KOKKOS/min_kokkos.cpp @@ -499,6 +499,7 @@ double MinKokkos::energy_force(int resetflag) if (force->newton) { comm->reverse_comm(); timer->stamp(Timer::COMM); + atomKK->sync(Device,F_MASK); } // update per-atom minimization variables stored by pair styles @@ -571,7 +572,7 @@ void MinKokkos::force_clear() } }); } - atomKK->modified(Device,F_MASK); + atomKK->modified(Device,F_MASK|TORQUE_MASK); } /* ---------------------------------------------------------------------- From ae235b1ef5a59da3bb5f4e2a83f40ab8072a0598 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 28 Jun 2022 16:19:06 -0600 Subject: [PATCH 123/153] Boolean expression corner case --- src/variable.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/variable.cpp b/src/variable.cpp index 7392379017..bcb42f0599 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -4775,7 +4775,7 @@ double Variable::evaluate_boolean(char *str) else argstack[nargstack].value = 0.0; } else if (opprevious == EQ) { if (flag1 != flag2) - error->all(FLERR,"Invalid Boolean syntax in if command"); + error->all(FLERR,"If command boolean comparing string to number"); if (flag2 == 0) { if (value1 == value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; @@ -4845,6 +4845,10 @@ double Variable::evaluate_boolean(char *str) if (nopstack) error->all(FLERR,"Invalid Boolean syntax in if command"); if (nargstack != 1) error->all(FLERR,"Invalid Boolean syntax in if command"); + + // if flag == 1, Boolean expression was a single string with no operator + + if (argstack[0].flag == 1) return 0.0; return argstack[0].value; } From e4e9b2e49ada676f19ffc63f962e4fbaa10ef940 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 28 Jun 2022 16:37:04 -0600 Subject: [PATCH 124/153] more consistency checks --- doc/src/if.rst | 32 ++++++++++++++++++++------------ src/variable.cpp | 31 ++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 23 deletions(-) diff --git a/doc/src/if.rst b/doc/src/if.rst index 08ec6f2c3e..2125e2f9a9 100644 --- a/doc/src/if.rst +++ b/doc/src/if.rst @@ -156,27 +156,28 @@ and Boolean operators: Each A and B is a number or string or a variable reference like $a or ${abc}, or A or B can be another Boolean expression. -If a variable is used it can produce a number when evaluated, like an -:doc:`equal-style variable `. Or it can produce a string, -like an :doc:`index-style variable `. For an individual -Boolean operator, A and B must both be numbers or must both be -strings. You cannot compare a number to a string. +Note that all variables used will be substituted for before the +Boolean expression in evaluated. A variable can produce a number, +like an :doc:`equal-style variable `. Or it can produce a +string, like an :doc:`index-style variable `. + +The Boolean operators "==" and "!=" can operate on a pair or strings +or numbers. They cannot compare a number to a string. All the other +Boolean operations can only operate on numbers. Expressions are evaluated left to right and have the usual C-style precedence: the unary logical NOT operator "!" has the highest precedence, the 4 relational operators "<", "<=", ">", and ">=" are next; the two remaining relational operators "==" and "!=" are next; then the logical AND operator "&&"; and finally the logical OR -operator "\|\|" and logical XOR (exclusive or) operator "\|\^" have the -lowest precedence. Parenthesis can be used to group one or more +operator "\|\|" and logical XOR (exclusive or) operator "\|\^" have +the lowest precedence. Parenthesis can be used to group one or more portions of an expression and/or enforce a different order of evaluation than what would occur with the default precedence. When the 6 relational operators (first 6 in list above) compare 2 numbers, they return either a 1.0 or 0.0 depending on whether the -relationship between A and B is TRUE or FALSE. When the 6 relational -operators compare 2 strings, they also return a 1.0 or 0.0 for TRUE or -FALSE, but the comparison is done by the C function strcmp(). +relationship between A and B is TRUE or FALSE. When the 3 logical operators (last 3 in list above) compare 2 numbers, they also return either a 1.0 or 0.0 depending on whether the @@ -190,8 +191,15 @@ returns 1.0 if its argument is 0.0, else it returns 0.0. The 3 logical operators can only be used to operate on numbers, not on strings. -The overall Boolean expression produces a TRUE result if the result is -non-zero. If the result is zero, the expression result is FALSE. +The overall Boolean expression produces a TRUE result if the numeric +result is non-zero. If the result is zero, the expression result is +FALSE. + +.. note:: + + If the Boolean expression is a single numeric value with no Boolean + operators, it will be FALSE if the value = 0.0, otherwise TRUE. If the + Boolean expression is a single string, it will always be FALSE. ---------- diff --git a/src/variable.cpp b/src/variable.cpp index bcb42f0599..9afc4d5c6a 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -4770,12 +4770,14 @@ double Variable::evaluate_boolean(char *str) } if (opprevious == NOT) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag2) + error->all(FLERR,"If command boolean not cannot operate on string"); if (value2 == 0.0) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; + } else if (opprevious == EQ) { if (flag1 != flag2) - error->all(FLERR,"If command boolean comparing string to number"); + error->all(FLERR,"If command boolean is comparing string to number"); if (flag2 == 0) { if (value1 == value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; @@ -4787,7 +4789,7 @@ double Variable::evaluate_boolean(char *str) } } else if (opprevious == NE) { if (flag1 != flag2) - error->all(FLERR,"Invalid Boolean syntax in if command"); + error->all(FLERR,"If command boolean is comparing string to number"); if (flag2 == 0) { if (value1 != value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; @@ -4797,32 +4799,39 @@ double Variable::evaluate_boolean(char *str) delete[] str1; delete[] str2; } + } else if (opprevious == LT) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); - if (value1 < value2) argstack[nargstack].value = 1.0; + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); else argstack[nargstack].value = 0.0; } else if (opprevious == LE) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 <= value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == GT) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 > value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == GE) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 >= value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == AND) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 != 0.0 && value2 != 0.0) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == OR) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 != 0.0 || value2 != 0.0) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == XOR) { - if (flag2) error->all(FLERR,"Invalid Boolean syntax in if command"); + if (flag1 || flag2) + error->all(FLERR,"If command boolean can only operate on numbers"); if ((value1 == 0.0 && value2 != 0.0) || (value1 != 0.0 && value2 == 0.0)) argstack[nargstack].value = 1.0; From 1dc71ef3e344beee9aa861babc9c21d237e23313 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 28 Jun 2022 16:38:51 -0600 Subject: [PATCH 125/153] better error strings --- src/variable.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/variable.cpp b/src/variable.cpp index 9afc4d5c6a..502d4d3312 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -4819,6 +4819,7 @@ double Variable::evaluate_boolean(char *str) error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 >= value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; + } else if (opprevious == AND) { if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); From 8d272db37a5f1eeacde71ad3a1bac58c811915fb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Jun 2022 05:14:04 -0400 Subject: [PATCH 126/153] whitespace --- src/KOKKOS/min_linesearch_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/min_linesearch_kokkos.cpp b/src/KOKKOS/min_linesearch_kokkos.cpp index cb97a34e50..76ea522fa8 100644 --- a/src/KOKKOS/min_linesearch_kokkos.cpp +++ b/src/KOKKOS/min_linesearch_kokkos.cpp @@ -363,7 +363,7 @@ double MinLineSearchKokkos::alpha_step(double alpha, int resetflag) // reset to starting point if (nextra_global) modify->min_step(0.0,hextra); - atomKK->k_x.clear_sync_state(); // ignore if host positions modified since + atomKK->k_x.clear_sync_state(); // ignore if host positions modified since // device positions will be reset below { // local variables for lambda capture From 1fabd5a56b62637d9f7070956952611689229b3b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 29 Jun 2022 07:49:22 -0600 Subject: [PATCH 127/153] change boolean = single string to an error --- doc/src/if.rst | 5 +++-- src/variable.cpp | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/src/if.rst b/doc/src/if.rst index 2125e2f9a9..91b001fbdc 100644 --- a/doc/src/if.rst +++ b/doc/src/if.rst @@ -198,8 +198,9 @@ FALSE. .. note:: If the Boolean expression is a single numeric value with no Boolean - operators, it will be FALSE if the value = 0.0, otherwise TRUE. If the - Boolean expression is a single string, it will always be FALSE. + operators, it will be FALSE if the value = 0.0, otherwise TRUE. If + the Boolean expression is a single string, an error message will be + issued. ---------- diff --git a/src/variable.cpp b/src/variable.cpp index 502d4d3312..31187f69dc 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -4857,8 +4857,11 @@ double Variable::evaluate_boolean(char *str) if (nargstack != 1) error->all(FLERR,"Invalid Boolean syntax in if command"); // if flag == 1, Boolean expression was a single string with no operator + // error b/c invalid, only single number with no operator is allowed + + if (argstack[0].flag == 1) + error->all(FLERR,"If command boolean cannot be single string"); - if (argstack[0].flag == 1) return 0.0; return argstack[0].value; } From 793069d8eb240c028578ef8e6c508dc09dddda79 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Jun 2022 12:24:43 -0400 Subject: [PATCH 128/153] update and expand unit tests for if() command boolean evaluation --- unittest/commands/test_variables.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index 0533de7329..35bab69c7d 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -389,6 +389,8 @@ TEST_F(VariableTest, IfCommand) { BEGIN_HIDE_OUTPUT(); command("variable one index 1"); + command("variable two string xx"); + command("variable three equal 1"); END_HIDE_OUTPUT(); BEGIN_CAPTURE_OUTPUT(); @@ -444,7 +446,11 @@ TEST_F(VariableTest, IfCommand) BEGIN_CAPTURE_OUTPUT(); command("if x!=x|^a!=b then 'print \"bingo!\"'"); text = END_CAPTURE_OUTPUT(); + ASSERT_THAT(text, ContainsRegex(".*bingo!.*")); + BEGIN_CAPTURE_OUTPUT(); + command("if (${three}) then 'print \"bingo!\"'"); + text = END_CAPTURE_OUTPUT(); ASSERT_THAT(text, ContainsRegex(".*bingo!.*")); TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", @@ -455,8 +461,16 @@ TEST_F(VariableTest, IfCommand) command("if 1a then 'print \"bingo!\"'");); TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", command("if 1=<2 then 'print \"bingo!\"'");); - TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", + TEST_FAILURE(".*ERROR: If command boolean is comparing string to number.*", command("if 1!=a then 'print \"bingo!\"'");); + TEST_FAILURE(".*ERROR: If command boolean can only operate on numbers.*", + command("if ab then 'print \"bingo!\"'");); + TEST_FAILURE(".*ERROR: If command boolean can only operate on numbers.*", + command("if a<=b then 'print \"bingo!\"'");); + TEST_FAILURE(".*ERROR: If command boolean can only operate on numbers.*", + command("if a<=b then 'print \"bingo!\"'");); TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", command("if 1&<2 then 'print \"bingo!\"'");); TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", @@ -465,8 +479,14 @@ TEST_F(VariableTest, IfCommand) command("if (1)( then 'print \"bingo!\"'");); TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", command("if (1)1 then 'print \"bingo!\"'");); - TEST_FAILURE(".*ERROR: Invalid Boolean syntax in if command.*", + TEST_FAILURE(".*ERROR: If command boolean is comparing string to number.*", command("if (v_one==1.0)&&(2>=1) then 'print \"bingo!\"'");); + TEST_FAILURE(".*ERROR: If command boolean cannot be single string.*", + command("if (something) then 'print \"bingo!\"'");); + TEST_FAILURE(".*ERROR: If command boolean cannot be single string.*", + command("if (v_one) then 'print \"bingo!\"'");); + TEST_FAILURE(".*ERROR: If command boolean cannot be single string.*", + command("if (${two}) then 'print \"bingo!\"'");); } TEST_F(VariableTest, NextCommand) From 137dc6243e6817058698f0e1cec3f61172ad1f24 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Jun 2022 12:25:15 -0400 Subject: [PATCH 129/153] whitespace --- src/variable.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 31187f69dc..1c94356186 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -4770,7 +4770,7 @@ double Variable::evaluate_boolean(char *str) } if (opprevious == NOT) { - if (flag2) + if (flag2) error->all(FLERR,"If command boolean not cannot operate on string"); if (value2 == 0.0) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; @@ -4801,37 +4801,37 @@ double Variable::evaluate_boolean(char *str) } } else if (opprevious == LT) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); else argstack[nargstack].value = 0.0; } else if (opprevious == LE) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 <= value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == GT) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 > value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == GE) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 >= value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == AND) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 != 0.0 && value2 != 0.0) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == OR) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); if (value1 != 0.0 || value2 != 0.0) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == XOR) { - if (flag1 || flag2) + if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); if ((value1 == 0.0 && value2 != 0.0) || (value1 != 0.0 && value2 == 0.0)) @@ -4859,7 +4859,7 @@ double Variable::evaluate_boolean(char *str) // if flag == 1, Boolean expression was a single string with no operator // error b/c invalid, only single number with no operator is allowed - if (argstack[0].flag == 1) + if (argstack[0].flag == 1) error->all(FLERR,"If command boolean cannot be single string"); return argstack[0].value; From f273a28a2a625618c959890395479ca5c339f0a9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Jun 2022 12:26:16 -0400 Subject: [PATCH 130/153] whitespace --- src/KOKKOS/min_linesearch_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/min_linesearch_kokkos.cpp b/src/KOKKOS/min_linesearch_kokkos.cpp index cb97a34e50..76ea522fa8 100644 --- a/src/KOKKOS/min_linesearch_kokkos.cpp +++ b/src/KOKKOS/min_linesearch_kokkos.cpp @@ -363,7 +363,7 @@ double MinLineSearchKokkos::alpha_step(double alpha, int resetflag) // reset to starting point if (nextra_global) modify->min_step(0.0,hextra); - atomKK->k_x.clear_sync_state(); // ignore if host positions modified since + atomKK->k_x.clear_sync_state(); // ignore if host positions modified since // device positions will be reset below { // local variables for lambda capture From 8d8f7983fb92f72842e881152dd5ff51c31c3d75 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Jun 2022 16:45:11 -0400 Subject: [PATCH 131/153] fix bug in recent bugfix --- src/variable.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/variable.cpp b/src/variable.cpp index 1c94356186..878066f466 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -4803,6 +4803,7 @@ double Variable::evaluate_boolean(char *str) } else if (opprevious == LT) { if (flag1 || flag2) error->all(FLERR,"If command boolean can only operate on numbers"); + if (value1 < value2) argstack[nargstack].value = 1.0; else argstack[nargstack].value = 0.0; } else if (opprevious == LE) { if (flag1 || flag2) From 533a56404a275907d269d76a733d21ca4a75a58a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Jun 2022 16:45:28 -0400 Subject: [PATCH 132/153] add more unit tests for boolean expressions --- unittest/commands/test_variables.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index 35bab69c7d..29b985927d 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -403,11 +403,36 @@ TEST_F(VariableTest, IfCommand) text = END_CAPTURE_OUTPUT(); ASSERT_THAT(text, ContainsRegex(".*nope\?.*")); + BEGIN_CAPTURE_OUTPUT(); + command("if 0<1 then 'print \"bingo!\"'"); + text = END_CAPTURE_OUTPUT(); + ASSERT_THAT(text, ContainsRegex(".*bingo!.*")); + + BEGIN_CAPTURE_OUTPUT(); + command("if 2<1 then 'print \"bingo!\"' else 'print \"nope?\"'"); + text = END_CAPTURE_OUTPUT(); + ASSERT_THAT(text, ContainsRegex(".*nope\?.*")); + BEGIN_CAPTURE_OUTPUT(); command("if (1<=0) then 'print \"bingo!\"' else 'print \"nope?\"'"); text = END_CAPTURE_OUTPUT(); ASSERT_THAT(text, ContainsRegex(".*nope\?.*")); + BEGIN_CAPTURE_OUTPUT(); + command("if (0<=0) then 'print \"bingo!\"' else 'print \"nope?\"'"); + text = END_CAPTURE_OUTPUT(); + ASSERT_THAT(text, ContainsRegex(".*bingo!.*")); + + BEGIN_CAPTURE_OUTPUT(); + command("if (0>=1) then 'print \"bingo!\"' else 'print \"nope?\"'"); + text = END_CAPTURE_OUTPUT(); + ASSERT_THAT(text, ContainsRegex(".*nope\?.*")); + + BEGIN_CAPTURE_OUTPUT(); + command("if (1>=1) then 'print \"bingo!\"' else 'print \"nope?\"'"); + text = END_CAPTURE_OUTPUT(); + ASSERT_THAT(text, ContainsRegex(".*bingo!.*")); + BEGIN_CAPTURE_OUTPUT(); command("if (-1.0e-1<0.0E+0)|^(1<0) then 'print \"bingo!\"'"); text = END_CAPTURE_OUTPUT(); From aebf53679e6b28d6cbcee61a2f97094da8d5466b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 30 Jun 2022 11:17:13 -0600 Subject: [PATCH 133/153] add Python/MDI info the examples/mdi/README --- examples/mdi/README | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/examples/mdi/README b/examples/mdi/README index 4976e33f00..6ce83afe94 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -30,9 +30,29 @@ cd src make yes-mdi make mode=shlib mpi -To use the serial_driver.py example you will need Python 3 with Numpy -and mpi4py available in your Python. Make sure LAMMPS and Python are -using same the same version of MPI. +------------------------------------------------- + +Examples 4 and 5 that use Python scripts as MDI drivers. For this you +will need Python 3 with Numpy and mpi4py installed. Make sure LAMMPS +and Python/mpi4py are using same the same version of MPI. + +You will also need MDI installed in your Python. You cannot use the +LAMMPS build of the MDI library for this, b/c LAMMPS builds MDI as a +static library, not shared, which Python requires. + +You can install MDI in your Python via conda: + +% conda install -c conda-forge pymdi=1.4.1 + +or via pip: + +% pip install pymdi==1.4.1 + +It is likely fine to leave off the version number, to get the latest +MDI version. But to be safe, 1.4.1 is the version LAMMPS is currently +using. + +------------------------------------------------- 5 example use-cases are explained below. @@ -40,7 +60,6 @@ In the first 3 examples, results running with MDI should be identical to running without MDI (alone log files). Example #4 has no non-MDI run. Example #5 results should match the non-MDI run of example #1. -------------------------------------------------- ------------------------------------------------- * Example #1 = run ab initio MD (AIMD) From d1d51636a7cf9439606be730f265e7c9b6f22b04 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 30 Jun 2022 11:19:38 -0600 Subject: [PATCH 134/153] fix typo --- examples/mdi/README | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/mdi/README b/examples/mdi/README index 6ce83afe94..0b74fb9c48 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -32,9 +32,9 @@ make mode=shlib mpi ------------------------------------------------- -Examples 4 and 5 that use Python scripts as MDI drivers. For this you -will need Python 3 with Numpy and mpi4py installed. Make sure LAMMPS -and Python/mpi4py are using same the same version of MPI. +Examples 4 and 5 use Python scripts as MDI drivers. For this you will +need Python 3 with Numpy and mpi4py installed. Make sure LAMMPS and +Python/mpi4py are using same the same version of MPI. You will also need MDI installed in your Python. You cannot use the LAMMPS build of the MDI library for this, b/c LAMMPS builds MDI as a From e34e9aca48336071ae01ffe8a891baf79339b6a8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 30 Jun 2022 15:45:52 -0400 Subject: [PATCH 135/153] improve consistency between CMake and GNU make build. Must explicitly link python when building a static mdi lib --- cmake/Modules/Packages/MDI.cmake | 3 ++- examples/mdi/README | 9 +++++---- lib/mdi/Makefile.g++ | 18 ------------------ lib/mdi/Makefile.gcc | 2 +- lib/mdi/Makefile.icc | 2 +- lib/mdi/Makefile.lammps.empty | 8 +++++--- lib/mdi/Makefile.mpi | 2 +- 7 files changed, 15 insertions(+), 29 deletions(-) delete mode 100644 lib/mdi/Makefile.g++ diff --git a/cmake/Modules/Packages/MDI.cmake b/cmake/Modules/Packages/MDI.cmake index 90188f91a8..1a14d5273a 100644 --- a/cmake/Modules/Packages/MDI.cmake +++ b/cmake/Modules/Packages/MDI.cmake @@ -44,7 +44,7 @@ if(DOWNLOAD_MDI) ExternalProject_Add(mdi_build URL ${MDI_URL} URL_MD5 ${MDI_MD5} - CMAKE_ARGS ${CMAKE_REQUEST_PIC} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} @@ -54,6 +54,7 @@ if(DOWNLOAD_MDI) -Dlanguage=C -Dlibtype=STATIC -Dmpi=${MDI_USE_MPI} + -Dplugins=ON -Dpython_plugins=${MDI_USE_PYTHON_PLUGINS} UPDATE_COMMAND "" INSTALL_COMMAND "" diff --git a/examples/mdi/README b/examples/mdi/README index 0b74fb9c48..c6267a7abb 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -2,10 +2,11 @@ These are examples that work the MDI package in LAMMPS which uses the MolSSI MDI library for coupling codes together and communicating between them with MDI messages. -In MDI lingo, one code is the driver and another code is the engine. -The 2 codes can be written in any language; C++ (LAMMPS) and Python -are illustrated here. The 2 codes can each be stand-alone codes, in -which case they can be run on different numbers of processors. The 2 +Within the MDI context, one code is the driver and another code is +the engine. The 2 codes can be written in any language; C++ (LAMMPS) +and Python are illustrated here. The 2 codes can each be stand-alone +codes, in which case they can be run on different numbers of processors. +The 2 codes can communicate either via TCP (sockets) or via MPI. For the TCP case, the driver and engine need to be launched separately, e.g. in 2 windows on your desktop machine. For the MPI case, a single diff --git a/lib/mdi/Makefile.g++ b/lib/mdi/Makefile.g++ deleted file mode 100644 index 41300f9992..0000000000 --- a/lib/mdi/Makefile.g++ +++ /dev/null @@ -1,18 +0,0 @@ -SHELL = /bin/sh - -# which file will be copied to Makefile.lammps - -EXTRAMAKE = Makefile.lammps.empty - -# ------ MAKE PROCEDURE ------ - -lib: $(OBJ) - mkdir -p build - cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ ../MDI_Library; make - @cp $(EXTRAMAKE) Makefile.lammps - -# ------ CLEAN ------ - -clean: - -rm *.o *.h $(LIB) - -rm -r build diff --git a/lib/mdi/Makefile.gcc b/lib/mdi/Makefile.gcc index 023c0e20df..3653f77a2f 100644 --- a/lib/mdi/Makefile.gcc +++ b/lib/mdi/Makefile.gcc @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=gcc ../MDI_Library; make + cd build && cmake -D libtype=STATIC -D language=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D mpi=ON -D plugins=ON -D python_plugins=ON -D CMAKE_C_COMPILER=gcc ../MDI_Library && make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.icc b/lib/mdi/Makefile.icc index 8c5049561b..615ebf9070 100644 --- a/lib/mdi/Makefile.icc +++ b/lib/mdi/Makefile.icc @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icpc ../MDI_Library; make + cd build && cmake -D libtype=STATIC -D language=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D mpi=ON -D plugins=ON -D python_plugins=ON -D CMAKE_C_COMPILER=icc ../MDI_Library && make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ diff --git a/lib/mdi/Makefile.lammps.empty b/lib/mdi/Makefile.lammps.empty index 3aabe162d2..01c8fe0b70 100644 --- a/lib/mdi/Makefile.lammps.empty +++ b/lib/mdi/Makefile.lammps.empty @@ -1,5 +1,7 @@ # Settings that the LAMMPS build will import when this package library is used -mdi_SYSINC = -mdi_SYSLIB = -mdi_SYSPATH = \ No newline at end of file +mdi_python_SYSLIB = $(shell which python3-config > /dev/null 2>&1 && python3-config --ldflags --embed > /dev/null 2>&1 && python3-config --ldflags --embed || (which python3-config > /dev/null 2>&1 && python3-config --ldflags || :) ) + +mdi_SYSINC = +mdi_SYSLIB = $(mdi_python_SYSLIB) +mdi_SYSPATH = diff --git a/lib/mdi/Makefile.mpi b/lib/mdi/Makefile.mpi index ce40bc9d4d..4274f3e0e8 100644 --- a/lib/mdi/Makefile.mpi +++ b/lib/mdi/Makefile.mpi @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.empty lib: $(OBJ) mkdir -p build - cd build; cmake -Dlibtype=STATIC -Dlanguage=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx ../MDI_Library; make + cd build && cmake -D libtype=STATIC -D language=C -D CMAKE_POSITION_INDEPENDENT_CODE=yes -D mpi=ON -D plugins=ON -D python_plugins=ON -D CMAKE_C_COMPILER=mpicc ../MDI_Library && make @cp $(EXTRAMAKE) Makefile.lammps # ------ CLEAN ------ From ff56f75fca7537d48a1393ea23b0c4e036fd9557 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 30 Jun 2022 15:57:47 -0400 Subject: [PATCH 136/153] abort when there was an error writing to the dump file --- src/dump.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dump.cpp b/src/dump.cpp index a354be4f04..22750ed05c 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -332,6 +332,7 @@ void Dump::write() // if file per timestep, open new file if (multifile) openfile(); + if (fp) clearerr(fp); // simulation box bounds @@ -519,6 +520,8 @@ void Dump::write() if (filewriter && fp != nullptr) write_footer(); + if (fp && ferror(fp)) error->one(FLERR,"Error writing dump {}: {}", id, utils::getsyserror()); + // if file per timestep, close file if I am filewriter if (multifile) { From b6f7dd9df93d47f5fbd8aed82ce84fda8850bb74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 30 Jun 2022 11:00:36 -0400 Subject: [PATCH 137/153] update googletest to version 1.12.1 --- unittest/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt index a015ee6856..28b3e1c1cd 100644 --- a/unittest/CMakeLists.txt +++ b/unittest/CMakeLists.txt @@ -5,8 +5,8 @@ ######################################## # download and build googletest framework message(STATUS "Downloading and building googletest framework") -set(GTEST_URL "https://github.com/google/googletest/archive/8d51dc50eb7e7698427fed81b85edad0e032112e.tar.gz" CACHE STRING "URL of googletest source") -set(GTEST_MD5 "bc33f94adf48a91051dc195077f7e8dc" CACHE STRING "MD5 sum for googletest source") +set(GTEST_URL "https://github.com/google/googletest/archive/release-1.12.1.tar.gz" CACHE STRING "URL of googletest source") +set(GTEST_MD5 "e82199374acdfda3f425331028eb4e2a" CACHE STRING "MD5 sum for googletest source") mark_as_advanced(GTEST_URL) mark_as_advanced(GTEST_MD5) set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) From 4ff683a3ca73046882a5e0d6a18c6ce8c26131ac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 30 Jun 2022 23:53:57 -0400 Subject: [PATCH 138/153] MPI may need to include multiple folders (e.g. on Ubuntu with OpenMPI) --- cmake/Modules/Packages/ML-HDNNP.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/ML-HDNNP.cmake b/cmake/Modules/Packages/ML-HDNNP.cmake index f52d7ca6f3..71f024aedd 100644 --- a/cmake/Modules/Packages/ML-HDNNP.cmake +++ b/cmake/Modules/Packages/ML-HDNNP.cmake @@ -44,7 +44,9 @@ if(DOWNLOAD_N2P2) else() # get path to MPI include directory get_target_property(N2P2_MPI_INCLUDE MPI::MPI_CXX INTERFACE_INCLUDE_DIRECTORIES) - set(N2P2_PROJECT_OPTIONS "-I${N2P2_MPI_INCLUDE}") + foreach (_INCL ${N2P2_MPI_INCLUDE}) + set(N2P2_PROJECT_OPTIONS "${N2P2_PROJECT_OPTIONS} -I${_INCL}") + endforeach() endif() # prefer GNU make, if available. N2P2 lib seems to need it. From 940cbe31330455e18f3ac8ec7f273acc7645fade Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 30 Jun 2022 11:27:56 -0600 Subject: [PATCH 139/153] Updated timestamp for local array --- src/ML-SNAP/compute_sna_grid_local.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ML-SNAP/compute_sna_grid_local.cpp b/src/ML-SNAP/compute_sna_grid_local.cpp index 80a1baddab..76fe03a03b 100644 --- a/src/ML-SNAP/compute_sna_grid_local.cpp +++ b/src/ML-SNAP/compute_sna_grid_local.cpp @@ -203,7 +203,7 @@ void ComputeSNAGridLocal::init() void ComputeSNAGridLocal::compute_local() { - invoked_array = update->ntimestep; + invoked_local = update->ntimestep; // compute sna for each gridpoint From 41bb5850b3cce4bb821ff14e649eb904ca16ea11 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 30 Jun 2022 17:27:17 -0600 Subject: [PATCH 140/153] Fixed temperature in argon GK example --- doc/src/Howto_viscosity.rst | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/src/Howto_viscosity.rst b/doc/src/Howto_viscosity.rst index 5cabf63de3..94be9589e0 100644 --- a/doc/src/Howto_viscosity.rst +++ b/doc/src/Howto_viscosity.rst @@ -65,10 +65,11 @@ liquid Ar via the GK formalism: .. code-block:: LAMMPS - # Sample LAMMPS input script for viscosity of liquid Ar +# Sample LAMMPS input script for viscosity of liquid Ar units real - variable T equal 86.4956 + variable T equal 200.0 # run temperature + variable Tinit equal 250.0 # equilibration temperature variable V equal vol variable dt equal 4.0 variable p equal 400 # correlation length @@ -99,12 +100,14 @@ liquid Ar via the GK formalism: # equilibration and thermalization - velocity all create $T 102486 mom yes rot yes dist gaussian - fix NVT all nvt temp $T $T 10 drag 0.2 + velocity all create ${Tinit} 102486 mom yes rot yes dist gaussian + fix NVT all nvt temp ${Tinit} ${Tinit} 10 drag 0.2 run 8000 # viscosity calculation, switch to NVE if desired + velocity all create $T 102486 mom yes rot yes dist gaussian + #fix NVT all nvt temp $T $T 10 drag 0.2 #unfix NVT #fix NVE all nve @@ -113,12 +116,13 @@ liquid Ar via the GK formalism: variable pxz equal pxz variable pyz equal pyz fix SS all ave/correlate $s $p $d & - v_pxy v_pxz v_pyz type auto file S0St.dat ave running + v_pxy v_pxz v_pyz type auto file S0St.dat ave running variable scale equal ${convert}/(${kB}*$T)*$V*$s*${dt} variable v11 equal trap(f_SS[3])*${scale} variable v22 equal trap(f_SS[4])*${scale} variable v33 equal trap(f_SS[5])*${scale} - thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 + compute msd all msd com yes + thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 c_msd[*] run 100000 variable v equal (v_v11+v_v22+v_v33)/3.0 variable ndens equal count(all)/vol From 6a813bba692b323786e75b4c9a00be140f31a68e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Jul 2022 04:36:49 -0400 Subject: [PATCH 141/153] restore bikflag parsing and initialization that was removed in commit 44436c0eb662fb4e396c8496354bbe59b04e3f31 --- src/ML-SNAP/compute_snap.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index d1f75f8382..12a5167b2d 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -57,6 +57,7 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : switchflag = 1; bzeroflag = 1; quadraticflag = 0; + bikflag = 0; chemflag = 0; bnormflag = 0; wselfallflag = 0; @@ -73,11 +74,9 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : twojmax = utils::inumeric(FLERR, arg[5], false, lmp); for (int i = 0; i < ntypes; i++) - radelem[i + 1] = - utils::numeric(FLERR, arg[6 + i], false, lmp); + radelem[i + 1] = utils::numeric(FLERR, arg[6 + i], false, lmp); for (int i = 0; i < ntypes; i++) - wjelem[i + 1] = - utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); + wjelem[i + 1] = utils::numeric(FLERR, arg[6 + ntypes + i], false, lmp); // construct cutsq @@ -139,6 +138,10 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); wselfallflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; + } else if (strcmp(arg[iarg], "bikflag") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); + bikflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + iarg += 2; } else if (strcmp(arg[iarg], "switchinnerflag") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal compute {} command", style); switchinnerflag = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); From 0157a7d0d37f88b55afd94ef8aee3bfc87714e6b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Jul 2022 05:49:07 -0400 Subject: [PATCH 142/153] make certain to switch to the expected source folder when building n2p2 lib --- cmake/Modules/Packages/ML-HDNNP.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/ML-HDNNP.cmake b/cmake/Modules/Packages/ML-HDNNP.cmake index 71f024aedd..f71d08f3ab 100644 --- a/cmake/Modules/Packages/ML-HDNNP.cmake +++ b/cmake/Modules/Packages/ML-HDNNP.cmake @@ -77,7 +77,7 @@ if(DOWNLOAD_N2P2) UPDATE_COMMAND "" CONFIGURE_COMMAND "" PATCH_COMMAND sed -i -e "s/\\(MPI_\\(P\\|Unp\\)ack(\\)/\\1(void *) /" src/libnnpif/LAMMPS/InterfaceLammps.cpp - BUILD_COMMAND ${N2P2_MAKE} -f makefile libnnpif ${N2P2_BUILD_OPTIONS} + BUILD_COMMAND ${N2P2_MAKE} -C /src -f makefile libnnpif ${N2P2_BUILD_OPTIONS} BUILD_ALWAYS YES INSTALL_COMMAND "" BUILD_IN_SOURCE 1 From 957a8c85a91e2880809d79fb9c60eb039798d7c9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Jul 2022 09:26:23 -0400 Subject: [PATCH 143/153] formatting corrections and minor tweaks to the Argon viscosity howto --- doc/src/Howto_viscosity.rst | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/doc/src/Howto_viscosity.rst b/doc/src/Howto_viscosity.rst index 94be9589e0..3c97628179 100644 --- a/doc/src/Howto_viscosity.rst +++ b/doc/src/Howto_viscosity.rst @@ -65,7 +65,7 @@ liquid Ar via the GK formalism: .. code-block:: LAMMPS -# Sample LAMMPS input script for viscosity of liquid Ar + # Sample LAMMPS input script for viscosity of liquid Ar units real variable T equal 200.0 # run temperature @@ -107,7 +107,7 @@ liquid Ar via the GK formalism: # viscosity calculation, switch to NVE if desired velocity all create $T 102486 mom yes rot yes dist gaussian - #fix NVT all nvt temp $T $T 10 drag 0.2 + fix NVT all nvt temp $T $T 10 drag 0.2 #unfix NVT #fix NVE all nve @@ -116,17 +116,16 @@ liquid Ar via the GK formalism: variable pxz equal pxz variable pyz equal pyz fix SS all ave/correlate $s $p $d & - v_pxy v_pxz v_pyz type auto file S0St.dat ave running + v_pxy v_pxz v_pyz type auto file S0St.dat ave running variable scale equal ${convert}/(${kB}*$T)*$V*$s*${dt} variable v11 equal trap(f_SS[3])*${scale} variable v22 equal trap(f_SS[4])*${scale} variable v33 equal trap(f_SS[5])*${scale} - compute msd all msd com yes - thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 c_msd[*] + thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 run 100000 variable v equal (v_v11+v_v22+v_v33)/3.0 variable ndens equal count(all)/vol - print "average viscosity: $v [Pa.s] @ $T K, ${ndens} /A^3" + print "average viscosity: $v [Pa.s] @ $T K, ${ndens} atoms/A^3" The fifth method is related to the above Green-Kubo method, but uses the Einstein formulation, analogous to the Einstein @@ -135,9 +134,9 @@ time-integrated momentum fluxes play the role of Cartesian coordinates, whose mean-square displacement increases linearly with time at sufficiently long times. -The sixth is periodic perturbation method. It is also a non-equilibrium MD method. -However, instead of measure the momentum flux in response of applied velocity gradient, -it measures the velocity profile in response of applied stress. +The sixth is the periodic perturbation method, which is also a non-equilibrium MD method. +However, instead of measuring the momentum flux in response to an applied velocity gradient, +it measures the velocity profile in response to applied stress. A cosine-shaped periodic acceleration is added to the system via the :doc:`fix accelerate/cos ` command, and the :doc:`compute viscosity/cos` command is used to monitor the From ae7215037d5e4601bb8d2563548290cab8acb131 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 1 Jul 2022 11:20:51 -0600 Subject: [PATCH 144/153] Finish porting pair MEAM to Kokkos --- doc/src/Commands_pair.rst | 2 +- doc/src/package.rst | 18 +- doc/src/pair_meam.rst | 9 + src/KOKKOS/Install.sh | 16 +- src/KOKKOS/comm_kokkos.cpp | 82 +++- src/KOKKOS/comm_kokkos.h | 2 + src/KOKKOS/kokkos.cpp | 27 +- src/KOKKOS/kokkos.h | 2 + src/KOKKOS/kokkos_base.h | 4 + src/KOKKOS/math_special_kokkos.cpp | 251 ++++++++--- src/KOKKOS/math_special_kokkos.h | 221 ++++++++-- src/KOKKOS/meam_dens_final_kokkos.h | 267 +++++------- src/KOKKOS/meam_dens_init_kokkos.h | 646 +++++++++++++++------------- src/KOKKOS/meam_force_kokkos.h | 374 ++++++++-------- src/KOKKOS/meam_funcs_kokkos.h | 182 ++++---- src/KOKKOS/meam_impl_kokkos.h | 17 +- src/KOKKOS/meam_kokkos.h | 136 +++--- src/KOKKOS/meam_setup_done_kokkos.h | 97 ++--- src/KOKKOS/pair_meam_kokkos.cpp | 625 ++++++++++++++++----------- src/KOKKOS/pair_meam_kokkos.h | 133 ++---- src/MEAM/meam.h | 8 +- src/MEAM/meam_impl.cpp | 3 + src/MEAM/pair_meam.cpp | 3 +- src/MEAM/pair_meam.h | 2 +- src/pair.cpp | 1 + src/pair.h | 1 + 26 files changed, 1806 insertions(+), 1323 deletions(-) diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index f902b40b29..11334ea2d1 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -194,7 +194,7 @@ OPT. * :doc:`lubricateU/poly ` * :doc:`mdpd ` * :doc:`mdpd/rhosum ` - * :doc:`meam ` + * :doc:`meam (k) ` * :doc:`meam/spline (o) ` * :doc:`meam/sw/spline ` * :doc:`mesocnt ` diff --git a/doc/src/package.rst b/doc/src/package.rst index 8f9a65b2cc..6ff34515cf 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -71,7 +71,7 @@ Syntax *no_affinity* values = none *kokkos* args = keyword value ... zero or more keyword/value pairs may be appended - keywords = *neigh* or *neigh/qeq* or *neigh/thread* or *newton* or *binsize* or *comm* or *comm/exchange* or *comm/forward* *comm/pair/forward* *comm/fix/forward* or *comm/reverse* or *gpu/aware* or *pair/only* + keywords = *neigh* or *neigh/qeq* or *neigh/thread* or *newton* or *binsize* or *comm* or *comm/exchange* or *comm/forward* *comm/pair/forward* *comm/fix/forward* or *comm/reverse* or *comm/pair/reverse* or *gpu/aware* or *pair/only* *neigh* value = *full* or *half* full = full neighbor list half = half neighbor list built in thread-safe manner @@ -96,6 +96,7 @@ Syntax *comm/pair/forward* value = *no* or *device* *comm/fix/forward* value = *no* or *device* *comm/reverse* value = *no* or *host* or *device* + *comm/pair/reverse* value = *no* or *device* no = perform communication pack/unpack in non-KOKKOS mode host = perform pack/unpack on host (e.g. with OpenMP threading) device = perform pack/unpack on device (e.g. on GPU) @@ -500,7 +501,7 @@ rule of thumb may give too large a binsize and the default should be overridden with a smaller value. The *comm* and *comm/exchange* and *comm/forward* and *comm/pair/forward* -and *comm/fix/forward* and comm/reverse* +and *comm/fix/forward* and *comm/reverse* and *comm/pair/reverse* keywords determine whether the host or device performs the packing and unpacking of data when communicating per-atom data between processors. "Exchange" communication happens only on timesteps that neighbor lists @@ -521,9 +522,16 @@ packing/unpacking data for the communication. A value of *host* means to use the host, typically a multi-core CPU, and perform the packing/unpacking in parallel with threads. A value of *device* means to use the device, typically a GPU, to perform the packing/unpacking -operation. If a value of *host* is used for the *comm/pair/forward* or -*comm/fix/forward* keyword, it will be automatically be changed to *no* -since these keywords don't support *host* mode. +operation. + +For the *comm/pair/forward* or *comm/fix/forward* or *comm/pair/reverse* +keywords, if a value of *host* is used it will be automatically +be changed to *no* since these keywords don't support *host* mode. The +value of *no* will also always be used when running on the CPU, i.e. setting +the value to *device* will have no effect if the pair/fix style is +running on the CPU. For the *comm/fix/forward* or *comm/pair/reverse* +keywords, not all styles support *device* mode and in that case will run +in *no* mode instead. The optimal choice for these keywords depends on the input script and the hardware used. The *no* value is useful for verifying that the diff --git a/doc/src/pair_meam.rst b/doc/src/pair_meam.rst index afa89e10ca..eac8449b21 100644 --- a/doc/src/pair_meam.rst +++ b/doc/src/pair_meam.rst @@ -1,8 +1,11 @@ .. index:: pair_style meam +.. index:: pair_style meam/kk pair_style meam command ========================= +Accelerator Variants: *meam/kk* + Syntax """""" @@ -347,6 +350,12 @@ Most published MEAM parameter sets use the default values *attrac* = *repulse* = Setting *repuls* = *attrac* = *delta* corresponds to the form used in several recent published MEAM parameter sets, such as :ref:`(Valone) ` +---------- + +.. include:: accel_styles.rst + +---------- + .. note:: The default form of the *erose* expression in LAMMPS was corrected diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 952f21e403..314205ea3e 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -182,6 +182,13 @@ action kokkos_base.h action kokkos_base_fft.h fft3d.h action kokkos_few.h action kokkos_type.h +action meam_kokkos.h meam.h +action meam_dens_final_kokkos.h meam_dens_final.cpp +action meam_dens_init_kokkos.h meam_dens_init.cpp +action meam_force_kokkos.h meam_force.cpp +action meam_funcs_kokkos.h meam_funcs.cpp +action meam_impl_kokkos.h meam_impl.cpp +action meam_setup_done_kokkos.h meam_setup_done.cpp action memory_kokkos.h action modify_kokkos.cpp action modify_kokkos.h @@ -207,13 +214,6 @@ action nbin_ssa_kokkos.cpp nbin_ssa.cpp action nbin_ssa_kokkos.h nbin_ssa.h action math_special_kokkos.cpp action math_special_kokkos.h -action meam_setup_done_kokkos.h meam_setup_done.cpp -action meam_kokkos.h meam.h -action meam_impl_kokkos.h meam_impl.cpp -action meam_funcs_kokkos.h meam_funcs.cpp -action meam_force_kokkos.h meam_force.cpp -action meam_dens_init_kokkos.h meam_dens_init.cpp -action meam_dens_final_kokkos.h meam_dens_final.cpp action min_cg_kokkos.cpp action min_cg_kokkos.h action min_kokkos.cpp @@ -294,8 +294,8 @@ action pair_lj_gromacs_kokkos.cpp pair_lj_gromacs.cpp action pair_lj_gromacs_kokkos.h pair_lj_gromacs.h action pair_lj_sdk_kokkos.cpp pair_lj_sdk.cpp action pair_lj_sdk_kokkos.h pair_lj_sdk.h -action pair_meam_kokkos.h pair_meam.h action pair_meam_kokkos.cpp pair_meam.cpp +action pair_meam_kokkos.h pair_meam.h action pair_morse_kokkos.cpp action pair_morse_kokkos.h action pair_multi_lucy_rx_kokkos.cpp pair_multi_lucy_rx.cpp diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 4883838273..fea5864225 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -109,6 +109,7 @@ void CommKokkos::init() exchange_comm_classic = lmp->kokkos->exchange_comm_classic; forward_comm_classic = lmp->kokkos->forward_comm_classic; forward_pair_comm_classic = lmp->kokkos->forward_pair_comm_classic; + reverse_pair_comm_classic = lmp->kokkos->reverse_pair_comm_classic; forward_fix_comm_classic = lmp->kokkos->forward_fix_comm_classic; reverse_comm_classic = lmp->kokkos->reverse_comm_classic; exchange_comm_on_host = lmp->kokkos->exchange_comm_on_host; @@ -478,12 +479,13 @@ void CommKokkos::forward_comm_device(Pair *pair) int nsize = pair->comm_forward; KokkosBase* pairKKBase = dynamic_cast(pair); + int nmax = max_buf_pair; for (iswap = 0; iswap < nswap; iswap++) { - int n = MAX(max_buf_pair,nsize*sendnum[iswap]); - n = MAX(n,nsize*recvnum[iswap]); - if (n > max_buf_pair) - grow_buf_pair(n); + nmax = MAX(nmax,nsize*sendnum[iswap]); + nmax = MAX(nmax,nsize*recvnum[iswap]); } + if (nmax > max_buf_pair) + grow_buf_pair(nmax); for (iswap = 0; iswap < nswap; iswap++) { @@ -545,8 +547,76 @@ void CommKokkos::grow_buf_fix(int n) { void CommKokkos::reverse_comm(Pair *pair) { - k_sendlist.sync(); - CommBrick::reverse_comm(pair); + if (pair->execution_space == Host || !pair->reverse_comm_device || reverse_pair_comm_classic) { + k_sendlist.sync(); + CommBrick::reverse_comm(pair); + } else { + k_sendlist.sync(); + reverse_comm_device(pair); + } +} + +template +void CommKokkos::reverse_comm_device(Pair *pair) +{ + int iswap,n; + MPI_Request request; + DAT::tdual_xfloat_1d k_buf_tmp; + + KokkosBase* pairKKBase = dynamic_cast(pair); + + int nsize = MAX(pair->comm_reverse,pair->comm_reverse_off); + + int nmax = max_buf_pair; + for (iswap = 0; iswap < nswap; iswap++) { + nmax = MAX(nmax,nsize*sendnum[iswap]); + nmax = MAX(nmax,nsize*recvnum[iswap]); + } + if (nmax > max_buf_pair) + grow_buf_pair(nmax); + + for (iswap = nswap-1; iswap >= 0; iswap--) { + + // pack buffer + + n = pairKKBase->pack_reverse_comm_kokkos(recvnum[iswap],firstrecv[iswap],k_buf_send_pair); + DeviceType().fence(); + + // exchange with another proc + // if self, set recv buffer to send buffer + + double* buf_send_pair; + double* buf_recv_pair; + if (lmp->kokkos->gpu_aware_flag) { + buf_send_pair = k_buf_send_pair.view().data(); + buf_recv_pair = k_buf_recv_pair.view().data(); + } else { + k_buf_send_pair.modify(); + k_buf_send_pair.sync(); + buf_send_pair = k_buf_send_pair.h_view.data(); + buf_recv_pair = k_buf_recv_pair.h_view.data(); + } + + if (sendproc[iswap] != me) { + if (sendnum[iswap]) + MPI_Irecv(buf_recv_pair,nsize*sendnum[iswap],MPI_DOUBLE,sendproc[iswap],0,world,&request); + if (recvnum[iswap]) + MPI_Send(buf_send_pair,n,MPI_DOUBLE,recvproc[iswap],0,world); + if (sendnum[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); + + if (!lmp->kokkos->gpu_aware_flag) { + k_buf_recv_pair.modify(); + k_buf_recv_pair.sync(); + } + k_buf_tmp = k_buf_recv_pair; + } else k_buf_tmp = k_buf_send_pair; + + // unpack buffer + + pairKKBase->unpack_reverse_comm_kokkos(sendnum[iswap],k_sendlist, + iswap,k_buf_tmp); + DeviceType().fence(); + } } void CommKokkos::forward_comm(Dump *dump) diff --git a/src/KOKKOS/comm_kokkos.h b/src/KOKKOS/comm_kokkos.h index 3fcce82e2c..80736c1f92 100644 --- a/src/KOKKOS/comm_kokkos.h +++ b/src/KOKKOS/comm_kokkos.h @@ -27,6 +27,7 @@ class CommKokkos : public CommBrick { bool exchange_comm_classic; bool forward_comm_classic; bool forward_pair_comm_classic; + bool reverse_pair_comm_classic; bool forward_fix_comm_classic; bool reverse_comm_classic; bool exchange_comm_on_host; @@ -58,6 +59,7 @@ class CommKokkos : public CommBrick { template void forward_comm_device(int dummy); template void reverse_comm_device(); template void forward_comm_device(Pair *pair); + template void reverse_comm_device(Pair *pair); template void forward_comm_device(Fix *fix, int size=0); template void exchange_device(); template void borders_device(); diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 18f05fa281..3ecce0d75d 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -91,6 +91,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_changed = 0; forward_comm_changed = 0; forward_pair_comm_changed = 0; + reverse_pair_comm_changed = 0; forward_fix_comm_changed = 0; reverse_comm_changed = 0; @@ -239,7 +240,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) newtonflag = 0; exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; - forward_pair_comm_classic = forward_fix_comm_classic = 0; + forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } else { @@ -253,7 +254,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) newtonflag = 1; exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 1; - forward_pair_comm_classic = forward_fix_comm_classic = 1; + forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 1; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } @@ -394,17 +395,17 @@ void KokkosLMP::accelerator(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); if (strcmp(arg[iarg+1],"no") == 0) { exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 1; - forward_pair_comm_classic = forward_fix_comm_classic = 1; + forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 1; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } else if (strcmp(arg[iarg+1],"host") == 0) { exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; - forward_pair_comm_classic = forward_fix_comm_classic = 1; + forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 1; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 1; } else if (strcmp(arg[iarg+1],"device") == 0) { exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; - forward_pair_comm_classic = forward_fix_comm_classic = 0; + forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } else error->all(FLERR,"Illegal package kokkos command"); @@ -441,6 +442,14 @@ void KokkosLMP::accelerator(int narg, char **arg) else error->all(FLERR,"Illegal package kokkos command"); forward_pair_comm_changed = 0; iarg += 2; + } else if (strcmp(arg[iarg],"comm/pair/reverse") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); + if (strcmp(arg[iarg+1],"no") == 0) reverse_pair_comm_classic = 1; + else if (strcmp(arg[iarg+1],"host") == 0) reverse_pair_comm_classic = 1; + else if (strcmp(arg[iarg+1],"device") == 0) reverse_pair_comm_classic = 0; + else error->all(FLERR,"Illegal package kokkos command"); + reverse_pair_comm_changed = 0; + iarg += 2; } else if (strcmp(arg[iarg],"comm/fix/forward") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); if (strcmp(arg[iarg+1],"no") == 0) forward_fix_comm_classic = 1; @@ -515,6 +524,10 @@ void KokkosLMP::accelerator(int narg, char **arg) forward_pair_comm_classic = 1; forward_pair_comm_changed = 1; } + if (reverse_pair_comm_classic == 0) { + reverse_pair_comm_classic = 1; + reverse_pair_comm_changed = 1; + } if (forward_fix_comm_classic == 0) { forward_fix_comm_classic = 1; forward_fix_comm_changed = 1; @@ -540,6 +553,10 @@ void KokkosLMP::accelerator(int narg, char **arg) forward_pair_comm_classic = 0; forward_pair_comm_changed = 0; } + if (reverse_pair_comm_changed) { + reverse_pair_comm_classic = 0; + reverse_pair_comm_changed = 0; + } if (forward_fix_comm_changed) { forward_fix_comm_classic = 0; forward_fix_comm_changed = 0; diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 07d172e524..1cecd69c5f 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -30,6 +30,7 @@ class KokkosLMP : protected Pointers { int exchange_comm_classic; int forward_comm_classic; int forward_pair_comm_classic; + int reverse_pair_comm_classic; int forward_fix_comm_classic; int reverse_comm_classic; int exchange_comm_on_host; @@ -38,6 +39,7 @@ class KokkosLMP : protected Pointers { int exchange_comm_changed; int forward_comm_changed; int forward_pair_comm_changed; + int reverse_pair_comm_changed; int forward_fix_comm_changed; int reverse_comm_changed; int nthreads,ngpus; diff --git a/src/KOKKOS/kokkos_base.h b/src/KOKKOS/kokkos_base.h index f18d55eec2..c593f0ae60 100644 --- a/src/KOKKOS/kokkos_base.h +++ b/src/KOKKOS/kokkos_base.h @@ -29,6 +29,10 @@ class KokkosBase { int, int *) {return 0;}; virtual void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d &) {} + virtual int pack_reverse_comm_kokkos(int, int, DAT::tdual_xfloat_1d &) {return 0;}; + virtual void unpack_reverse_comm_kokkos(int, DAT::tdual_int_2d, + int, DAT::tdual_xfloat_1d &) {} + // Fix virtual int pack_forward_comm_fix_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d &, diff --git a/src/KOKKOS/math_special_kokkos.cpp b/src/KOKKOS/math_special_kokkos.cpp index 89f6586581..eca64fbb4e 100644 --- a/src/KOKKOS/math_special_kokkos.cpp +++ b/src/KOKKOS/math_special_kokkos.cpp @@ -1,11 +1,202 @@ // clang-format off - #include "math_special_kokkos.h" + #include -#include +#include // IWYU pragma: keep +#include using namespace LAMMPS_NS; +static constexpr int nmaxfactorial = 167; + +/* ---------------------------------------------------------------------- + factorial n table, size nmaxfactorial+1 +------------------------------------------------------------------------- */ + +static const double nfac_table[] = { + 1, + 1, + 2, + 6, + 24, + 120, + 720, + 5040, + 40320, + 362880, + 3628800, + 39916800, + 479001600, + 6227020800, + 87178291200, + 1307674368000, + 20922789888000, + 355687428096000, + 6.402373705728e+15, + 1.21645100408832e+17, + 2.43290200817664e+18, + 5.10909421717094e+19, + 1.12400072777761e+21, + 2.5852016738885e+22, + 6.20448401733239e+23, + 1.5511210043331e+25, + 4.03291461126606e+26, + 1.08888694504184e+28, + 3.04888344611714e+29, + 8.8417619937397e+30, + 2.65252859812191e+32, + 8.22283865417792e+33, + 2.63130836933694e+35, + 8.68331761881189e+36, + 2.95232799039604e+38, + 1.03331479663861e+40, + 3.71993326789901e+41, + 1.37637530912263e+43, + 5.23022617466601e+44, + 2.03978820811974e+46, + 8.15915283247898e+47, + 3.34525266131638e+49, + 1.40500611775288e+51, + 6.04152630633738e+52, + 2.65827157478845e+54, + 1.1962222086548e+56, + 5.50262215981209e+57, + 2.58623241511168e+59, + 1.24139155925361e+61, + 6.08281864034268e+62, + 3.04140932017134e+64, + 1.55111875328738e+66, + 8.06581751709439e+67, + 4.27488328406003e+69, + 2.30843697339241e+71, + 1.26964033536583e+73, + 7.10998587804863e+74, + 4.05269195048772e+76, + 2.35056133128288e+78, + 1.3868311854569e+80, + 8.32098711274139e+81, + 5.07580213877225e+83, + 3.14699732603879e+85, + 1.98260831540444e+87, + 1.26886932185884e+89, + 8.24765059208247e+90, + 5.44344939077443e+92, + 3.64711109181887e+94, + 2.48003554243683e+96, + 1.71122452428141e+98, + 1.19785716699699e+100, + 8.50478588567862e+101, + 6.12344583768861e+103, + 4.47011546151268e+105, + 3.30788544151939e+107, + 2.48091408113954e+109, + 1.88549470166605e+111, + 1.45183092028286e+113, + 1.13242811782063e+115, + 8.94618213078297e+116, + 7.15694570462638e+118, + 5.79712602074737e+120, + 4.75364333701284e+122, + 3.94552396972066e+124, + 3.31424013456535e+126, + 2.81710411438055e+128, + 2.42270953836727e+130, + 2.10775729837953e+132, + 1.85482642257398e+134, + 1.65079551609085e+136, + 1.48571596448176e+138, + 1.3520015276784e+140, + 1.24384140546413e+142, + 1.15677250708164e+144, + 1.08736615665674e+146, + 1.03299784882391e+148, + 9.91677934870949e+149, + 9.61927596824821e+151, + 9.42689044888324e+153, + 9.33262154439441e+155, + 9.33262154439441e+157, + 9.42594775983835e+159, + 9.61446671503512e+161, + 9.90290071648618e+163, + 1.02990167451456e+166, + 1.08139675824029e+168, + 1.14628056373471e+170, + 1.22652020319614e+172, + 1.32464181945183e+174, + 1.44385958320249e+176, + 1.58824554152274e+178, + 1.76295255109024e+180, + 1.97450685722107e+182, + 2.23119274865981e+184, + 2.54355973347219e+186, + 2.92509369349301e+188, + 3.3931086844519e+190, + 3.96993716080872e+192, + 4.68452584975429e+194, + 5.5745857612076e+196, + 6.68950291344912e+198, + 8.09429852527344e+200, + 9.8750442008336e+202, + 1.21463043670253e+205, + 1.50614174151114e+207, + 1.88267717688893e+209, + 2.37217324288005e+211, + 3.01266001845766e+213, + 3.8562048236258e+215, + 4.97450422247729e+217, + 6.46685548922047e+219, + 8.47158069087882e+221, + 1.118248651196e+224, + 1.48727070609069e+226, + 1.99294274616152e+228, + 2.69047270731805e+230, + 3.65904288195255e+232, + 5.01288874827499e+234, + 6.91778647261949e+236, + 9.61572319694109e+238, + 1.34620124757175e+241, + 1.89814375907617e+243, + 2.69536413788816e+245, + 3.85437071718007e+247, + 5.5502938327393e+249, + 8.04792605747199e+251, + 1.17499720439091e+254, + 1.72724589045464e+256, + 2.55632391787286e+258, + 3.80892263763057e+260, + 5.71338395644585e+262, + 8.62720977423323e+264, + 1.31133588568345e+267, + 2.00634390509568e+269, + 3.08976961384735e+271, + 4.78914290146339e+273, + 7.47106292628289e+275, + 1.17295687942641e+278, + 1.85327186949373e+280, + 2.94670227249504e+282, + 4.71472363599206e+284, + 7.59070505394721e+286, + 1.22969421873945e+289, + 2.0044015765453e+291, + 3.28721858553429e+293, + 5.42391066613159e+295, + 9.00369170577843e+297, + 1.503616514865e+300, // nmaxfactorial = 167 +}; + +/* ---------------------------------------------------------------------- + factorial n vial lookup from precomputed table +------------------------------------------------------------------------- */ + +double MathSpecialKokkos::factorial(const int n) +{ + if (n < 0 || n > nmaxfactorial) + return std::numeric_limits::quiet_NaN(); + + return nfac_table[n]; +} + + /* Library libcerf: * Compute complex error functions, based on a new implementation of * Faddeeva's w_of_z. Also provide Dawson and Voigt functions. @@ -477,59 +668,3 @@ double MathSpecialKokkos::erfcx_y100(const double y100) return 1.0; } /* erfcx_y100 */ -/* optimizer friendly implementation of exp2(x). - * - * strategy: - * - * split argument into an integer part and a fraction: - * ipart = floor(x+0.5); - * fpart = x - ipart; - * - * compute exp2(ipart) from setting the ieee754 exponent - * compute exp2(fpart) using a pade' approximation for x in [-0.5;0.5[ - * - * the result becomes: exp2(x) = exp2(ipart) * exp2(fpart) - */ - -/* IEEE 754 double precision floating point data manipulation */ -typedef union -{ - double f; - uint64_t u; - struct {int32_t i0,i1;} s; -} udi_t; - -static const double fm_exp2_q[] = { -/* 1.00000000000000000000e0, */ - 2.33184211722314911771e2, - 4.36821166879210612817e3 -}; -static const double fm_exp2_p[] = { - 2.30933477057345225087e-2, - 2.02020656693165307700e1, - 1.51390680115615096133e3 -}; - -double MathSpecialKokkos::exp2_x86(double x) -{ - double ipart, fpart, px, qx; - udi_t epart; - - ipart = floor(x+0.5); - fpart = x - ipart; - epart.s.i0 = 0; - epart.s.i1 = (((int) ipart) + 1023) << 20; - - x = fpart*fpart; - - px = fm_exp2_p[0]; - px = px*x + fm_exp2_p[1]; - qx = x + fm_exp2_q[0]; - px = px*x + fm_exp2_p[2]; - qx = qx*x + fm_exp2_q[1]; - - px = px * fpart; - - x = 1.0 + 2.0*(px/(qx-px)); - return epart.f*x; -} diff --git a/src/KOKKOS/math_special_kokkos.h b/src/KOKKOS/math_special_kokkos.h index f2d23a65eb..0264cb4134 100644 --- a/src/KOKKOS/math_special_kokkos.h +++ b/src/KOKKOS/math_special_kokkos.h @@ -1,4 +1,3 @@ -// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,98 +14,240 @@ #ifndef LMP_MATH_SPECIAL_KOKKOS_H #define LMP_MATH_SPECIAL_KOKKOS_H -#include #include "kokkos_type.h" +#include namespace LAMMPS_NS { namespace MathSpecialKokkos { + /*! Fast tabulated factorial function + * + * This function looks up pre-computed factorial values for arguments of n = 0 + * to a maximum of 167, which is the maximal value representable by a double + * precision floating point number. For other values of n a NaN value is returned. + * + * \param n argument (valid: 0 <= n <= 167) + * \return value of n! as double precision number or NaN */ + + extern double factorial(const int n); + + /* optimizer friendly implementation of exp2(x). + * + * strategy: + * + * split argument into an integer part and a fraction: + * ipart = floor(x+0.5); + * fpart = x - ipart; + * + * compute exp2(ipart) from setting the ieee754 exponent + * compute exp2(fpart) using a pade' approximation for x in [-0.5;0.5[ + * + * the result becomes: exp2(x) = exp2(ipart) * exp2(fpart) + */ + + /* IEEE 754 double precision floating point data manipulation */ + typedef union + { + double f; + uint64_t u; + struct {int32_t i0,i1;} s; + } udi_t; + + /* double precision constants */ + #define FM_DOUBLE_LOG2OFE 1.4426950408889634074 + + /*! Fast implementation of 2^x without argument checks for little endian CPUs + * + * This function implements an optimized version of pow(2.0, x) that does not + * check for valid arguments and thus may only be used where arguments are well + * behaved. The implementation makes assumptions about the layout of double + * precision floating point numbers in memory and thus will only work on little + * endian CPUs. If little endian cannot be safely detected, the result of + * calling pow(2.0, x) will be returned. This function also is the basis for + * the fast exponential fm_exp(x). + * + * \param x argument + * \return value of 2^x as double precision number */ + + KOKKOS_INLINE_FUNCTION + static double exp2_x86(double x) + { + #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + double ipart, fpart, px, qx; + udi_t epart; + + const double fm_exp2_q[2] = { + /* 1.00000000000000000000e0, */ + 2.33184211722314911771e2, + 4.36821166879210612817e3 + }; + const double fm_exp2_p[3] = { + 2.30933477057345225087e-2, + 2.02020656693165307700e1, + 1.51390680115615096133e3 + }; + + ipart = floor(x+0.5); + fpart = x - ipart; + epart.s.i0 = 0; + epart.s.i1 = (((int) ipart) + 1023) << 20; + + x = fpart*fpart; + + px = fm_exp2_p[0]; + px = px*x + fm_exp2_p[1]; + qx = x + fm_exp2_q[0]; + px = px*x + fm_exp2_p[2]; + qx = qx*x + fm_exp2_q[1]; + + px = px * fpart; + + x = 1.0 + 2.0*(px/(qx-px)); + return epart.f*x; + #else + return pow(2.0, x); + #endif + } + + /*! Fast implementation of exp(x) for little endian CPUs + * + * This function implements an optimized version of exp(x) for little endian CPUs. + * It calls the exp2_x86(x) function with a suitable prefactor to x to return exp(x). + * The implementation makes assumptions about the layout of double + * precision floating point numbers in memory and thus will only work on little + * endian CPUs. If little endian cannot be safely detected, the result of + * calling the exp(x) implementation in the standard math library will be returned. + * + * \param x argument + * \return value of e^x as double precision number */ + + KOKKOS_INLINE_FUNCTION + static double fm_exp(double x) + { + #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + if (x < -1022.0/FM_DOUBLE_LOG2OFE) return 0; + if (x > 1023.0/FM_DOUBLE_LOG2OFE) return INFINITY; + return exp2_x86(FM_DOUBLE_LOG2OFE * x); + #else + return ::exp(x); + #endif + } + // support function for scaled error function complement extern double erfcx_y100(const double y100); - // fast 2**x function without argument checks for little endian CPUs - extern double exp2_x86(double x); - - // scaled error function complement exp(x*x)*erfc(x) for coul/long styles + /*! Fast scaled error function complement exp(x*x)*erfc(x) for coul/long styles + * + * This is a portable fast implementation of exp(x*x)*erfc(x) that can be used + * in coul/long pair styles as a replacement for the polynomial expansion that + * is/was widely used. Unlike the polynomial expansion, that is only accurate + * at the level of single precision floating point it provides full double precision + * accuracy, but at comparable speed (unlike the erfc() implementation shipped + * with GNU standard math library). + * + * \param x argument + * \return value of e^(x*x)*erfc(x) */ static inline double my_erfcx(const double x) { - if (x >= 0.0) return erfcx_y100(400.0/(4.0+x)); - else return 2.0*exp(x*x) - erfcx_y100(400.0/(4.0-x)); + if (x >= 0.0) + return erfcx_y100(400.0 / (4.0 + x)); + else + return 2.0 * exp(x * x) - erfcx_y100(400.0 / (4.0 - x)); } - // exp(-x*x) for coul/long styles + /*! Fast implementation of exp(-x*x) for little endian CPUs for coul/long styles + * + * This function implements an optimized version of exp(-x*x) based on exp2_x86() + * for use with little endian CPUs. If little endian cannot be safely detected, + * the result of calling the exp(-x*x) implementation in the standard math + * library will be returned. + * + * \param x argument + * \return value of e^(-x*x) as double precision number */ static inline double expmsq(double x) { x *= x; - x *= 1.4426950408889634074; // log_2(e) -#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + x *= 1.4426950408889634074; // log_2(e) +#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ return (x < 1023.0) ? exp2_x86(-x) : 0.0; #else return (x < 1023.0) ? exp2(-x) : 0.0; #endif } -#define FM_DOUBLE_LOG2OFE 1.4426950408889634074 - // fast e**x function for little endian CPUs, falls back to libc on other platforms - KOKKOS_INLINE_FUNCTION - static double fm_exp(double x) - { -#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - return exp2_x86(FM_DOUBLE_LOG2OFE * x); -#else - return ::exp(x); -#endif - } + /*! Fast inline version of pow(x, 2.0) + * + * \param x argument + * \return x*x */ - // x**2, use instead of pow(x,2.0) KOKKOS_INLINE_FUNCTION - static double square(const double &x) { return x*x; } + static double square(const double &x) { return x * x; } + + /*! Fast inline version of pow(x, 3.0) + * + * \param x argument + * \return x*x */ - // x**3, use instead of pow(x,3.0) KOKKOS_INLINE_FUNCTION - static double cube(const double &x) { return x*x*x; } + static double cube(const double &x) { return x * x * x; } + + /* Fast inline version of pow(-1.0, n) + * + * \param n argument (integer) + * \return -1 if n is odd, 1.0 if n is even */ - // return -1.0 for odd n, 1.0 for even n, like pow(-1.0,n) KOKKOS_INLINE_FUNCTION static double powsign(const int n) { return (n & 1) ? -1.0 : 1.0; } - // optimized version of pow(x,n) with n being integer - // up to 10x faster than pow(x,y) + /* Fast inline version of pow(x,n) for integer n + * + * This is a version of pow(x,n) optimized for n being integer. + * Speedups of up to 10x faster than pow(x,y) have been measured. + * + * \param n argument (integer) + * \return value of x^n */ KOKKOS_INLINE_FUNCTION - static double powint(const double &x, const int n) { - double yy,ww; + static double powint(const double &x, const int n) + { + double yy, ww; if (x == 0.0) return 0.0; int nn = (n > 0) ? n : -n; ww = x; - for (yy = 1.0; nn != 0; nn >>= 1, ww *=ww) + for (yy = 1.0; nn != 0; nn >>= 1, ww *= ww) if (nn & 1) yy *= ww; - return (n > 0) ? yy : 1.0/yy; + return (n > 0) ? yy : 1.0 / yy; } - // optimized version of (sin(x)/x)**n with n being a _positive_ integer + /* Fast inline version of (sin(x)/x)^n as used by PPPM kspace styles + * + * This is an optimized function to compute (sin(x)/x)^n as frequently used by PPPM. + * + * \param n argument (integer). Expected to be positive. + * \return value of (sin(x)/x)^n */ KOKKOS_INLINE_FUNCTION - static double powsinxx(const double &x, int n) { - double yy,ww; + static double powsinxx(const double &x, int n) + { + double yy, ww; if (x == 0.0) return 1.0; - ww = sin(x)/x; + ww = sin(x) / x; - for (yy = 1.0; n != 0; n >>= 1, ww *=ww) + for (yy = 1.0; n != 0; n >>= 1, ww *= ww) if (n & 1) yy *= ww; return yy; } -} -} +} // namespace MathSpecialKokkos +} // namespace LAMMPS_NS #endif diff --git a/src/KOKKOS/meam_dens_final_kokkos.h b/src/KOKKOS/meam_dens_final_kokkos.h index b44a8af3bd..4a212d3597 100644 --- a/src/KOKKOS/meam_dens_final_kokkos.h +++ b/src/KOKKOS/meam_dens_final_kokkos.h @@ -3,179 +3,148 @@ using namespace LAMMPS_NS; +/* ---------------------------------------------------------------------- */ + template void -MEAMKokkos::meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, double* eng_vdwl, - typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, int& errorflag) +MEAMKokkos::meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, + typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d type, typename AT::t_int_1d d_map, typename AT::t_int_2d d_scale, int& errorflag, EV_FLOAT &ev_all) { EV_FLOAT ev; - ev.evdwl = *eng_vdwl; this->eflag_either = eflag_either; this->eflag_global = eflag_global; this->eflag_atom = eflag_atom; this->d_eatom = eatom; this->ntype = ntype; this->type = type; - this->fmap = fmap; + this->d_map = d_map; + this->d_scale = d_scale; - // Complete the calculation of density + Kokkos::deep_copy(d_errorflag,0); + // Complete the calculation of density + + copymode = 1; Kokkos::parallel_reduce(Kokkos::RangePolicy(0,nlocal),*this,ev); - *eng_vdwl = ev.evdwl; + ev_all.evdwl =+ ev.evdwl; + copymode = 0; + + auto h_errorflag = Kokkos::create_mirror_view_and_copy(LMPHostType(),d_errorflag); + errorflag = h_errorflag(); } +/* ---------------------------------------------------------------------- */ + template KOKKOS_INLINE_FUNCTION void MEAMKokkos::operator()(TagMEAMDensFinal, const int &i, EV_FLOAT& ev) const { - lattice_t elti; - int m; - int errorflag; F_FLOAT rhob, G, dG, Gbar, dGbar, gam, shp[3], Z; - F_FLOAT B, denom, rho_bkgd; + F_FLOAT denom, rho_bkgd, Fl; + double scaleii; - // may or may not be legal - elti = static_cast(fmap[type[i]]); - if (elti >= 0) { - d_rho1[i] = 0.0; - d_rho2[i] = -1.0 / 3.0 * d_arho2b[i] * d_arho2b[i]; - d_rho3[i] = 0.0; - for (m = 0; m < 3; m++) { - d_rho1[i] = d_rho1[i] + d_arho1(i,m) * d_arho1(i,m); - d_rho3[i] = d_rho3[i] - 3.0 / 5.0 * d_arho3b(i,m) * d_arho3b(i,m); - } - for (m = 0; m < 6; m++) { - d_rho2[i] = d_rho2[i] + v2D[m] * d_arho2(i,m) * d_arho2(i,m); - } - for (m = 0; m < 10; m++) { - d_rho3[i] = d_rho3[i] + v3D[m] * d_arho3(i,m) * d_arho3(i,m); - } + int elti = d_map[type[i]]; + if (elti >= 0) { + scaleii = d_scale(type[i],type[i]); + d_rho1[i] = 0.0; + d_rho2[i] = -1.0 / 3.0 * d_arho2b[i] * d_arho2b[i]; + d_rho3[i] = 0.0; + for (int m = 0; m < 3; m++) { + d_rho1[i] += d_arho1(i,m) * d_arho1(i,m); + d_rho3[i] -= 3.0 / 5.0 * d_arho3b(i,m) * d_arho3b(i,m); + } + for (int m = 0; m < 6; m++) + d_rho2[i] += v2D[m] * d_arho2(i,m) * d_arho2(i,m); + for (int m = 0; m < 10; m++) + d_rho3[i] += v3D[m] * d_arho3(i,m) * d_arho3(i,m); - if (d_rho0[i] > 0.0) { - if (this->ialloy == 1) { - d_t_ave(i,0) = fdiv_zero_kk(d_t_ave(i,0), d_tsq_ave(i,0)); - d_t_ave(i,1) = fdiv_zero_kk(d_t_ave(i,1), d_tsq_ave(i,1)); - d_t_ave(i,2) = fdiv_zero_kk(d_t_ave(i,2), d_tsq_ave(i,2)); - } else if (this->ialloy == 2) { - d_t_ave(i,0) = this->t1_meam[elti]; - d_t_ave(i,1) = this->t2_meam[elti]; - d_t_ave(i,2) = this->t3_meam[elti]; - } else { - d_t_ave(i,0) = d_t_ave(i,0) / d_rho0[i]; - d_t_ave(i,1) = d_t_ave(i,1) / d_rho0[i]; - d_t_ave(i,2) = d_t_ave(i,2) / d_rho0[i]; - } - } - - d_gamma[i] = d_t_ave(i,0) * d_rho1[i] + d_t_ave(i,1) * d_rho2[i] + d_t_ave(i,2) * d_rho3[i]; - - if (d_rho0[i] > 0.0) { - d_gamma[i] = d_gamma[i] / (d_rho0[i] * d_rho0[i]); - } - - // need to double check, the analogous function is - // Z = get_Zij(this->lattce_meam[elti][elti]); in the non-KOKKOS version? - Z = get_Zij(elti); - - G = G_gam(d_gamma[i], this->ibar_meam[elti], errorflag); - if (errorflag != 0) - { - //char str[128]; - //sprintf(str,"MEAMKokkos library error %d",errorflag); - //error->one(FLERR,str); - return; - } - get_shpfcn(this->lattce_meam[elti][elti], shp); - if (this->ibar_meam[elti] <= 0) { - Gbar = 1.0; - dGbar = 0.0; + if (d_rho0[i] > 0.0) { + if (ialloy == 1) { + d_t_ave(i,0) = fdiv_zero_kk(d_t_ave(i,0), d_tsq_ave(i,0)); + d_t_ave(i,1) = fdiv_zero_kk(d_t_ave(i,1), d_tsq_ave(i,1)); + d_t_ave(i,2) = fdiv_zero_kk(d_t_ave(i,2), d_tsq_ave(i,2)); + } else if (ialloy == 2) { + d_t_ave(i,0) = t1_meam[elti]; + d_t_ave(i,1) = t2_meam[elti]; + d_t_ave(i,2) = t3_meam[elti]; } else { - if (this->mix_ref_t == 1) { - gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); - } else { - gam = (this->t1_meam[elti] * shp[0] + this->t2_meam[elti] * shp[1] + this->t3_meam[elti] * shp[2]) / - (Z * Z); - } - Gbar = G_gam(gam, this->ibar_meam[elti], errorflag); - } - d_rho[i] = d_rho0[i] * G; - - if (this->mix_ref_t == 1) { - if (this->ibar_meam[elti] <= 0) { - Gbar = 1.0; - dGbar = 0.0; - } else { - gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); - Gbar = dG_gam(gam, this->ibar_meam[elti], dGbar); - } - rho_bkgd = this->rho0_meam[elti] * Z * Gbar; - } else { - if (this->bkgd_dyn == 1) { - rho_bkgd = this->rho0_meam[elti] * Z; - } else { - rho_bkgd = this->rho_ref_meam[elti]; - } - } - rhob = d_rho[i] / rho_bkgd; - denom = 1.0 / rho_bkgd; - - G = dG_gam(d_gamma[i], this->ibar_meam[elti], dG); - - d_dgamma1[i] = (G - 2 * dG * d_gamma[i]) * denom; - - if (!iszero_kk(d_rho0[i])) { - d_dgamma2[i] = (dG / d_rho0[i]) * denom; - } else { - d_dgamma2[i] = 0.0; - } - - // dgamma3 is nonzero only if we are using the "mixed" rule for - // computing t in the reference system (which is not correct, but - // included for backward compatibility - if (this->mix_ref_t == 1) { - d_dgamma3[i] = d_rho0[i] * G * dGbar / (Gbar * Z * Z) * denom; - } else { - d_dgamma3[i] = 0.0; - } - - B = this->A_meam[elti] * this->Ec_meam[elti][elti]; - - if (!iszero_kk(rhob)) { - if (this->emb_lin_neg == 1 && rhob <= 0) { - d_frhop[i] = -B; - } else { - d_frhop[i] = B * (log(rhob) + 1.0); - } - if (eflag_either != 0) { - if (eflag_global != 0) { - if (this->emb_lin_neg == 1 && rhob <= 0) { - //*eng_vdwl = *eng_vdwl - B * rhob; - ev.evdwl = ev.evdwl - B * rhob; - } else { - //*eng_vdwl = *eng_vdwl + B * rhob * log(rhob); - ev.evdwl = ev.evdwl + B * rhob * log(rhob); - } - } - if (eflag_atom != 0) { - if (this->emb_lin_neg == 1 && rhob <= 0) { - d_eatom[i] = d_eatom[i] - B * rhob; - } else { - d_eatom[i] = d_eatom[i] + B * rhob * log(rhob); - } - } - } - } else { - if (this->emb_lin_neg == 1) { - d_frhop[i] = -B; - } else { - d_frhop[i] = B; - } + d_t_ave(i,0) /= d_rho0[i]; + d_t_ave(i,1) /= d_rho0[i]; + d_t_ave(i,2) /= d_rho0[i]; } } - if (errorflag) - { - //char str[128]; - //sprintf(str,"MEAMKokkos library error %d",errorflag); - //error->one(FLERR,str); + + d_gamma[i] = d_t_ave(i,0) * d_rho1[i] + d_t_ave(i,1) * d_rho2[i] + d_t_ave(i,2) * d_rho3[i]; + + if (d_rho0[i] > 0.0) + d_gamma[i] /= (d_rho0[i] * d_rho0[i]); + + Z = get_Zij(lattce_meam[elti][elti]); + + G = G_gam(d_gamma[i], ibar_meam[elti], d_errorflag()); + if (d_errorflag() != 0) + return; + + get_shpfcn(lattce_meam[elti][elti], stheta_meam[elti][elti], ctheta_meam[elti][elti], shp); + if (ibar_meam[elti] <= 0) { + Gbar = 1.0; + dGbar = 0.0; + } else { + if (mix_ref_t == 1) + gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); + else + gam = (t1_meam[elti] * shp[0] + t2_meam[elti] * shp[1] + t3_meam[elti] * shp[2]) / + (Z * Z); + Gbar = G_gam(gam, ibar_meam[elti], d_errorflag()); } + d_rho[i] = d_rho0[i] * G; + + if (mix_ref_t == 1) { + if (ibar_meam[elti] <= 0) { + Gbar = 1.0; + dGbar = 0.0; + } else { + gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); + Gbar = dG_gam(gam, ibar_meam[elti], dGbar); + } + rho_bkgd = rho0_meam[elti] * Z * Gbar; + } else { + if (bkgd_dyn == 1) + rho_bkgd = rho0_meam[elti] * Z; + else + rho_bkgd = rho_ref_meam[elti]; + } + rhob = d_rho[i] / rho_bkgd; + denom = 1.0 / rho_bkgd; + + G = dG_gam(d_gamma[i], ibar_meam[elti], dG); + + d_dgamma1[i] = (G - 2 * dG * d_gamma[i]) * denom; + + if (!iszero_kk(d_rho0[i])) + d_dgamma2[i] = (dG / d_rho0[i]) * denom; + else + d_dgamma2[i] = 0.0; + + // dgamma3 is nonzero only if we are using the "mixed" rule for + // computing t in the reference system (which is not correct, but + // included for backward compatibility + if (mix_ref_t == 1) + d_dgamma3[i] = d_rho0[i] * G * dGbar / (Gbar * Z * Z) * denom; + else + d_dgamma3[i] = 0.0; + + Fl = embedding(A_meam[elti], Ec_meam[elti][elti], rhob, d_frhop[i]); + + if (eflag_either) { + Fl *= scaleii; + if (eflag_global) { + ev.evdwl += Fl; + } + if (eflag_atom) { + d_eatom[i] += Fl; + } + } + } } + diff --git a/src/KOKKOS/meam_dens_init_kokkos.h b/src/KOKKOS/meam_dens_init_kokkos.h index c3dfdbbcb8..bcf0e7433e 100644 --- a/src/KOKKOS/meam_dens_init_kokkos.h +++ b/src/KOKKOS/meam_dens_init_kokkos.h @@ -1,41 +1,45 @@ #include "meam_kokkos.h" -#include "math_special.h" -#include "mpi.h" +#include "math_special_kokkos.h" using namespace LAMMPS_NS; using namespace MathSpecialKokkos; +/* ---------------------------------------------------------------------- */ + template template KOKKOS_INLINE_FUNCTION -void MEAMKokkos::operator()(TagMEAMDensInit, const int &i, EV_FLOAT &ev) const { +void MEAMKokkos::operator()(TagMEAMDensInit, const int &i) const { int ii, offsetval; ii = d_ilist_half[i]; offsetval = d_offset[i]; - // Compute screening function and derivatives + // compute screening function and derivatives this->template getscreen(ii, offsetval, x, d_numneigh_half, - d_numneigh_full, ntype, type, fmap); + d_numneigh_full, ntype, type, d_map); - // Calculate intermediate density terms to be communicated - this->template calc_rho1(ii, ntype, type, fmap, x, d_numneigh_half, offsetval); - ev.evdwl += d_numneigh_half[i]; + // calculate intermediate density terms to be communicated + this->template calc_rho1(ii, ntype, type, d_map, x, d_numneigh_half, offsetval); } +/* ---------------------------------------------------------------------- */ + template KOKKOS_INLINE_FUNCTION -void MEAMKokkos::operator()(TagMEAMInitialize, const int &i) const { - d_rho0[i] = 0.0; - d_arho2b[i] = 0.0; - d_arho1(i,0) = d_arho1(i,1) = d_arho1(i,2) = 0.0; - for (int j = 0; j < 6; j++) - d_arho2(i,j) = 0.0; - for (int j = 0; j < 10; j++) - d_arho3(i,j) = 0.0; - d_arho3b(i,0) = d_arho3b(i,1) = d_arho3b(i,2) = 0.0; - d_t_ave(i,0) = d_t_ave(i,1) = d_t_ave(i,2) = 0.0; - d_tsq_ave(i,0) = d_tsq_ave(i,1) = d_tsq_ave(i,2) = 0.0; +void MEAMKokkos::operator()(TagMEAMZero, const int &i) const { + d_rho0[i] = 0.0; + d_arho2b[i] = 0.0; + d_arho1(i,0) = d_arho1(i,1) = d_arho1(i,2) = 0.0; + for (int j = 0; j < 6; j++) + d_arho2(i,j) = 0.0; + for (int j = 0; j < 10; j++) + d_arho3(i,j) = 0.0; + d_arho3b(i,0) = d_arho3b(i,1) = d_arho3b(i,2) = 0.0; + d_t_ave(i,0) = d_t_ave(i,1) = d_t_ave(i,2) = 0.0; + d_tsq_ave(i,0) = d_tsq_ave(i,1) = d_tsq_ave(i,2) = 0.0; } +/* ---------------------------------------------------------------------- */ + template void MEAMKokkos::meam_dens_setup(int atom_nmax, int nall, int n_neigh) @@ -155,20 +159,21 @@ MEAMKokkos::meam_dens_setup(int atom_nmax, int nall, int n_neigh) // zero out local arrays - Kokkos::parallel_for(Kokkos::RangePolicy(0, nall),*this); + copymode = 1; + Kokkos::parallel_for(Kokkos::RangePolicy(0, nall),*this); + copymode = 0; } +/* ---------------------------------------------------------------------- */ + template void -MEAMKokkos::meam_dens_init(int inum_half, int ntype, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread d_numneigh_half, typename AT::t_int_1d_randomread d_numneigh_full, - int *fnoffset, typename AT::t_int_1d_randomread d_ilist_half, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, typename AT::t_int_1d_randomread d_offset, int neighflag) +MEAMKokkos::meam_dens_init(int inum_half, int ntype, typename AT::t_int_1d type, typename AT::t_int_1d d_map, typename AT::t_x_array x, typename AT::t_int_1d d_numneigh_half, typename AT::t_int_1d d_numneigh_full, + typename AT::t_int_1d d_ilist_half, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, typename AT::t_int_1d d_offset, int neighflag, int need_dup) { - EV_FLOAT ev; - - ev.evdwl = 0; this->ntype = ntype; this->type = type; - this->fmap = fmap; + this->d_map = d_map; this->x = x; this->d_numneigh_half = d_numneigh_half; this->d_numneigh_full = d_numneigh_full; @@ -176,298 +181,325 @@ MEAMKokkos::meam_dens_init(int inum_half, int ntype, typename AT::t_ this->d_neighbors_half = d_neighbors_half; this->d_neighbors_full = d_neighbors_full; this->d_offset = d_offset; - if (neighflag == FULL) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum_half),*this, ev); - else if (neighflag == HALF) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum_half),*this, ev); + this->nlocal = nlocal; + + if (need_dup) { + dup_rho0 = Kokkos::Experimental::create_scatter_view(d_rho0); + dup_arho2b = Kokkos::Experimental::create_scatter_view(d_arho2b); + dup_arho1 = Kokkos::Experimental::create_scatter_view(d_arho1); + dup_arho2 = Kokkos::Experimental::create_scatter_view(d_arho2); + dup_arho3 = Kokkos::Experimental::create_scatter_view(d_arho3); + dup_arho3b = Kokkos::Experimental::create_scatter_view(d_arho3b); + dup_t_ave = Kokkos::Experimental::create_scatter_view(d_t_ave); + dup_tsq_ave = Kokkos::Experimental::create_scatter_view(d_tsq_ave); + } else { + ndup_rho0 = Kokkos::Experimental::create_scatter_view(d_rho0); + ndup_arho2b = Kokkos::Experimental::create_scatter_view(d_arho2b); + ndup_arho1 = Kokkos::Experimental::create_scatter_view(d_arho1); + ndup_arho2 = Kokkos::Experimental::create_scatter_view(d_arho2); + ndup_arho3 = Kokkos::Experimental::create_scatter_view(d_arho3); + ndup_arho3b = Kokkos::Experimental::create_scatter_view(d_arho3b); + ndup_t_ave = Kokkos::Experimental::create_scatter_view(d_t_ave); + ndup_tsq_ave = Kokkos::Experimental::create_scatter_view(d_tsq_ave); + } + + copymode = 1; + if (neighflag == HALF) + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum_half),*this); else if (neighflag == HALFTHREAD) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum_half),*this, ev); - *fnoffset = (int)ev.evdwl; + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum_half),*this); + copymode = 0; + + if (need_dup) { + Kokkos::Experimental::contribute(d_rho0, dup_rho0); + Kokkos::Experimental::contribute(d_arho2b, dup_arho2b); + Kokkos::Experimental::contribute(d_arho1, dup_arho1); + Kokkos::Experimental::contribute(d_arho2, dup_arho2); + Kokkos::Experimental::contribute(d_arho3, dup_arho3); + Kokkos::Experimental::contribute(d_arho3b, dup_arho3b); + Kokkos::Experimental::contribute(d_t_ave, dup_t_ave); + Kokkos::Experimental::contribute(d_tsq_ave, dup_tsq_ave); + + // free duplicated memory + dup_rho0 = decltype(dup_rho0)(); + dup_arho2b = decltype(dup_arho2b)(); + dup_arho1 = decltype(dup_arho1)(); + dup_arho2 = decltype(dup_arho2)(); + dup_arho3 = decltype(dup_arho3)(); + dup_arho3b = decltype(dup_arho3b)(); + dup_t_ave = decltype(dup_t_ave)(); + dup_tsq_ave = decltype(dup_tsq_ave)(); + } } -// ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +/* ---------------------------------------------------------------------- */ + template template KOKKOS_INLINE_FUNCTION void -MEAMKokkos::getscreen(int i, int offset, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread numneigh_half, - typename AT::t_int_1d_randomread numneigh_full, int /*ntype*/, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap) +MEAMKokkos::getscreen(int i, int offset, typename AT::t_x_array x, typename AT::t_int_1d d_numneigh_half, + typename AT::t_int_1d d_numneigh_full, int /*ntype*/, typename AT::t_int_1d type, typename AT::t_int_1d d_map) const { - int jn, j, kn, k; - int elti, eltj, eltk; - X_FLOAT xitmp, yitmp, zitmp, delxij, delyij, delzij; - F_FLOAT rij2, rij; - X_FLOAT xjtmp, yjtmp, zjtmp, delxik, delyik, delzik; - F_FLOAT rik2 /*,rik*/; - X_FLOAT xktmp, yktmp, zktmp, delxjk, delyjk, delzjk; - F_FLOAT rjk2 /*,rjk*/; - X_FLOAT xik, xjk; - F_FLOAT sij, fcij, sfcij, dfcij, sikj, dfikj, cikj; - F_FLOAT Cmin, Cmax, delc, /*ebound,*/ a, coef1, coef2; - F_FLOAT dCikj; - F_FLOAT rnorm, fc, dfc, drinv; - - drinv = 1.0 / this->delr_meam; - elti = fmap[type[i]]; + const double drinv = 1.0 / delr_meam; + const int elti = d_map[type[i]]; if (elti < 0) return; - xitmp = x(i,0); - yitmp = x(i,1); - zitmp = x(i,2); + const double xitmp = x(i,0); + const double yitmp = x(i,1); + const double zitmp = x(i,2); - for (jn = 0; jn < numneigh_half[i]; jn++) { - //j = firstneigh[jn]; - j = d_neighbors_half(i,jn); + for (int jn = 0; jn < d_numneigh_half[i]; jn++) { + const int j = d_neighbors_half(i,jn); - eltj = fmap[type[j]]; + const int eltj = d_map[type[j]]; if (eltj < 0) continue; - // First compute screening function itself, sij - xjtmp = x(j,0); - yjtmp = x(j,1); - zjtmp = x(j,2); - delxij = xjtmp - xitmp; - delyij = yjtmp - yitmp; - delzij = zjtmp - zitmp; + // First compute screening function itself, sij + const double xjtmp = x(j,0); + const double yjtmp = x(j,1); + const double zjtmp = x(j,2); + const double delxij = xjtmp - xitmp; + const double delyij = yjtmp - yitmp; + const double delzij = zjtmp - zitmp; - rij2 = delxij * delxij + delyij * delyij + delzij * delzij; - rij = sqrt(rij2); + const double rij2 = delxij * delxij + delyij * delyij + delzij * delzij; - double rbound = this->ebound_meam[elti][eltj] * rij2; - if (rij > this->rc_meam) { - fcij = 0.0; - dfcij = 0.0; - sij = 0.0; - } else { - rnorm = (this->rc_meam - rij) * drinv; - sij = 1.0; - - // if rjk2 > ebound*rijsq, atom k is definitely outside the ellipse - for (kn = 0; kn < numneigh_full[i]; kn++) { - //k = firstneigh_full[kn]; - k = d_neighbors_full(i,kn); - eltk = fmap[type[k]]; - if (eltk < 0) continue; - if (k == j) continue; - - delxjk = x(k,0) - xjtmp; - delyjk = x(k,1) - yjtmp; - delzjk = x(k,2) - zjtmp; - rjk2 = delxjk * delxjk + delyjk * delyjk + delzjk * delzjk; - if (rjk2 > rbound) continue; - - delxik = x(k,0) - xitmp; - delyik = x(k,1) - yitmp; - delzik = x(k,2) - zitmp; - rik2 = delxik * delxik + delyik * delyik + delzik * delzik; - if (rik2 > rbound) continue; - - xik = rik2 / rij2; - xjk = rjk2 / rij2; - a = 1 - (xik - xjk) * (xik - xjk); - // if a < 0, then ellipse equation doesn't describe this case and - // atom k can't possibly screen i-j - if (a <= 0.0) continue; - - cikj = (2.0 * (xik + xjk) + a - 2.0) / a; - Cmax = this->Cmax_meam[elti][eltj][eltk]; - Cmin = this->Cmin_meam[elti][eltj][eltk]; - if (cikj >= Cmax) continue; - // note that cikj may be slightly negative (within numerical - // tolerance) if atoms are colinear, so don't reject that case here - // (other negative cikj cases were handled by the test on "a" above) - else if (cikj <= Cmin) { - sij = 0.0; - break; - } else { - delc = Cmax - Cmin; - cikj = (cikj - Cmin) / delc; - sikj = fcut(cikj); - } - sij *= sikj; - } - - fc = dfcut(rnorm, dfc); - fcij = fc; - dfcij = dfc * drinv; - } - // Now compute derivatives - d_dscrfcn[offset+jn] = 0.0; - sfcij = sij * fcij; - if (iszero_kk(sfcij) || iszero_kk(sfcij - 1.0)) - { - d_scrfcn[offset+jn] = sij; - d_fcpair[offset+jn] = fcij; + if (rij2 > cutforcesq) { + d_dscrfcn[offset+jn] = 0.0; + d_scrfcn[offset+jn] = 0.0; + d_fcpair[offset+jn] = 0.0; continue; - //goto LABEL_100; } - for (kn = 0; kn < numneigh_full[i]; kn++) { - //k = firstneigh_full[kn]; - k = d_neighbors_full(i,kn); + // Now compute derivatives + const double rbound = ebound_meam[elti][eltj] * rij2; + const double rij = sqrt(rij2); + const double rnorm = (cutforce - rij) * drinv; + double sij = 1.0; + + // if rjk2 > ebound*rijsq, atom k is definitely outside the ellipse + for (int kn = 0; kn < d_numneigh_full[i]; kn++) { + int k = d_neighbors_full(i,kn); if (k == j) continue; - eltk = fmap[type[k]]; + int eltk = d_map[type[k]]; if (eltk < 0) continue; - xktmp = x(k,0); - yktmp = x(k,1); - zktmp = x(k,2); - delxjk = xktmp - xjtmp; - delyjk = yktmp - yjtmp; - delzjk = zktmp - zjtmp; - rjk2 = delxjk * delxjk + delyjk * delyjk + delzjk * delzjk; + const double xktmp = x(k,0); + const double yktmp = x(k,1); + const double zktmp = x(k,2); + + const double delxjk = xktmp - xjtmp; + const double delyjk = yktmp - yjtmp; + const double delzjk = zktmp - zjtmp; + const double rjk2 = delxjk * delxjk + delyjk * delyjk + delzjk * delzjk; if (rjk2 > rbound) continue; - delxik = xktmp - xitmp; - delyik = yktmp - yitmp; - delzik = zktmp - zitmp; - rik2 = delxik * delxik + delyik * delyik + delzik * delzik; + const double delxik = xktmp - xitmp; + const double delyik = yktmp - yitmp; + const double delzik = zktmp - zitmp; + const double rik2 = delxik * delxik + delyik * delyik + delzik * delzik; if (rik2 > rbound) continue; - xik = rik2 / rij2; - xjk = rjk2 / rij2; - a = 1 - (xik - xjk) * (xik - xjk); - // if a < 0, then ellipse equation doesn't describe this case and - // atom k can't possibly screen i-j + const double xik = rik2 / rij2; + const double xjk = rjk2 / rij2; + const double a = 1 - (xik - xjk) * (xik - xjk); + // if a < 0, then ellipse equation doesn't describe this case and + // atom k can't possibly screen i-j if (a <= 0.0) continue; - cikj = (2.0 * (xik + xjk) + a - 2.0) / a; - Cmax = this->Cmax_meam[elti][eltj][eltk]; - Cmin = this->Cmin_meam[elti][eltj][eltk]; - if (cikj >= Cmax) { - continue; - // Note that cikj may be slightly negative (within numerical - // tolerance) if atoms are colinear, so don't reject that case - // here - // (other negative cikj cases were handled by the test on "a" - // above) - // Note that we never have 0= Cmax) continue; + // note that cikj may be slightly negative (within numerical + // tolerance) if atoms are colinear, so don't reject that case here + // (other negative cikj cases were handled by the test on "a" above) + else if (cikj <= Cmin) { + sij = 0.0; + break; } else { - delc = Cmax - Cmin; + const double delc = Cmax - Cmin; cikj = (cikj - Cmin) / delc; - sikj = dfcut(cikj, dfikj); - coef1 = dfikj / (delc * sikj); - dCikj = dCfunc(rij2, rik2, rjk2); - d_dscrfcn[offset+jn] = d_dscrfcn[offset+jn] + coef1 * dCikj; + sikj = fcut(cikj); } + sij *= sikj; + } + + double dfc; + const double fc = dfcut(rnorm, dfc); + const double fcij = fc; + const double dfcij = dfc * drinv; + + // Now compute derivatives + d_dscrfcn[offset+jn] = 0.0; + const double sfcij = sij * fcij; + if (!iszero_kk(sfcij) && !isone_kk(sfcij)) { + for (int kn = 0; kn < d_numneigh_full[i]; kn++) { + const int k = d_neighbors_full(i,kn); + if (k == j) continue; + const int eltk = d_map[type[k]]; + if (eltk < 0) continue; + + const double delxjk = x(k,0) - xjtmp; + const double delyjk = x(k,1) - yjtmp; + const double delzjk = x(k,2) - zjtmp; + const double rjk2 = delxjk * delxjk + delyjk * delyjk + delzjk * delzjk; + if (rjk2 > rbound) continue; + + const double delxik = x(k,0) - xitmp; + const double delyik = x(k,1) - yitmp; + const double delzik = x(k,2) - zitmp; + const double rik2 = delxik * delxik + delyik * delyik + delzik * delzik; + if (rik2 > rbound) continue; + + const double xik = rik2 / rij2; + const double xjk = rjk2 / rij2; + const double a = 1 - (xik - xjk) * (xik - xjk); + // if a < 0, then ellipse equation doesn't describe this case and + // atom k can't possibly screen i-j + if (a <= 0.0) continue; + + double cikj = (2.0 * (xik + xjk) + a - 2.0) / a; + const double Cmax = Cmax_meam[elti][eltj][eltk]; + const double Cmin = Cmin_meam[elti][eltj][eltk]; + if (cikj >= Cmax) { + continue; + // Note that cikj may be slightly negative (within numerical + // tolerance) if atoms are colinear, so don't reject that case + // here + // (other negative cikj cases were handled by the test on "a" + // above) + // Note that we never have 0 template KOKKOS_INLINE_FUNCTION void -MEAMKokkos::calc_rho1(int i, int /*ntype*/, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread numneigh, +MEAMKokkos::calc_rho1(int i, int /*ntype*/, typename AT::t_int_1d type, typename AT::t_int_1d d_map, typename AT::t_x_array x, typename AT::t_int_1d d_numneigh, int offset) const { - int jn, j, m, n, p, elti, eltj; - int nv2, nv3; - X_FLOAT xtmp, ytmp, ztmp, delij[3]; - F_FLOAT rij2, rij, sij; - F_FLOAT ai, aj, rhoa0j, rhoa1j, rhoa2j, rhoa3j, A1j, A2j, A3j; - // double G,Gbar,gam,shp[3+1]; - F_FLOAT ro0i, ro0j; - F_FLOAT rhoa0i, rhoa1i, rhoa2i, rhoa3i, A1i, A2i, A3i; + // The rho0, etc. arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - // Likely to do: replace with duplicated view for OpenMP, atomic view for GPU abstraction - Kokkos::View::value> > a_rho0 = d_rho0; - Kokkos::View::value> > a_arho2b = d_arho2b; - Kokkos::View::value> > a_t_ave = d_t_ave; - Kokkos::View::value> > a_tsq_ave = d_tsq_ave; - Kokkos::View::value> > a_arho1 = d_arho1; - Kokkos::View::value> > a_arho2 = d_arho2; - Kokkos::View::value> > a_arho3 = d_arho3; - Kokkos::View::value> > a_arho3b = d_arho3b; + auto v_rho0 = ScatterViewHelper,decltype(dup_rho0),decltype(ndup_rho0)>::get(dup_rho0,ndup_rho0); + auto a_rho0 = v_rho0.template access>(); + auto v_arho2b = ScatterViewHelper,decltype(dup_arho2b),decltype(ndup_arho2b)>::get(dup_arho2b,ndup_arho2b); + auto a_arho2b = v_arho2b.template access>(); + auto v_arho1 = ScatterViewHelper,decltype(dup_arho1),decltype(ndup_arho1)>::get(dup_arho1,ndup_arho1); + auto a_arho1 = v_arho1.template access>(); + auto v_arho2 = ScatterViewHelper,decltype(dup_arho2),decltype(ndup_arho2)>::get(dup_arho2,ndup_arho2); + auto a_arho2 = v_arho2.template access>(); + auto v_arho3 = ScatterViewHelper,decltype(dup_arho3),decltype(ndup_arho3)>::get(dup_arho3,ndup_arho3); + auto a_arho3 = v_arho3.template access>(); + auto v_arho3b = ScatterViewHelper,decltype(dup_arho3b),decltype(ndup_arho3b)>::get(dup_arho3b,ndup_arho3b); + auto a_arho3b = v_arho3b.template access>(); + auto v_t_ave = ScatterViewHelper,decltype(dup_t_ave),decltype(ndup_t_ave)>::get(dup_t_ave,ndup_t_ave); + auto a_t_ave = v_t_ave.template access>(); + auto v_tsq_ave = ScatterViewHelper,decltype(dup_tsq_ave),decltype(ndup_tsq_ave)>::get(dup_tsq_ave,ndup_tsq_ave); + auto a_tsq_ave = v_tsq_ave.template access>(); - elti = fmap[type[i]]; - xtmp = x(i,0); - ytmp = x(i,1); - ztmp = x(i,2); - for (jn = 0; jn < numneigh[i]; jn++) { + const int elti = d_map[type[i]]; + const double xtmp = x(i,0); + const double ytmp = x(i,1); + const double ztmp = x(i,2); + for (int jn = 0; jn < d_numneigh[i]; jn++) { if (!iszero_kk(d_scrfcn[offset+jn])) { - //j = firstneigh[jn]; - j = d_neighbors_half(i,jn); - sij = d_scrfcn[offset+jn] * d_fcpair[offset+jn]; + const int j = d_neighbors_half(i,jn); + const double sij = d_scrfcn[offset+jn] * d_fcpair[offset+jn]; + double delij[3]; delij[0] = x(j,0) - xtmp; delij[1] = x(j,1) - ytmp; delij[2] = x(j,2) - ztmp; - rij2 = delij[0] * delij[0] + delij[1] * delij[1] + delij[2] * delij[2]; - if (rij2 < this->cutforcesq) { - eltj = fmap[type[j]]; - rij = sqrt(rij2); - ai = rij / this->re_meam[elti][elti] - 1.0; - aj = rij / this->re_meam[eltj][eltj] - 1.0; - ro0i = this->rho0_meam[elti]; - ro0j = this->rho0_meam[eltj]; - rhoa0j = ro0j * MathSpecialKokkos::fm_exp(-this->beta0_meam[eltj] * aj) * sij; - rhoa1j = ro0j * MathSpecialKokkos::fm_exp(-this->beta1_meam[eltj] * aj) * sij; - rhoa2j = ro0j * MathSpecialKokkos::fm_exp(-this->beta2_meam[eltj] * aj) * sij; - rhoa3j = ro0j * MathSpecialKokkos::fm_exp(-this->beta3_meam[eltj] * aj) * sij; - rhoa0i = ro0i * MathSpecialKokkos::fm_exp(-this->beta0_meam[elti] * ai) * sij; - rhoa1i = ro0i * MathSpecialKokkos::fm_exp(-this->beta1_meam[elti] * ai) * sij; - rhoa2i = ro0i * MathSpecialKokkos::fm_exp(-this->beta2_meam[elti] * ai) * sij; - rhoa3i = ro0i * MathSpecialKokkos::fm_exp(-this->beta3_meam[elti] * ai) * sij; - if (this->ialloy == 1) { - rhoa1j = rhoa1j * this->t1_meam[eltj]; - rhoa2j = rhoa2j * this->t2_meam[eltj]; - rhoa3j = rhoa3j * this->t3_meam[eltj]; - rhoa1i = rhoa1i * this->t1_meam[elti]; - rhoa2i = rhoa2i * this->t2_meam[elti]; - rhoa3i = rhoa3i * this->t3_meam[elti]; + const double rij2 = delij[0] * delij[0] + delij[1] * delij[1] + delij[2] * delij[2]; + if (rij2 < cutforcesq) { + const int eltj = d_map[type[j]]; + const double rij = sqrt(rij2); + const double ai = rij / re_meam[elti][elti] - 1.0; + const double aj = rij / re_meam[eltj][eltj] - 1.0; + const double ro0i = rho0_meam[elti]; + const double ro0j = rho0_meam[eltj]; + const double rhoa0j = ro0j * MathSpecialKokkos::fm_exp(-beta0_meam[eltj] * aj) * sij; + double rhoa1j = ro0j * MathSpecialKokkos::fm_exp(-beta1_meam[eltj] * aj) * sij; + double rhoa2j = ro0j * MathSpecialKokkos::fm_exp(-beta2_meam[eltj] * aj) * sij; + double rhoa3j = ro0j * MathSpecialKokkos::fm_exp(-beta3_meam[eltj] * aj) * sij; + const double rhoa0i = ro0i * MathSpecialKokkos::fm_exp(-beta0_meam[elti] * ai) * sij; + double rhoa1i = ro0i * MathSpecialKokkos::fm_exp(-beta1_meam[elti] * ai) * sij; + double rhoa2i = ro0i * MathSpecialKokkos::fm_exp(-beta2_meam[elti] * ai) * sij; + double rhoa3i = ro0i * MathSpecialKokkos::fm_exp(-beta3_meam[elti] * ai) * sij; + if (ialloy == 1) { + rhoa1j *= t1_meam[eltj]; + rhoa2j *= t2_meam[eltj]; + rhoa3j *= t3_meam[eltj]; + rhoa1i *= t1_meam[elti]; + rhoa2i *= t2_meam[elti]; + rhoa3i *= t3_meam[elti]; } a_rho0[i] += rhoa0j; a_rho0[j] += rhoa0i; // For ialloy = 2, use single-element value (not average) - if (this->ialloy != 2) { - a_t_ave(i,0) = a_t_ave(i,0) + this->t1_meam[eltj] * rhoa0j; - a_t_ave(i,1) = a_t_ave(i,1) + this->t2_meam[eltj] * rhoa0j; - a_t_ave(i,2) = a_t_ave(i,2) + this->t3_meam[eltj] * rhoa0j; - a_t_ave(j,0) = a_t_ave(j,0) + this->t1_meam[elti] * rhoa0i; - a_t_ave(j,1) = a_t_ave(j,1) + this->t2_meam[elti] * rhoa0i; - a_t_ave(j,2) = a_t_ave(j,2) + this->t3_meam[elti] * rhoa0i; + if (ialloy != 2) { + a_t_ave(i,0) += t1_meam[eltj] * rhoa0j; + a_t_ave(i,1) += t2_meam[eltj] * rhoa0j; + a_t_ave(i,2) += t3_meam[eltj] * rhoa0j; + a_t_ave(j,0) += t1_meam[elti] * rhoa0i; + a_t_ave(j,1) += t2_meam[elti] * rhoa0i; + a_t_ave(j,2) += t3_meam[elti] * rhoa0i; } - if (this->ialloy == 1) { - a_tsq_ave(i,0) = a_tsq_ave(i,0) + this->t1_meam[eltj] * this->t1_meam[eltj] * rhoa0j; - a_tsq_ave(i,1) = a_tsq_ave(i,1) + this->t2_meam[eltj] * this->t2_meam[eltj] * rhoa0j; - a_tsq_ave(i,2) = a_tsq_ave(i,2) + this->t3_meam[eltj] * this->t3_meam[eltj] * rhoa0j; - a_tsq_ave(j,0) = a_tsq_ave(j,0) + this->t1_meam[elti] * this->t1_meam[elti] * rhoa0i; - a_tsq_ave(j,1) = a_tsq_ave(j,1) + this->t2_meam[elti] * this->t2_meam[elti] * rhoa0i; - a_tsq_ave(j,2) = a_tsq_ave(j,2) + this->t3_meam[elti] * this->t3_meam[elti] * rhoa0i; + if (ialloy == 1) { + a_tsq_ave(i,0) += t1_meam[eltj] * t1_meam[eltj] * rhoa0j; + a_tsq_ave(i,1) += t2_meam[eltj] * t2_meam[eltj] * rhoa0j; + a_tsq_ave(i,2) += t3_meam[eltj] * t3_meam[eltj] * rhoa0j; + a_tsq_ave(j,0) += t1_meam[elti] * t1_meam[elti] * rhoa0i; + a_tsq_ave(j,1) += t2_meam[elti] * t2_meam[elti] * rhoa0i; + a_tsq_ave(j,2) += t3_meam[elti] * t3_meam[elti] * rhoa0i; } a_arho2b[i] += rhoa2j; a_arho2b[j] += rhoa2i; - A1j = rhoa1j / rij; - A2j = rhoa2j / rij2; - A3j = rhoa3j / (rij2 * rij); - A1i = rhoa1i / rij; - A2i = rhoa2i / rij2; - A3i = rhoa3i / (rij2 * rij); - nv2 = 0; - nv3 = 0; - for (m = 0; m < 3; m++) { + const double A1j = rhoa1j / rij; + const double A2j = rhoa2j / rij2; + const double A3j = rhoa3j / (rij2 * rij); + const double A1i = rhoa1i / rij; + const double A2i = rhoa2i / rij2; + const double A3i = rhoa3i / (rij2 * rij); + int nv2 = 0; + int nv3 = 0; + for (int m = 0; m < 3; m++) { a_arho1(i,m) += A1j * delij[m]; - a_arho1(j,m) += (-A1i * delij[m]); + a_arho1(j,m) += -A1i * delij[m]; a_arho3b(i,m) += rhoa3j * delij[m] / rij; - a_arho3b(j,m) += (- rhoa3i * delij[m] / rij); - for (n = m; n < 3; n++) { + a_arho3b(j,m) += -rhoa3i * delij[m] / rij; + for (int n = m; n < 3; n++) { a_arho2(i,nv2) += A2j * delij[m] * delij[n]; a_arho2(j,nv2) += A2i * delij[m] * delij[n]; - nv2 = nv2 + 1; - for (p = n; p < 3; p++) { + nv2++; + for (int p = n; p < 3; p++) { a_arho3(i,nv3) += A3j * delij[m] * delij[n] * delij[p]; - a_arho3(j,nv3) += (- A3i * delij[m] * delij[n] * delij[p]); - nv3 = nv3 + 1; + a_arho3(j,nv3) += -A3i * delij[m] * delij[n] * delij[p]; + nv3++; } } } @@ -476,79 +508,81 @@ MEAMKokkos::calc_rho1(int i, int /*ntype*/, typename AT::t_int_1d_ra } } +/* ---------------------------------------------------------------------- */ + //Cutoff function and derivative template KOKKOS_INLINE_FUNCTION -double MEAMKokkos::dfcut(const double xi, double& dfc) const { - double a, a3, a4, a1m4; - if (xi >= 1.0) { - dfc = 0.0; - return 1.0; - } else if (xi <= 0.0) { - dfc = 0.0; - return 0.0; - } else { - a = 1.0 - xi; - a3 = a * a * a; - a4 = a * a3; - a1m4 = 1.0-a4; +double MEAMKokkos::dfcut(const double xi, double& dfc) const +{ + if (xi >= 1.0) { + dfc = 0.0; + return 1.0; + } else if (xi <= 0.0) { + dfc = 0.0; + return 0.0; + } else { + const double a = 1.0 - xi; + const double a3 = a * a * a; + const double a4 = a * a3; + const double a1m4 = 1.0 - a4; - dfc = 8 * a1m4 * a3; - return a1m4*a1m4; - } + dfc = 8 * a1m4 * a3; + return a1m4*a1m4; } +} //----------------------------------------------------------------------------- - // // Derivative of Cikj w.r.t. rij - // // Inputs: rij,rij2,rik2,rjk2 - // // - // + // Derivative of Cikj w.r.t. rij + // Inputs: rij,rij2,rik2,rjk2 template KOKKOS_INLINE_FUNCTION double MEAMKokkos::dCfunc(const double rij2, const double rik2, const double rjk2) const { - double rij4, a, asq, b,denom; - - rij4 = rij2 * rij2; - a = rik2 - rjk2; - b = rik2 + rjk2; - asq = a*a; - denom = rij4 - asq; - denom = denom * denom; - return -4 * (-2 * rij2 * asq + rij4 * b + asq * b) / denom; + const double rij4 = rij2 * rij2; + const double a = rik2 - rjk2; + const double b = rik2 + rjk2; + const double asq = a*a; + double denom = rij4 - asq; + denom = denom * denom; + return -4 * (-2 * rij2 * asq + rij4 * b + asq * b) / denom; } +/* ---------------------------------------------------------------------- */ + template KOKKOS_INLINE_FUNCTION void MEAMKokkos::dCfunc2(const double rij2, const double rik2, const double rjk2, double& dCikj1, double& dCikj2) const { - double rij4, rik4, rjk4, a, denom; - - rij4 = rij2 * rij2; - rik4 = rik2 * rik2; - rjk4 = rjk2 * rjk2; - a = rik2 - rjk2; - denom = rij4 - a * a; - denom = denom * denom; - dCikj1 = 4 * rij2 * (rij4 + rik4 + 2 * rik2 * rjk2 - 3 * rjk4 - 2 * rij2 * a) / denom; - dCikj2 = 4 * rij2 * (rij4 - 3 * rik4 + 2 * rik2 * rjk2 + rjk4 + 2 * rij2 * a) / denom; - + const double rij4 = rij2 * rij2; + const double rik4 = rik2 * rik2; + const double rjk4 = rjk2 * rjk2; + const double a = rik2 - rjk2; + double denom = rij4 - a * a; + denom = denom * denom; + dCikj1 = 4 * rij2 * (rij4 + rik4 + 2 * rik2 * rjk2 - 3 * rjk4 - 2 * rij2 * a) / denom; + dCikj2 = 4 * rij2 * (rij4 - 3 * rik4 + 2 * rik2 * rjk2 + rjk4 + 2 * rij2 * a) / denom; } + +/* ---------------------------------------------------------------------- */ + template KOKKOS_INLINE_FUNCTION -double MEAMKokkos::fcut(const double xi) const{ - double a; - if (xi >= 1.0) - return 1.0; - else if (xi <= 0.0) - return 0.0; - else { - a = 1.0 - xi; - a *= a; a *= a; - a = 1.0 - a; - return a * a; - } +double MEAMKokkos::fcut(const double xi) const +{ + double a; + if (xi >= 1.0) + return 1.0; + else if (xi <= 0.0) + return 0.0; + else { + // ( 1.d0 - (1.d0 - xi)**4 )**2, but with better codegen + a = 1.0 - xi; + a *= a; a *= a; + a = 1.0 - a; + return a * a; } +} diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h index 4e061c9043..aafcf80473 100644 --- a/src/KOKKOS/meam_force_kokkos.h +++ b/src/KOKKOS/meam_force_kokkos.h @@ -5,106 +5,129 @@ using namespace LAMMPS_NS; using namespace MathSpecialKokkos; - template void -MEAMKokkos::meam_force(int inum_half, int eflag_either, int eflag_global, int eflag_atom, int vflag_atom, double* eng_vdwl, - typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d_randomread type, typename AT::t_int_1d_randomread fmap, typename AT::t_x_array_randomread x, typename AT::t_int_1d_randomread numneigh, - typename AT::t_int_1d_randomread numneigh_full, typename AT::t_f_array f, typename ArrayTypes::t_virial_array vatom, typename AT::t_int_1d_randomread d_ilist_half, typename AT::t_int_1d_randomread d_offset, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, int neighflag) +MEAMKokkos::meam_force(int inum_half, int eflag_global, int eflag_atom, int vflag_global, int vflag_atom, + typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d type, typename AT::t_int_1d d_map, typename AT::t_x_array x, typename AT::t_int_1d numneigh, + typename AT::t_int_1d numneigh_full, typename AT::t_f_array f, typename ArrayTypes::t_virial_array vatom, typename AT::t_int_1d d_ilist_half, typename AT::t_int_1d d_offset, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, int neighflag, int need_dup, EV_FLOAT &ev_all) { - EV_FLOAT ev; - ev.evdwl = *eng_vdwl; + EV_FLOAT ev; - this->eflag_either = eflag_either; - this->eflag_global = eflag_global; - this->eflag_atom = eflag_atom; - this->vflag_atom = vflag_atom; - this->d_eatom = eatom; - this->ntype = ntype; - this->type = type; - this->fmap = fmap; - this->x = x; - this->d_numneigh_half = numneigh; - this->d_numneigh_full = numneigh_full; - this->d_neighbors_half = d_neighbors_half; - this->d_neighbors_full = d_neighbors_full; - this->f = f; - this->d_vatom = vatom; - this->d_ilist_half = d_ilist_half; - this->d_offset = d_offset; - - if (neighflag == FULL) - Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); - else if (neighflag == HALF) - Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); - else if (neighflag == HALFTHREAD) - Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); - *eng_vdwl = ev.evdwl; + this->eflag_either = eflag_either; + this->eflag_global = eflag_global; + this->eflag_atom = eflag_atom; + this->vflag_global = vflag_global; + this->vflag_atom = vflag_atom; + eflag_either = eflag_atom || eflag_global; + vflag_either = vflag_atom || vflag_global; + this->d_eatom = eatom; + this->ntype = ntype; + this->type = type; + this->d_map = d_map; + this->x = x; + this->d_numneigh_half = numneigh; + this->d_numneigh_full = numneigh_full; + this->d_neighbors_half = d_neighbors_half; + this->d_neighbors_full = d_neighbors_full; + this->f = f; + this->d_vatom = vatom; + this->d_ilist_half = d_ilist_half; + this->d_offset = d_offset; + + if (need_dup) { + dup_f = Kokkos::Experimental::create_scatter_view(f); + if (eflag_atom) dup_eatom = Kokkos::Experimental::create_scatter_view(d_eatom); + if (vflag_atom) dup_vatom = Kokkos::Experimental::create_scatter_view(d_vatom); + } else { + ndup_f = Kokkos::Experimental::create_scatter_view(f); + if (eflag_atom) ndup_eatom = Kokkos::Experimental::create_scatter_view(d_eatom); + if (vflag_atom) ndup_vatom = Kokkos::Experimental::create_scatter_view(d_vatom); + } + + copymode = 1; + if (neighflag == HALF) + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + else if (neighflag == HALFTHREAD) + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + ev_all += ev; + copymode = 0; + + if (need_dup) { + Kokkos::Experimental::contribute(f, dup_f); + if (eflag_atom) Kokkos::Experimental::contribute(d_eatom, dup_eatom); + if (vflag_atom) Kokkos::Experimental::contribute(d_vatom, dup_vatom); + + // free duplicated memory + dup_f = decltype(dup_f)(); + if (eflag_atom) dup_eatom = decltype(dup_eatom)(); + if (vflag_atom) dup_vatom = decltype(dup_vatom)(); + } } template template KOKKOS_INLINE_FUNCTION void -MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FLOAT& ev) const { +MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FLOAT& ev) const { int i, j, jn, k, kn, kk, m, n, p, q; int nv2, nv3, elti, eltj, eltk, ind; X_FLOAT xitmp, yitmp, zitmp, delij[3]; - F_FLOAT rij2, rij, rij3; - F_FLOAT v[6], fi[3], fj[3]; - F_FLOAT third, sixth; - F_FLOAT pp, dUdrij, dUdsij, dUdrijm[3], force, forcem; - F_FLOAT r, recip, phi, phip; - F_FLOAT sij; - F_FLOAT a1, a1i, a1j, a2, a2i, a2j; - F_FLOAT a3i, a3j; - F_FLOAT shpi[3], shpj[3]; - F_FLOAT ai, aj, ro0i, ro0j, invrei, invrej; - F_FLOAT rhoa0j, drhoa0j, rhoa0i, drhoa0i; - F_FLOAT rhoa1j, drhoa1j, rhoa1i, drhoa1i; - F_FLOAT rhoa2j, drhoa2j, rhoa2i, drhoa2i; - F_FLOAT a3, a3a, rhoa3j, drhoa3j, rhoa3i, drhoa3i; - F_FLOAT drho0dr1, drho0dr2, drho0ds1, drho0ds2; - F_FLOAT drho1dr1, drho1dr2, drho1ds1, drho1ds2; - F_FLOAT drho1drm1[3], drho1drm2[3]; - F_FLOAT drho2dr1, drho2dr2, drho2ds1, drho2ds2; - F_FLOAT drho2drm1[3], drho2drm2[3]; - F_FLOAT drho3dr1, drho3dr2, drho3ds1, drho3ds2; - F_FLOAT drho3drm1[3], drho3drm2[3]; - F_FLOAT dt1dr1, dt1dr2, dt1ds1, dt1ds2; - F_FLOAT dt2dr1, dt2dr2, dt2ds1, dt2ds2; - F_FLOAT dt3dr1, dt3dr2, dt3ds1, dt3ds2; - F_FLOAT drhodr1, drhodr2, drhods1, drhods2, drhodrm1[3], drhodrm2[3]; - F_FLOAT arg; - F_FLOAT arg1i1, arg1j1, arg1i2, arg1j2, arg1i3, arg1j3, arg3i3, arg3j3; - F_FLOAT dsij1, dsij2, force1, force2; - F_FLOAT t1i, t2i, t3i, t1j, t2j, t3j; + double rij2, rij, rij3; + double v[6], fi[3], fj[3]; + double third, sixth; + double pp, dUdrij, dUdsij, dUdrijm[3], force, forcem; + double recip, phi, phip; + double sij; + double a1, a1i, a1j, a2, a2i, a2j; + double a3i, a3j; + double shpi[3], shpj[3]; + double ai, aj, ro0i, ro0j, invrei, invrej; + double rhoa0j, drhoa0j, rhoa0i, drhoa0i; + double rhoa1j, drhoa1j, rhoa1i, drhoa1i; + double rhoa2j, drhoa2j, rhoa2i, drhoa2i; + double a3, a3a, rhoa3j, drhoa3j, rhoa3i, drhoa3i; + double drho0dr1, drho0dr2, drho0ds1, drho0ds2; + double drho1dr1, drho1dr2, drho1ds1, drho1ds2; + double drho1drm1[3], drho1drm2[3]; + double drho2dr1, drho2dr2, drho2ds1, drho2ds2; + double drho2drm1[3], drho2drm2[3]; + double drho3dr1, drho3dr2, drho3ds1, drho3ds2; + double drho3drm1[3], drho3drm2[3]; + double dt1dr1, dt1dr2, dt1ds1, dt1ds2; + double dt2dr1, dt2dr2, dt2ds1, dt2ds2; + double dt3dr1, dt3dr2, dt3ds1, dt3ds2; + double drhodr1, drhodr2, drhods1, drhods2, drhodrm1[3], drhodrm2[3]; + double arg; + double arg1i1, arg1j1, arg1i2, arg1j2, arg1i3, arg1j3, arg3i3, arg3j3; + double dsij1, dsij2, force1, force2; + double t1i, t2i, t3i, t1j, t2j, t3j; int fnoffset; - // To do: update with duplication for OpenMP, atomic for GPUs - Kokkos::View::value> > a_eatom = d_eatom; - Kokkos::View::value> > a_vatom = d_vatom; - Kokkos::View::value> > a_f = f; + // The f, etc. arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial + auto v_f = ScatterViewHelper,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access>(); + auto v_eatom = ScatterViewHelper,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access>(); + auto v_vatom = ScatterViewHelper,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access>(); i = d_ilist_half[ii]; fnoffset = d_offset[i]; third = 1.0 / 3.0; sixth = 1.0 / 6.0; - // Compute forces atom i - elti = fmap[type[i]]; + elti = d_map[type[i]]; if (elti < 0) return; xitmp = x(i,0); yitmp = x(i,1); zitmp = x(i,2); - // Treat each pair + // Treat each pair for (jn = 0; jn < d_numneigh_half[i]; jn++) { - //j = firstneigh[jn]; j = d_neighbors_half(i,jn); - eltj = fmap[type[j]]; + eltj = d_map[type[j]]; if (!iszero_kk(d_scrfcn[fnoffset + jn]) && eltj >= 0) { @@ -113,60 +136,60 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL delij[1] = x(j,1) - yitmp; delij[2] = x(j,2) - zitmp; rij2 = delij[0] * delij[0] + delij[1] * delij[1] + delij[2] * delij[2]; - if (rij2 < this->cutforcesq) { + if (rij2 < cutforcesq) { rij = sqrt(rij2); - r = rij; + recip = 1.0 / rij; - // Compute phi and phip - ind = this->eltind[elti][eltj]; - pp = rij * this->rdrar; + // Compute phi and phip + ind = eltind[elti][eltj]; + pp = rij * rdrar; kk = (int)pp; - kk = (kk <= (this->nrar - 2))?kk:this->nrar - 2; + kk = (kk <= (nrar - 2))?kk:nrar - 2; pp = pp - kk; pp = (pp <= 1.0)?pp:1.0; - phi = ((this->d_phirar3(ind,kk) * pp + this->d_phirar2(ind,kk)) * pp + this->d_phirar1(ind,kk)) * pp + - this->d_phirar(ind,kk); - phip = (this->d_phirar6(ind,kk) * pp + this->d_phirar5(ind,kk)) * pp + this->d_phirar4(ind,kk); - recip = 1.0 / r; + phi = ((d_phirar3(ind,kk) * pp + d_phirar2(ind,kk)) * pp + d_phirar1(ind,kk)) * pp + + d_phirar(ind,kk); + phip = (d_phirar6(ind,kk) * pp + d_phirar5(ind,kk)) * pp + d_phirar4(ind,kk); - if (eflag_either != 0) { - if (eflag_global != 0) - //*eng_vdwl = *eng_vdwl + phi * sij; - ev.evdwl = ev.evdwl + phi * sij; - if (eflag_atom != 0) { - a_eatom[i] += (0.5 * phi * sij); - a_eatom[j] += (0.5 * phi * sij); + if (eflag_either) { + double scaleij = d_scale(type[i],type[i]); + double phi_sc = phi * scaleij; + if (eflag_global) + ev.evdwl += phi_sc * sij; + if (eflag_atom) { + a_eatom[i] += 0.5 * phi * sij; + a_eatom[j] += 0.5 * phi * sij; } } - // write(1,*) "force_meamf: phi: ",phi - // write(1,*) "force_meamf: phip: ",phip + // write(1,*) "force_meamf: phi: ",phi + // write(1,*) "force_meamf: phip: ",phip - // Compute pair densities and derivatives - invrei = 1.0 / this->re_meam[elti][elti]; + // Compute pair densities and derivatives + invrei = 1.0 / re_meam[elti][elti]; ai = rij * invrei - 1.0; - ro0i = this->rho0_meam[elti]; - rhoa0i = ro0i * MathSpecialKokkos::fm_exp(-this->beta0_meam[elti] * ai); - drhoa0i = -this->beta0_meam[elti] * invrei * rhoa0i; - rhoa1i = ro0i * MathSpecialKokkos::fm_exp(-this->beta1_meam[elti] * ai); - drhoa1i = -this->beta1_meam[elti] * invrei * rhoa1i; - rhoa2i = ro0i * MathSpecialKokkos::fm_exp(-this->beta2_meam[elti] * ai); - drhoa2i = -this->beta2_meam[elti] * invrei * rhoa2i; - rhoa3i = ro0i * MathSpecialKokkos::fm_exp(-this->beta3_meam[elti] * ai); - drhoa3i = -this->beta3_meam[elti] * invrei * rhoa3i; + ro0i = rho0_meam[elti]; + rhoa0i = ro0i * MathSpecialKokkos::fm_exp(-beta0_meam[elti] * ai); + drhoa0i = -beta0_meam[elti] * invrei * rhoa0i; + rhoa1i = ro0i * MathSpecialKokkos::fm_exp(-beta1_meam[elti] * ai); + drhoa1i = -beta1_meam[elti] * invrei * rhoa1i; + rhoa2i = ro0i * MathSpecialKokkos::fm_exp(-beta2_meam[elti] * ai); + drhoa2i = -beta2_meam[elti] * invrei * rhoa2i; + rhoa3i = ro0i * MathSpecialKokkos::fm_exp(-beta3_meam[elti] * ai); + drhoa3i = -beta3_meam[elti] * invrei * rhoa3i; if (elti != eltj) { - invrej = 1.0 / this->re_meam[eltj][eltj]; + invrej = 1.0 / re_meam[eltj][eltj]; aj = rij * invrej - 1.0; - ro0j = this->rho0_meam[eltj]; - rhoa0j = ro0j * MathSpecialKokkos::fm_exp(-this->beta0_meam[eltj] * aj); - drhoa0j = -this->beta0_meam[eltj] * invrej * rhoa0j; - rhoa1j = ro0j * MathSpecialKokkos::fm_exp(-this->beta1_meam[eltj] * aj); - drhoa1j = -this->beta1_meam[eltj] * invrej * rhoa1j; - rhoa2j = ro0j * MathSpecialKokkos::fm_exp(-this->beta2_meam[eltj] * aj); - drhoa2j = -this->beta2_meam[eltj] * invrej * rhoa2j; - rhoa3j = ro0j * MathSpecialKokkos::fm_exp(-this->beta3_meam[eltj] * aj); - drhoa3j = -this->beta3_meam[eltj] * invrej * rhoa3j; + ro0j = rho0_meam[eltj]; + rhoa0j = ro0j * MathSpecialKokkos::fm_exp(-beta0_meam[eltj] * aj); + drhoa0j = -beta0_meam[eltj] * invrej * rhoa0j; + rhoa1j = ro0j * MathSpecialKokkos::fm_exp(-beta1_meam[eltj] * aj); + drhoa1j = -beta1_meam[eltj] * invrej * rhoa1j; + rhoa2j = ro0j * MathSpecialKokkos::fm_exp(-beta2_meam[eltj] * aj); + drhoa2j = -beta2_meam[eltj] * invrej * rhoa2j; + rhoa3j = ro0j * MathSpecialKokkos::fm_exp(-beta3_meam[eltj] * aj); + drhoa3j = -beta3_meam[eltj] * invrej * rhoa3j; } else { rhoa0j = rhoa0i; drhoa0j = drhoa0i; @@ -178,14 +201,14 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL drhoa3j = drhoa3i; } - const double t1mi = this->t1_meam[elti]; - const double t2mi = this->t2_meam[elti]; - const double t3mi = this->t3_meam[elti]; - const double t1mj = this->t1_meam[eltj]; - const double t2mj = this->t2_meam[eltj]; - const double t3mj = this->t3_meam[eltj]; + const double t1mi = t1_meam[elti]; + const double t2mi = t2_meam[elti]; + const double t3mi = t3_meam[elti]; + const double t1mj = t1_meam[eltj]; + const double t2mj = t2_meam[eltj]; + const double t3mj = t3_meam[eltj]; - if (this->ialloy == 1) { + if (ialloy == 1) { rhoa1j *= t1mj; rhoa2j *= t2mj; rhoa3j *= t3mj; @@ -213,12 +236,12 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL for (n = 0; n < 3; n++) { for (p = n; p < 3; p++) { for (q = p; q < 3; q++) { - arg = delij[n] * delij[p] * delij[q] * this->v3D[nv3]; + arg = delij[n] * delij[p] * delij[q] * v3D[nv3]; arg1i3 = arg1i3 + d_arho3(i,nv3) * arg; arg1j3 = arg1j3 - d_arho3(j,nv3) * arg; nv3 = nv3 + 1; } - arg = delij[n] * delij[p] * this->v2D[nv2]; + arg = delij[n] * delij[p] * v2D[nv2]; arg1i2 = arg1i2 + d_arho2(i,nv2) * arg; arg1j2 = arg1j2 + d_arho2(j,nv2) * arg; nv2 = nv2 + 1; @@ -229,11 +252,11 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL arg3j3 = arg3j3 - d_arho3b(j,n) * delij[n]; } - // rho0 terms + // rho0 terms drho0dr1 = drhoa0j * sij; drho0dr2 = drhoa0i * sij; - // rho1 terms + // rho1 terms a1 = 2 * sij / rij; drho1dr1 = a1 * (drhoa1j - rhoa1j / rij) * arg1i1; drho1dr2 = a1 * (drhoa1i - rhoa1i / rij) * arg1j1; @@ -243,7 +266,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL drho1drm2[m] = -a1 * rhoa1i * d_arho1(j,m); } - // rho2 terms + // rho2 terms a2 = 2 * sij / rij2; drho2dr1 = a2 * (drhoa2j - 2 * rhoa2j / rij) * arg1i2 - 2.0 / 3.0 * d_arho2b[i] * drhoa2j * sij; drho2dr2 = a2 * (drhoa2i - 2 * rhoa2i / rij) * arg1j2 - 2.0 / 3.0 * d_arho2b[j] * drhoa2i * sij; @@ -252,14 +275,14 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL drho2drm1[m] = 0.0; drho2drm2[m] = 0.0; for (n = 0; n < 3; n++) { - drho2drm1[m] = drho2drm1[m] + d_arho2(i,this->vind2D[m][n]) * delij[n]; - drho2drm2[m] = drho2drm2[m] - d_arho2(j,this->vind2D[m][n]) * delij[n]; + drho2drm1[m] = drho2drm1[m] + d_arho2(i,vind2D[m][n]) * delij[n]; + drho2drm2[m] = drho2drm2[m] - d_arho2(j,vind2D[m][n]) * delij[n]; } drho2drm1[m] = a2 * rhoa2j * drho2drm1[m]; drho2drm2[m] = -a2 * rhoa2i * drho2drm2[m]; } - // rho3 terms + // rho3 terms rij3 = rij * rij2; a3 = 2 * sij / rij3; a3a = 6.0 / 5.0 * sij / rij; @@ -273,9 +296,9 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL nv2 = 0; for (n = 0; n < 3; n++) { for (p = n; p < 3; p++) { - arg = delij[n] * delij[p] * this->v2D[nv2]; - drho3drm1[m] = drho3drm1[m] + d_arho3(i,this->vind3D[m][n][p]) * arg; - drho3drm2[m] = drho3drm2[m] + d_arho3(j,this->vind3D[m][n][p]) * arg; + arg = delij[n] * delij[p] * v2D[nv2]; + drho3drm1[m] = drho3drm1[m] + d_arho3(i,vind3D[m][n][p]) * arg; + drho3drm2[m] = drho3drm2[m] + d_arho3(j,vind3D[m][n][p]) * arg; nv2 = nv2 + 1; } } @@ -283,7 +306,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL drho3drm2[m] = (-a3 * drho3drm2[m] + a3a * d_arho3b(j,m)) * rhoa3i; } - // Compute derivatives of weighting functions t wrt rij + // Compute derivatives of weighting functions t wrt rij t1i = d_t_ave(i,0); t2i = d_t_ave(i,1); t3i = d_t_ave(i,2); @@ -291,7 +314,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL t2j = d_t_ave(j,1); t3j = d_t_ave(j,2); - if (this->ialloy == 1) { + if (ialloy == 1) { a1i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,0)); a1j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,0)); @@ -307,7 +330,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL dt3dr1 = a3i * (t3mj - t3i * MathSpecialKokkos::square(t3mj)); dt3dr2 = a3j * (t3mi - t3j * MathSpecialKokkos::square(t3mi)); - } else if (this->ialloy == 2) { + } else if (ialloy == 2) { dt1dr1 = 0.0; dt1dr2 = 0.0; @@ -333,25 +356,27 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL dt3dr2 = aj * (t3mi - t3j); } - // Compute derivatives of total density wrt rij, sij and rij(3) - get_shpfcn(this->lattce_meam[elti][elti], shpi); - get_shpfcn(this->lattce_meam[eltj][eltj], shpj); - drhodr1 = dgamma1[i] * drho0dr1 + - dgamma2[i] * (dt1dr1 * d_rho1[i] + t1i * drho1dr1 + dt2dr1 * d_rho2[i] + t2i * drho2dr1 + + // Compute derivatives of total density wrt rij, sij and rij(3) + get_shpfcn(lattce_meam[elti][elti], stheta_meam[elti][elti], ctheta_meam[elti][elti], shpi); + get_shpfcn(lattce_meam[eltj][eltj], stheta_meam[elti][elti], ctheta_meam[elti][elti], shpj); + + drhodr1 = d_dgamma1[i] * drho0dr1 + + d_dgamma2[i] * (dt1dr1 * d_rho1[i] + t1i * drho1dr1 + dt2dr1 * d_rho2[i] + t2i * drho2dr1 + dt3dr1 * d_rho3[i] + t3i * drho3dr1) - - dgamma3[i] * (shpi[0] * dt1dr1 + shpi[1] * dt2dr1 + shpi[2] * dt3dr1); - drhodr2 = dgamma1[j] * drho0dr2 + - dgamma2[j] * (dt1dr2 * d_rho1[j] + t1j * drho1dr2 + dt2dr2 * d_rho2[j] + t2j * drho2dr2 + + d_dgamma3[i] * (shpi[0] * dt1dr1 + shpi[1] * dt2dr1 + shpi[2] * dt3dr1); + drhodr2 = d_dgamma1[j] * drho0dr2 + + d_dgamma2[j] * (dt1dr2 * d_rho1[j] + t1j * drho1dr2 + dt2dr2 * d_rho2[j] + t2j * drho2dr2 + dt3dr2 * d_rho3[j] + t3j * drho3dr2) - - dgamma3[j] * (shpj[0] * dt1dr2 + shpj[1] * dt2dr2 + shpj[2] * dt3dr2); + d_dgamma3[j] * (shpj[0] * dt1dr2 + shpj[1] * dt2dr2 + shpj[2] * dt3dr2); for (m = 0; m < 3; m++) { drhodrm1[m] = 0.0; drhodrm2[m] = 0.0; - drhodrm1[m] = dgamma2[i] * (t1i * drho1drm1[m] + t2i * drho2drm1[m] + t3i * drho3drm1[m]); - drhodrm2[m] = dgamma2[j] * (t1j * drho1drm2[m] + t2j * drho2drm2[m] + t3j * drho3drm2[m]); + drhodrm1[m] = d_dgamma2[i] * (t1i * drho1drm1[m] + t2i * drho2drm1[m] + t3i * drho3drm1[m]); + drhodrm2[m] = d_dgamma2[j] * (t1j * drho1drm2[m] + t2j * drho2drm2[m] + t3j * drho3drm2[m]); + } - // Compute derivatives wrt sij, but only if necessary + // Compute derivatives wrt sij, but only if necessary if (!iszero_kk(d_dscrfcn[fnoffset + jn])) { drho0ds1 = rhoa0j; drho0ds2 = rhoa0i; @@ -366,7 +391,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL drho3ds1 = a3 * rhoa3j * arg1i3 - a3a * rhoa3j * arg3i3; drho3ds2 = a3 * rhoa3i * arg1j3 - a3a * rhoa3i * arg3j3; - if (this->ialloy == 1) { + if (ialloy == 1) { a1i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,0)); a1j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,0)); a2i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,1)); @@ -381,7 +406,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL dt3ds1 = a3i * (t3mj - t3i * MathSpecialKokkos::square(t3mj)); dt3ds2 = a3j * (t3mi - t3j * MathSpecialKokkos::square(t3mi)); - } else if (this->ialloy == 2) { + } else if (ialloy == 2) { dt1ds1 = 0.0; dt1ds2 = 0.0; @@ -417,7 +442,7 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL d_dgamma3[j] * (shpj[0] * dt1ds2 + shpj[1] * dt2ds2 + shpj[2] * dt3ds2); } - // Compute derivatives of energy wrt rij, sij and rij[3] + // Compute derivatives of energy wrt rij, sij and rij[3] dUdrij = phip * sij + d_frhop[i] * drhodr1 + d_frhop[j] * drhodr2; dUdsij = 0.0; if (!iszero_kk(d_dscrfcn[fnoffset + jn])) { @@ -427,17 +452,17 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL dUdrijm[m] = d_frhop[i] * drhodrm1[m] + d_frhop[j] * drhodrm2[m]; } - // Add the part of the force due to dUdrij and dUdsij + // Add the part of the force due to dUdrij and dUdsij force = dUdrij * recip + dUdsij * d_dscrfcn[fnoffset + jn]; for (m = 0; m < 3; m++) { forcem = delij[m] * force + dUdrijm[m]; a_f(i,m) += forcem; - a_f(j,m) -= -forcem; + a_f(j,m) -= forcem; } - // Tabulate per-atom virial as symmetrized stress tensor + // Tabulate per-atom virial as symmetrized stress tensor - if (vflag_atom != 0) { + if (vflag_either) { fi[0] = delij[0] * force + dUdrijm[0]; fi[1] = delij[1] * force + dUdrijm[1]; fi[2] = delij[2] * force + dUdrijm[2]; @@ -448,36 +473,41 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL v[4] = -0.25 * (delij[0] * fi[2] + delij[2] * fi[0]); v[5] = -0.25 * (delij[1] * fi[2] + delij[2] * fi[1]); - for (m = 0; m < 6; m++) { - a_vatom(i,m) += v[m]; - a_vatom(j,m) += v[m]; + if (vflag_global) + for (m = 0; m < 6; m++) + ev.v[m] += 2.0*v[m]; + + if (vflag_atom) { + for (m = 0; m < 6; m++) { + a_vatom(i,m) += v[m]; + a_vatom(j,m) += v[m]; + } } } - // Now compute forces on other atoms k due to change in sij + // Now compute forces on other atoms k due to change in sij - if (iszero_kk(sij) || iszero_kk(sij - 1.0)) continue; //: cont jn loop + if (iszero_kk(sij) || isone_kk(sij)) continue; //: cont jn loop double dxik(0), dyik(0), dzik(0); double dxjk(0), dyjk(0), dzjk(0); for (kn = 0; kn < d_numneigh_full[i]; kn++) { - //k = firstneigh_full[kn]; k = d_neighbors_full(i,kn); - eltk = fmap[type[k]]; + eltk = d_map[type[k]]; if (k != j && eltk >= 0) { double xik, xjk, cikj, sikj, dfc, a; double dCikj1, dCikj2; double delc, rik2, rjk2; sij = d_scrfcn[jn+fnoffset] * d_fcpair[jn+fnoffset]; - const double Cmax = this->Cmax_meam[elti][eltj][eltk]; - const double Cmin = this->Cmin_meam[elti][eltj][eltk]; + const double Cmax = Cmax_meam[elti][eltj][eltk]; + const double Cmin = Cmin_meam[elti][eltj][eltk]; dsij1 = 0.0; dsij2 = 0.0; - if (!iszero_kk(sij) && !iszero_kk(sij - 1.0)) { - const double rbound = rij2 * this->ebound_meam[elti][eltj]; + if (!iszero_kk(sij) && !isone_kk(sij)) { + const double rbound = rij2 * ebound_meam[elti][eltj]; delc = Cmax - Cmin; dxjk = x(k,0) - x(j,0); dyjk = x(k,1) - x(j,1); @@ -521,9 +551,9 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL a_f(k,1) -= force1 * dyik + force2 * dyjk; a_f(k,2) -= force1 * dzik + force2 * dzjk; - // Tabulate per-atom virial as symmetrized stress tensor + // Tabulate per-atom virial as symmetrized stress tensor - if (vflag_atom != 0) { + if (vflag_either) { fi[0] = force1 * dxik; fi[1] = force1 * dyik; fi[2] = force1 * dzik; @@ -537,18 +567,24 @@ MEAMKokkos::operator()(TagMEAMforce, const int &ii, EV_FL v[4] = -sixth * (dxik * fi[2] + dxjk * fj[2] + dzik * fi[0] + dzjk * fj[0]); v[5] = -sixth * (dyik * fi[2] + dyjk * fj[2] + dzik * fi[1] + dzjk * fj[1]); - for (m = 0; m < 6; m++) { - a_vatom(i,m) += v[m]; - a_vatom(j,m) += v[m]; - a_vatom(k,m) += v[m]; + if (vflag_global) + for (m = 0; m < 6; m++) + ev.v[m] += 3.0*v[m]; + + if (vflag_atom) { + for (m = 0; m < 6; m++) { + a_vatom(i,m) += v[m]; + a_vatom(j,m) += v[m]; + a_vatom(k,m) += v[m]; + } } } } } - // end of k loop + // end of k loop } } } - // end of j loop + // end of j loop } } diff --git a/src/KOKKOS/meam_funcs_kokkos.h b/src/KOKKOS/meam_funcs_kokkos.h index 9e41be9ea8..f02def0676 100644 --- a/src/KOKKOS/meam_funcs_kokkos.h +++ b/src/KOKKOS/meam_funcs_kokkos.h @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Sebastian Hütter (OvGU) + Contributing author: Naga Vydyanathan (NVIDIA) ------------------------------------------------------------------------- */ #include "math_special_kokkos.h" @@ -22,12 +22,12 @@ using namespace MathSpecialKokkos; //----------------------------------------------------------------------------- // Compute G(gamma) based on selection flag ibar: -// 0 => G = sqrt(1+gamma) -// 1 => G = exp(gamma/2) -// 2 => not implemented -// 3 => G = 2/(1+exp(-gamma)) -// 4 => G = sqrt(1+gamma) -// -5 => G = +-sqrt(abs(1+gamma)) +// 0 => G = sqrt(1+gamma) +// 1 => G = exp(gamma/2) +// 2 => not implemented +// 3 => G = 2/(1+exp(-gamma)) +// 4 => G = sqrt(1+gamma) +// -5 => G = +-sqrt(abs(1+gamma)) // template KOKKOS_INLINE_FUNCTION @@ -40,9 +40,9 @@ double MEAMKokkos::G_gam(const double gamma, const int ibar, int &er case 4: gsmooth_switchpoint = -gsmooth_factor / (gsmooth_factor + 1); if (gamma < gsmooth_switchpoint) { - // e.g. gsmooth_factor is 99, {: - // gsmooth_switchpoint = -0.99 - // G = 0.01*(-0.99/gamma)**99 + // e.g. gsmooth_factor is 99, {: + // gsmooth_switchpoint = -0.99 + // G = 0.01*(-0.99/gamma)**99 double G = 1 / (gsmooth_factor + 1) * pow((gsmooth_switchpoint / gamma), gsmooth_factor); return sqrt(G); } else { @@ -51,7 +51,7 @@ double MEAMKokkos::G_gam(const double gamma, const int ibar, int &er case 1: return MathSpecialKokkos::fm_exp(gamma / 2.0); case 3: - return 2.0 / (1.0 + exp(-gamma)); + return 2.0 / (1.0 + MathSpecialKokkos::fm_exp(-gamma)); case -5: if ((1.0 + gamma) >= 0) { return sqrt(1.0 + gamma); @@ -65,12 +65,12 @@ double MEAMKokkos::G_gam(const double gamma, const int ibar, int &er //----------------------------------------------------------------------------- // Compute G(gamma and dG(gamma) based on selection flag ibar: -// 0 => G = sqrt(1+gamma) -// 1 => G = exp(gamma/2) -// 2 => not implemented -// 3 => G = 2/(1+exp(-gamma)) -// 4 => G = sqrt(1+gamma) -// -5 => G = +-sqrt(abs(1+gamma)) +// 0 => G = sqrt(1+gamma) +// 1 => G = exp(gamma/2) +// 2 => not implemented +// 3 => G = 2/(1+exp(-gamma)) +// 4 => G = sqrt(1+gamma) +// -5 => G = +-sqrt(abs(1+gamma)) // template KOKKOS_INLINE_FUNCTION @@ -84,9 +84,9 @@ double MEAMKokkos::dG_gam(const double gamma, const int ibar, double case 4: gsmooth_switchpoint = -gsmooth_factor / (gsmooth_factor + 1); if (gamma < gsmooth_switchpoint) { - // e.g. gsmooth_factor is 99, {: - // gsmooth_switchpoint = -0.99 - // G = 0.01*(-0.99/gamma)**99 + // e.g. gsmooth_factor is 99, {: + // gsmooth_switchpoint = -0.99 + // G = 0.01*(-0.99/gamma)**99 G = 1 / (gsmooth_factor + 1) * pow((gsmooth_switchpoint / gamma), gsmooth_factor); G = sqrt(G); dG = -gsmooth_factor * G / (2.0 * gamma); @@ -144,6 +144,30 @@ double MEAMKokkos::zbl(const double r, const int z1, const int z2) c return result; } +//----------------------------------------------------------------------------- +// Compute embedding function F(rhobar) and derivative F'(rhobar), eqn I.5 +// +template +KOKKOS_INLINE_FUNCTION +double MEAMKokkos::embedding(const double A, const double Ec, const double rhobar, double& dF) const +{ + const double AEc = A * Ec; + + if (rhobar > 0.0) { + const double lrb = log(rhobar); + dF = AEc * (1.0 + lrb); + return AEc * rhobar * lrb; + } else { + if (emb_lin_neg == 0) { + dF = 0.0; + return 0.0; + } else { + dF = - AEc; + return - AEc * rhobar; + } + } +} + //----------------------------------------------------------------------------- // Compute Rose energy function, I.16 // @@ -178,7 +202,7 @@ double MEAMKokkos::erose(const double r, const double re, const doub // template KOKKOS_INLINE_FUNCTION -void MEAMKokkos::get_shpfcn(const lattice_t latt, double (&s)[3]) const +void MEAMKokkos::get_shpfcn(const lattice_t latt, const double sthe, const double cthe, double (&s)[3]) const { switch (latt) { case FCC: @@ -194,7 +218,9 @@ void MEAMKokkos::get_shpfcn(const lattice_t latt, double (&s)[3]) co s[1] = 0.0; s[2] = 1.0 / 3.0; break; + case CH4: // CH4 actually needs shape factor for diamond for C, dimer for H case DIA: + case DIA3: s[0] = 0.0; s[1] = 0.0; s[2] = 32.0 / 9.0; @@ -202,12 +228,24 @@ void MEAMKokkos::get_shpfcn(const lattice_t latt, double (&s)[3]) co case DIM: s[0] = 1.0; s[1] = 2.0 / 3.0; - // s(3) = 1.d0 - s[2] = 0.40; + // s(4) = 1.d0 // this should be 0.4 unless (1-legendre) is multiplied in the density calc. + s[2] = 0.40; // this is (1-legendre) where legendre = 0.6 in dynamo is accounted. + break; + case LIN: // linear, theta being 180 + s[0] = 0.0; + s[1] = 8.0 / 3.0; // 4*(co**4 + si**4 - 1.0/3.0) in zig become 4*(1-1/3) + s[2] = 0.0; + break; + case ZIG: //zig-zag + case TRI: //trimer e.g. H2O + s[0] = 4.0*pow(cthe,2); + s[1] = 4.0*(pow(cthe,4) + pow(sthe,4) - 1.0/3.0); + s[2] = 4.0*(pow(cthe,2) * (3*pow(sthe,4) + pow(cthe,4))); + s[2] = s[2] - 0.6*s[0]; //legend in dyn, 0.6 is default value. break; default: s[0] = 0.0; - // call error('Lattice not defined in get_shpfcn.') + // call error('Lattice not defined in get_shpfcn.') } } @@ -225,102 +263,26 @@ int MEAMKokkos::get_Zij(const lattice_t latt) const return 8; case HCP: return 12; - case B1: - return 6; case DIA: + case DIA3: return 4; case DIM: return 1; + case B1: + return 6; case C11: return 10; case L12: return 12; case B2: return 8; - // call error('Lattice not defined in get_Zij.') + case CH4: // DYNAMO currently implemented this way while it needs two Z values, 4 and 1 + return 4; + case LIN: + case ZIG: + case TRI: + return 2; + // call error('Lattice not defined in get_Zij.') } return 0; } - -//----------------------------------------------------------------------------- -// Number of second neighbors for the reference structure -// a = distance ratio R1/R2 -// S = second neighbor screening function -// -template -KOKKOS_INLINE_FUNCTION -int MEAMKokkos::get_Zij2(const lattice_t latt, const double cmin, const double cmax, double& a, double& S) const -{ - - double C, x, sijk; - int Zij2 = 0, numscr = 0; - - switch (latt) { - - case FCC: - Zij2 = 6; - a = sqrt(2.0); - numscr = 4; - break; - - case BCC: - Zij2 = 6; - a = 2.0 / sqrt(3.0); - numscr = 4; - break; - - case HCP: - Zij2 = 6; - a = sqrt(2.0); - numscr = 4; - break; - - case B1: - Zij2 = 12; - a = sqrt(2.0); - numscr = 2; - break; - - case DIA: - Zij2 = 12; - a = sqrt(8.0 / 3.0); - numscr = 1; - if (cmin < 0.500001) { - // call error('can not do 2NN MEAM for dia') - } - break; - - case DIM: - // this really shouldn't be allowed; make sure screening is zero - a = 1.0; - S = 0.0; - return 0; - - case L12: - Zij2 = 6; - a = sqrt(2.0); - numscr = 4; - break; - - case B2: - Zij2 = 6; - a = 2.0 / sqrt(3.0); - numscr = 4; - break; - case C11: - // unsupported lattice flag C11 in get_Zij - break; - default: - // unknown lattic flag in get Zij - // call error('Lattice not defined in get_Zij.') - break; - } - - // Compute screening for each first neighbor - C = 4.0 / (a * a) - 1.0; - x = (C - cmin) / (cmax - cmin); - sijk = fcut(x); - // There are numscr first neighbors screening the second neighbors - S = MathSpecialKokkos::powint(sijk, numscr); - return Zij2; -} diff --git a/src/KOKKOS/meam_impl_kokkos.h b/src/KOKKOS/meam_impl_kokkos.h index 0d2ec99445..0a787ba2eb 100644 --- a/src/KOKKOS/meam_impl_kokkos.h +++ b/src/KOKKOS/meam_impl_kokkos.h @@ -12,11 +12,12 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Sebastian Hütter (OvGU) + Contributing author: Naga Vydyanathan (NVIDIA), Stan Moore (SNL) ------------------------------------------------------------------------- */ #include "memory_kokkos.h" #include "meam_kokkos.h" + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ @@ -24,21 +25,15 @@ using namespace LAMMPS_NS; template MEAMKokkos::MEAMKokkos(Memory *mem) : MEAM(mem) { + d_errorflag = typename AT::t_int_scalar("meam:errorflag"); } template MEAMKokkos::~MEAMKokkos() { + if (copymode) return; + MemoryKokkos *memoryKK = (MemoryKokkos *)memory; - - memoryKK->destroy_kokkos(k_phirar6,phirar6); - memoryKK->destroy_kokkos(k_phirar5,phirar5); - memoryKK->destroy_kokkos(k_phirar4,phirar4); - memoryKK->destroy_kokkos(k_phirar3,phirar3); - memoryKK->destroy_kokkos(k_phirar2,phirar2); - memoryKK->destroy_kokkos(k_phirar1,phirar1); - memoryKK->destroy_kokkos(k_phirar,phirar); - memoryKK->destroy_kokkos(k_phir,phir); memoryKK->destroy_kokkos(k_rho,rho); memoryKK->destroy_kokkos(k_rho0,rho0); @@ -63,10 +58,10 @@ MEAMKokkos::~MEAMKokkos() memoryKK->destroy_kokkos(k_dscrfcn,dscrfcn); memoryKK->destroy_kokkos(k_fcpair,fcpair); } + #include "meam_setup_done_kokkos.h" #include "meam_funcs_kokkos.h" #include "meam_dens_init_kokkos.h" #include "meam_dens_final_kokkos.h" #include "meam_force_kokkos.h" -// diff --git a/src/KOKKOS/meam_kokkos.h b/src/KOKKOS/meam_kokkos.h index 0231f4b767..fb34f45b5c 100644 --- a/src/KOKKOS/meam_kokkos.h +++ b/src/KOKKOS/meam_kokkos.h @@ -14,68 +14,77 @@ namespace LAMMPS_NS { struct TagMEAMDensFinal{}; template struct TagMEAMDensInit{}; -struct TagMEAMInitialize{}; +struct TagMEAMZero{}; template -struct TagMEAMforce{}; +struct TagMEAMForce{}; template class MEAMKokkos : public MEAM { -public: + public: typedef ArrayTypes AT; typedef EV_FLOAT value_type; MEAMKokkos(Memory* mem); - ~MEAMKokkos(); + ~MEAMKokkos() override; KOKKOS_INLINE_FUNCTION void operator()(TagMEAMDensFinal, const int&, EV_FLOAT&) const; template KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMDensInit, const int&, EV_FLOAT&) const; + void operator()(TagMEAMDensInit, const int&) const; KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMInitialize, const int&) const; + void operator()(TagMEAMZero, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMforce, const int&, EV_FLOAT&) const; -protected: -//Parameters to meam_dens_init - is there a better way to do this? - int ntype; - typename AT::t_int_1d_randomread type; - typename AT::t_int_1d_randomread d_offset; - typename AT::t_int_1d_randomread fmap; - typename AT::t_x_array_randomread x; - typename AT::t_int_1d_randomread d_numneigh_half; - typename AT::t_int_1d_randomread d_numneigh_full; + void operator()(TagMEAMForce, const int&, EV_FLOAT&) const; + private: + + // parameters to meam_dens_init + + int ntype, nlocal; + typename AT::t_int_1d type; + typename AT::t_int_1d d_offset; + typename AT::t_int_1d d_map; + typename AT::t_int_2d d_scale; + typename AT::t_x_array x; + typename AT::t_int_1d d_numneigh_half; + typename AT::t_int_1d d_numneigh_full; typename AT::t_neighbors_2d d_neighbors_half; typename AT::t_neighbors_2d d_neighbors_full; - typename AT::t_int_1d_randomread d_ilist_half; + typename AT::t_int_1d d_ilist_half; typename AT::t_f_array f; typename ArrayTypes::t_virial_array d_vatom; -//Parameters to meam_dens_final - is there a better way to do this? - int eflag_either, eflag_global, eflag_atom, vflag_atom; - double *eng_vdwl; + + // parameters to meam_dens_final + + typename AT::t_int_scalar d_errorflag; + int eflag_either, eflag_global, eflag_atom, vflag_either, vflag_global, vflag_atom; typename ArrayTypes::t_efloat_1d d_eatom; -public: - void meam_dens_setup(int, int, int); - void meam_setup_done(void); - void meam_dens_init(int , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread, typename AT::t_x_array_randomread, typename AT::t_int_1d_randomread, - typename AT::t_int_1d_randomread , int* , typename AT::t_int_1d_randomread, typename AT::t_neighbors_2d,typename AT::t_neighbors_2d,typename AT::t_int_1d_randomread, int ); - void meam_dens_final(int , int , int , int , double* , - typename ArrayTypes::t_efloat_1d , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread , int& ); - void meam_force(int , int , int , int , int , double* , - typename ArrayTypes::t_efloat_1d , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread , typename AT::t_x_array_randomread , typename AT::t_int_1d_randomread , - typename AT::t_int_1d_randomread , typename AT::t_f_array , typename ArrayTypes::t_virial_array ,typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread, typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, int); + public: + void meam_dens_setup(int, int, int) override; + void meam_setup_done(double*) override; + void meam_dens_init(int, int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, + typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_int_1d, + typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, typename AT::t_int_1d, + int, int); + void meam_dens_final(int, int, int, int, typename ArrayTypes::t_efloat_1d, + int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_int_2d, int&, EV_FLOAT&); + void meam_force(int, int, int, int, int, typename ArrayTypes::t_efloat_1d, + int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, typename AT::t_int_1d, + typename AT::t_int_1d, typename AT::t_f_array, typename ArrayTypes::t_virial_array, + typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, + int, int, EV_FLOAT&); template KOKKOS_INLINE_FUNCTION - void getscreen(int , int, typename AT::t_x_array_randomread , typename AT::t_int_1d_randomread, - typename AT::t_int_1d_randomread, int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread ) const; + void getscreen(int, int, typename AT::t_x_array, typename AT::t_int_1d, + typename AT::t_int_1d, int, typename AT::t_int_1d, typename AT::t_int_1d) const; template KOKKOS_INLINE_FUNCTION - void calc_rho1(int , int , typename AT::t_int_1d_randomread , typename AT::t_int_1d_randomread , typename AT::t_x_array_randomread , typename AT::t_int_1d_randomread, int ) const; + void calc_rho1(int, int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, typename AT::t_int_1d, int) const; KOKKOS_INLINE_FUNCTION double fcut(const double xi) const; KOKKOS_INLINE_FUNCTION @@ -89,18 +98,19 @@ public: KOKKOS_INLINE_FUNCTION double dG_gam(const double, const int, double&) const; KOKKOS_INLINE_FUNCTION - double zbl(const double, const int, const int) const; + double zbl(const double, const int, const int) const; + KOKKOS_INLINE_FUNCTION + double embedding(const double, const double, const double, double&) const; KOKKOS_INLINE_FUNCTION double erose(const double, const double, const double, const double, const double, const double, const int) const; KOKKOS_INLINE_FUNCTION - void get_shpfcn(const lattice_t latt, double (&s)[3]) const; + void get_shpfcn(const lattice_t latt, const double sthe, const double cthe, + double (&s)[3]) const; KOKKOS_INLINE_FUNCTION - int get_Zij(const lattice_t ) const; - KOKKOS_INLINE_FUNCTION - int get_Zij2(const lattice_t, const double, const double, double&, double&) const; -public: + int get_Zij(const lattice_t) const; + public: DAT::tdual_ffloat_1d k_rho, k_rho0, k_rho1, k_rho2, k_rho3, k_frhop; - typename ArrayTypes::t_ffloat_1d d_rho, d_rho0,d_rho1, d_rho2, d_rho3, d_frhop; + typename ArrayTypes::t_ffloat_1d d_rho, d_rho0, d_rho1, d_rho2, d_rho3, d_frhop; HAT::t_ffloat_1d h_rho, h_rho0, h_rho1, h_rho2, h_rho3, h_frhop; DAT::tdual_ffloat_1d k_gamma, k_dgamma1, k_dgamma2, k_dgamma3, k_arho2b; typename ArrayTypes::t_ffloat_1d d_gamma, d_dgamma1, d_dgamma2, d_dgamma3, d_arho2b; @@ -108,20 +118,54 @@ public: DAT::tdual_ffloat_2d k_arho1, k_arho2, k_arho3, k_arho3b, k_t_ave, k_tsq_ave; typename ArrayTypes::t_ffloat_2d d_arho1, d_arho2, d_arho3, d_arho3b, d_t_ave, d_tsq_ave; HAT::t_ffloat_2d h_arho1, h_arho2, h_arho3, h_arho3b, h_t_ave, h_tsq_ave; - DAT::tdual_ffloat_2d k_phir, k_phirar, k_phirar1, k_phirar2, k_phirar3, k_phirar4, k_phirar5, k_phirar6; typename ArrayTypes::t_ffloat_2d d_phir, d_phirar, d_phirar1, d_phirar2, d_phirar3, d_phirar4, d_phirar5, d_phirar6; - HAT::t_ffloat_2d h_phir, h_phirar, h_phirar1, h_phirar2, h_phirar3, h_phirar4, h_phirar5, h_phirar6; DAT::tdual_ffloat_1d k_scrfcn, k_dscrfcn, k_fcpair; typename ArrayTypes::t_ffloat_1d d_scrfcn, d_dscrfcn, d_fcpair; HAT::t_ffloat_1d h_scrfcn, h_dscrfcn, h_fcpair; - + protected: + int need_dup; + using KKDeviceType = typename KKDevice::value; + + template + using DupScatterView = KKScatterView; + + template + using NonDupScatterView = KKScatterView; + + DupScatterView dup_rho0; + NonDupScatterView ndup_rho0; + DupScatterView dup_arho2b; + NonDupScatterView ndup_arho2b; + DupScatterView dup_arho1; + NonDupScatterView ndup_arho1; + DupScatterView dup_arho2; + NonDupScatterView ndup_arho2; + DupScatterView dup_arho3; + NonDupScatterView ndup_arho3; + DupScatterView dup_arho3b; + NonDupScatterView ndup_arho3b; + DupScatterView dup_t_ave; + NonDupScatterView ndup_t_ave; + DupScatterView dup_tsq_ave; + NonDupScatterView ndup_tsq_ave; + DupScatterView dup_f; + NonDupScatterView ndup_f; + DupScatterView dup_eatom; + NonDupScatterView ndup_eatom; + DupScatterView dup_vatom; + NonDupScatterView ndup_vatom; }; + KOKKOS_INLINE_FUNCTION static bool iszero_kk(const double f) { return fabs(f) < 1e-20; } +KOKKOS_INLINE_FUNCTION +static bool isone_kk(const double f) { + return fabs(f-1.0) < 1e-20; +} KOKKOS_INLINE_FUNCTION static double fdiv_zero_kk(const double n, const double d) { @@ -134,9 +178,5 @@ static double fdiv_zero_kk(const double n, const double d) { } #include "meam_impl_kokkos.h" -//#include "meam_setup_done_kokkos.h" -//#include "meam_funcs_kokkos.h" -//#include "meam_dens_init_kokkos.h" -//#include "meam_dens_final_kokkos.h" -//#include "meam_force_kokkos.h" + #endif diff --git a/src/KOKKOS/meam_setup_done_kokkos.h b/src/KOKKOS/meam_setup_done_kokkos.h index 72852bf2cb..7d5de12427 100644 --- a/src/KOKKOS/meam_setup_done_kokkos.h +++ b/src/KOKKOS/meam_setup_done_kokkos.h @@ -1,71 +1,46 @@ #include "meam_kokkos.h" template -void MEAMKokkos::meam_setup_done(void) +void MEAMKokkos::meam_setup_done(double* cutmax) { - MemoryKokkos *memoryKK = (MemoryKokkos *)memory; + MEAM::meam_setup_done(cutmax); - memoryKK->destroy_kokkos(k_phirar6,phirar6); - memoryKK->destroy_kokkos(k_phirar5,phirar5); - memoryKK->destroy_kokkos(k_phirar4,phirar4); - memoryKK->destroy_kokkos(k_phirar3,phirar3); - memoryKK->destroy_kokkos(k_phirar2,phirar2); - memoryKK->destroy_kokkos(k_phirar1,phirar1); - memoryKK->destroy_kokkos(k_phirar,phirar); - memoryKK->destroy_kokkos(k_phir,phir); + MemKK::realloc_kokkos(d_phir, "pair:phir", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar, "pair:phirar", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar1, "pair:phirar1", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar2, "pair:phirar2", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar3, "pair:phirar3", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar4, "pair:phirar4", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar5, "pair:phirar5", (neltypes * (neltypes + 1)) / 2, nr); + MemKK::realloc_kokkos(d_phirar6, "pair:phirar6", (neltypes * (neltypes + 1)) / 2, nr); - memoryKK->create_kokkos(k_phir, phir, (neltypes * (neltypes + 1)) / 2, nr, "pair:phir"); - memoryKK->create_kokkos(k_phirar, phirar, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar"); - memoryKK->create_kokkos(k_phirar1, phirar1, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar1"); - memoryKK->create_kokkos(k_phirar2, phirar2, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar2"); - memoryKK->create_kokkos(k_phirar3, phirar3, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar3"); - memoryKK->create_kokkos(k_phirar4, phirar4, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar4"); - memoryKK->create_kokkos(k_phirar5, phirar5, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar5"); - memoryKK->create_kokkos(k_phirar6, phirar6, (neltypes * (neltypes + 1)) / 2, nr, "pair:phirar6"); - - h_phir = k_phir.h_view; - h_phirar = k_phirar.h_view; - h_phirar1 = k_phirar1.h_view; - h_phirar2 = k_phirar2.h_view; - h_phirar3 = k_phirar3.h_view; - h_phirar4 = k_phirar4.h_view; - h_phirar5 = k_phirar5.h_view; - h_phirar6 = k_phirar6.h_view; + auto h_phir = Kokkos::create_mirror_view(d_phir); + auto h_phirar = Kokkos::create_mirror_view(d_phirar); + auto h_phirar1 = Kokkos::create_mirror_view(d_phirar1); + auto h_phirar2 = Kokkos::create_mirror_view(d_phirar2); + auto h_phirar3 = Kokkos::create_mirror_view(d_phirar3); + auto h_phirar4 = Kokkos::create_mirror_view(d_phirar4); + auto h_phirar5 = Kokkos::create_mirror_view(d_phirar5); + auto h_phirar6 = Kokkos::create_mirror_view(d_phirar6); for (int i = 0; i <(neltypes * (neltypes + 1)) / 2; i++) - for(int j = 0; j < nr; j++) - { - h_phir(i,j) = phir[i][j]; - h_phirar(i,j) = phirar[i][j]; - h_phirar1(i,j) = phirar1[i][j]; - h_phirar2(i,j) = phirar2[i][j]; - h_phirar3(i,j) = phirar3[i][j]; - h_phirar4(i,j) = phirar4[i][j]; - h_phirar5(i,j) = phirar5[i][j]; - h_phirar6(i,j) = phirar6[i][j]; + for(int j = 0; j < nr; j++) { + h_phir(i,j) = phir[i][j]; + h_phirar(i,j) = phirar[i][j]; + h_phirar1(i,j) = phirar1[i][j]; + h_phirar2(i,j) = phirar2[i][j]; + h_phirar3(i,j) = phirar3[i][j]; + h_phirar4(i,j) = phirar4[i][j]; + h_phirar5(i,j) = phirar5[i][j]; + h_phirar6(i,j) = phirar6[i][j]; } - k_phir.template modify(); - k_phir.template sync(); - d_phir = k_phir.template view(); - k_phirar.template modify(); - k_phirar.template sync(); - d_phirar = k_phirar.template view(); - k_phirar1.template modify(); - k_phirar1.template sync(); - d_phirar1 = k_phirar1.template view(); - k_phirar2.template modify(); - k_phirar2.template sync(); - d_phirar2 = k_phirar2.template view(); - k_phirar3.template modify(); - k_phirar3.template sync(); - d_phirar3 = k_phirar3.template view(); - k_phirar4.template modify(); - k_phirar4.template sync(); - d_phirar4 = k_phirar4.template view(); - k_phirar5.template modify(); - k_phirar5.template sync(); - d_phirar5 = k_phirar5.template view(); - k_phirar6.template modify(); - k_phirar6.template sync(); - d_phirar6 = k_phirar6.template view(); + + Kokkos::deep_copy(d_phir,h_phir); + Kokkos::deep_copy(d_phirar,h_phirar); + Kokkos::deep_copy(d_phirar1,h_phirar1); + Kokkos::deep_copy(d_phirar2,h_phirar2); + Kokkos::deep_copy(d_phirar3,h_phirar3); + Kokkos::deep_copy(d_phirar4,h_phirar4); + Kokkos::deep_copy(d_phirar5,h_phirar5); + Kokkos::deep_copy(d_phirar6,h_phirar6); } diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp index 38386d0a7a..33343f4af5 100644 --- a/src/KOKKOS/pair_meam_kokkos.cpp +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -12,86 +12,67 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Greg Wagner (SNL) + Contributing authors: Naga Vydyanathan (NVIDIA), Stan Moore (SNL) ------------------------------------------------------------------------- */ -#include -#include -#include -#include -//KK* -#include "meam_kokkos.h" -#include "kokkos.h" -#include "pair_kokkos.h" -//#include "pair_meamc.h" - #include "pair_meam_kokkos.h" +#include "meam_kokkos.h" + #include "atom_kokkos.h" -//*KK -#include "force.h" -#include "comm.h" -//KK* -//#include "memory.h" -#include "memory_kokkos.h" -//*KK -#include "neighbor.h" -//KK* -//#include "neigh_list.h" -#include "neigh_list_kokkos.h" -//*KK -#include "neigh_request.h" -#include "error.h" -//*KK #include "atom_masks.h" -//*KK +#include "comm.h" +#include "error.h" +#include "force.h" +#include "kokkos.h" +#include "memory_kokkos.h" +#include "neigh_list_kokkos.h" +#include "neigh_request.h" +#include "neighbor.h" + +#include using namespace LAMMPS_NS; -#if 0 -static const int nkeywords = 21; -static const char *keywords[] = { - "Ec","alpha","rho0","delta","lattce", - "attrac","repuls","nn2","Cmin","Cmax","rc","delr", - "augt1","gsmooth_factor","re","ialloy", - "mixture_ref_t","erose_form","zbl", - "emb_lin_neg","bkgd_dyn"}; -#endif - /* ---------------------------------------------------------------------- */ + template PairMEAMKokkos::PairMEAMKokkos(LAMMPS *lmp) : PairMEAM(lmp) { respa_enable = 0; + kokkosable = 1; + reverse_comm_device = 1; atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; - meam_inst_kk = new MEAMKokkos(memory); + delete meam_inst; + meam_inst_kk = new MEAMKokkos(memory); meam_inst = meam_inst_kk; } + /* ---------------------------------------------------------------------- */ template PairMEAMKokkos::~PairMEAMKokkos() { - if (!copymode) { - memoryKK->destroy_kokkos(k_eatom,eatom); - memoryKK->destroy_kokkos(k_vatom,vatom); - delete meam_inst_kk; - } + if (copymode) return; + + memoryKK->destroy_kokkos(k_eatom,eatom); + memoryKK->destroy_kokkos(k_vatom,vatom); + delete meam_inst_kk; + meam_inst = nullptr; } /* ---------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- */ template void PairMEAMKokkos::compute(int eflag_in, int vflag_in) { eflag = eflag_in; vflag = vflag_in; - + if (neighflag == FULL) no_virial_fdotr_compute = 1; ev_init(eflag,vflag,0); @@ -105,36 +86,32 @@ void PairMEAMKokkos::compute(int eflag_in, int vflag_in) } if (vflag_atom) { memoryKK->destroy_kokkos(k_vatom,vatom); - memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom"); + memoryKK->create_kokkos(k_vatom,vatom,maxvatom,"pair:vatom"); d_vatom = k_vatom.view(); } - atomKK->sync(execution_space,datamask_read); - if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); - else atomKK->modified(execution_space,F_MASK); - - // neighbor list info - NeighListKokkos* k_halflist = static_cast*>(listhalf); int inum_half = listhalf->inum; - int* numneigh_half = listhalf->numneigh; - int* ilist_half = listhalf->ilist; - + NeighListKokkos* k_halflist = static_cast*>(listhalf); d_ilist_half = k_halflist->d_ilist; d_numneigh_half = k_halflist->d_numneigh; d_neighbors_half = k_halflist->d_neighbors; + NeighListKokkos* k_fulllist = static_cast*>(listfull); d_numneigh_full = k_fulllist->d_numneigh; d_neighbors_full = k_fulllist->d_neighbors; + EV_FLOAT ev; + copymode = 1; + meam_inst_kk->copymode = 1; // strip neighbor lists of any special bond flags before using with MEAM // necessary before doing neigh_f2c and neigh_c2f conversions each step - if (neighbor->ago == 0) { - Kokkos::parallel_for(Kokkos::RangePolicy(0,inum_half),*this); - } + + if (neighbor->ago == 0) + Kokkos::parallel_for(Kokkos::RangePolicy(0,inum_half),*this); // check size of scrfcn based on half neighbor list @@ -142,152 +119,137 @@ void PairMEAMKokkos::compute(int eflag_in, int vflag_in) nall = nlocal + atom->nghost; int n = 0; - //for (ii = 0; ii < inum_half; ii++) n += numneigh_half[ilist_half[ii]]; - Kokkos::parallel_reduce(Kokkos::RangePolicy(0,inum_half), *this, n); + Kokkos::parallel_reduce(Kokkos::RangePolicy(0,inum_half),*this,n); meam_inst_kk->meam_dens_setup(atom->nmax, nall, n); - //double **x = atom->x; x = atomKK->k_x.view(); - - //double **f = atom->f; f = atomKK->k_f.view(); - - //int *type = atom->type; type = atomKK->k_type.view(); + atomKK->sync(execution_space,datamask_read); + int ntype = atom->ntypes; // 3 stages of MEAM calculation // loop over my atoms followed by communication - int offset = 0; int errorflag = 0; -#if 0 - for (ii = 0; ii < inum_half; ii++) { - i = ilist_half[ii]; - meam_inst->meam_dens_init(i,ntype,type,map,x, - numneigh_half[i],firstneigh_half[i], - numneigh_full[i],firstneigh_full[i], - offset); - offset += numneigh_half[i]; - } -#endif - // To do: create the cumulative offset array in host and device - k_offset = DAT::tdual_int_1d("pair:offset",inum_half+1); - h_offset = k_offset.h_view; - d_offset = k_offset.template view(); - ArrayTypes::t_int_1d h_ilist; - ArrayTypes::t_int_1d h_numneigh; - h_ilist = Kokkos::create_mirror_view(k_halflist->d_ilist); - h_numneigh = Kokkos::create_mirror_view(k_halflist->d_numneigh); - Kokkos::deep_copy(h_ilist,k_halflist->d_ilist); - Kokkos::deep_copy(h_numneigh,k_halflist->d_numneigh); + d_offset = typename AT::t_int_1d("pair:offset",inum_half+1); + { + // local variables for lambda capture - h_offset[0] = 0; - for (int ii = 0; ii < inum_half; ii++) { - int i = h_ilist[ii]; - h_offset[ii+1] = h_offset[ii] + h_numneigh[i]; + auto l_ilist_half = d_ilist_half; + auto l_numneigh_half = d_numneigh_half; + auto l_offset = d_offset; + + Kokkos::parallel_scan(inum_half, LAMMPS_LAMBDA(int ii, int &m_fill, bool final) { + int i = l_ilist_half[ii]; + m_fill += l_numneigh_half[i]; + if (final) + l_offset[ii+1] = m_fill; + }); } - k_offset.template modify(); - k_offset.template sync(); - meam_inst_kk->meam_dens_init(inum_half,ntype,type,d_map,x,d_numneigh_half,d_numneigh_full,&offset,d_ilist_half,d_neighbors_half, d_neighbors_full, d_offset, neighflag); + + int need_dup = lmp->kokkos->need_dup(); + + meam_inst_kk->meam_dens_init(inum_half,ntype,type,d_map,x,d_numneigh_half,d_numneigh_full,d_ilist_half,d_neighbors_half, d_neighbors_full, d_offset, neighflag, need_dup); + meam_inst_kk->k_rho0.template modify(); - meam_inst_kk->k_rho0.template sync(); - meam_inst_kk->k_arho2b.template modify(); - meam_inst_kk->k_arho2b.template sync(); - meam_inst_kk->k_arho1.template modify(); - meam_inst_kk->k_arho1.template sync(); - meam_inst_kk->k_arho2.template modify(); - meam_inst_kk->k_arho2.template sync(); - meam_inst_kk->k_arho3.template modify(); - meam_inst_kk->k_arho3.template sync(); - meam_inst_kk->k_arho3b.template modify(); - meam_inst_kk->k_arho3b.template sync(); - meam_inst_kk->k_t_ave.template modify(); - meam_inst_kk->k_t_ave.template sync(); - meam_inst_kk->k_tsq_ave.template modify(); - meam_inst_kk->k_tsq_ave.template sync(); comm->reverse_comm(this); - meam_inst_kk->k_rho0.template modify(); meam_inst_kk->k_rho0.template sync(); - - meam_inst_kk->k_arho2b.template modify(); meam_inst_kk->k_arho2b.template sync(); - - meam_inst_kk->k_arho1.template modify(); meam_inst_kk->k_arho1.template sync(); - - meam_inst_kk->k_arho2.template modify(); meam_inst_kk->k_arho2.template sync(); - - meam_inst_kk->k_arho3.template modify(); meam_inst_kk->k_arho3.template sync(); - - meam_inst_kk->k_arho3b.template modify(); meam_inst_kk->k_arho3b.template sync(); - - meam_inst_kk->k_t_ave.template modify(); meam_inst_kk->k_t_ave.template sync(); - - meam_inst_kk->k_tsq_ave.template modify(); meam_inst_kk->k_tsq_ave.template sync(); - meam_inst_kk->meam_dens_final(nlocal,eflag_either,eflag_global,eflag_atom, - &eng_vdwl,d_eatom,ntype,type,d_map,errorflag); - if (errorflag) { - char str[128]; - sprintf(str,"MEAM library error %d",errorflag); - error->one(FLERR,str); - } + d_eatom,ntype,type,d_map,d_scale,errorflag,ev); + + if (errorflag) + error->one(FLERR,"MEAM library error {}",errorflag); + + meam_inst_kk->k_rho0.template modify(); + meam_inst_kk->k_rho1.template modify(); + meam_inst_kk->k_rho2.template modify(); + meam_inst_kk->k_rho3.template modify(); + meam_inst_kk->k_frhop.template modify(); + meam_inst_kk->k_gamma.template modify(); + meam_inst_kk->k_dgamma1.template modify(); + meam_inst_kk->k_dgamma2.template modify(); + meam_inst_kk->k_dgamma3.template modify(); + meam_inst_kk->k_arho2b.template modify(); + meam_inst_kk->k_arho1.template modify(); + meam_inst_kk->k_arho2.template modify(); + meam_inst_kk->k_arho3.template modify(); + meam_inst_kk->k_arho3b.template modify(); + meam_inst_kk->k_t_ave.template modify(); + meam_inst_kk->k_tsq_ave.template modify(); comm->forward_comm(this); - offset = 0; + meam_inst_kk->k_rho0.template sync(); + meam_inst_kk->k_rho1.template sync(); + meam_inst_kk->k_rho2.template sync(); + meam_inst_kk->k_rho3.template sync(); + meam_inst_kk->k_frhop.template sync(); + meam_inst_kk->k_gamma.template sync(); + meam_inst_kk->k_dgamma1.template sync(); + meam_inst_kk->k_dgamma2.template sync(); + meam_inst_kk->k_dgamma3.template sync(); + meam_inst_kk->k_arho2b.template sync(); + meam_inst_kk->k_arho1.template sync(); + meam_inst_kk->k_arho2.template sync(); + meam_inst_kk->k_arho3.template sync(); + meam_inst_kk->k_arho3b.template sync(); + meam_inst_kk->k_t_ave.template sync(); + meam_inst_kk->k_tsq_ave.template sync(); - // vptr is first value in vatom if it will be used by meam_force() - // else vatom may not exist, so pass dummy ptr + meam_inst_kk->meam_force(inum_half,eflag_global,eflag_atom,vflag_global, + vflag_atom,d_eatom,ntype,type,d_map,x, + d_numneigh_half, d_numneigh_full,f,d_vatom, + d_ilist_half, d_offset, d_neighbors_half, d_neighbors_full, + neighflag, need_dup, ev); -#if 0 // To do: is this correct? vflag_atom is used to access vatom - typename ArrayTypes::t_virial_array vptr; - if (vflag_atom) vptr = d_vatom; - else vptr = NULL; - for (ii = 0; ii < inum_half; ii++) { - i = ilist_half[ii]; - meam_inst->meam_force(i,eflag_either,eflag_global,eflag_atom, - vflag_atom,&eng_vdwl,eatom,ntype,type,map,x, - numneigh_half[i],firstneigh_half[i], - numneigh_full[i],firstneigh_full[i], - offset,f,vptr); - offset += numneigh_half[i]; + if (eflag_global) eng_vdwl += ev.evdwl; + if (vflag_global) { + virial[0] += ev.v[0]; + virial[1] += ev.v[1]; + virial[2] += ev.v[2]; + virial[3] += ev.v[3]; + virial[4] += ev.v[4]; + virial[5] += ev.v[5]; } -#endif - meam_inst_kk->meam_force(inum_half, eflag_either,eflag_global,eflag_atom, - vflag_atom,&eng_vdwl,d_eatom,ntype,type,d_map,x, - d_numneigh_half, d_numneigh_full,f,d_vatom,d_ilist_half, d_offset, d_neighbors_half, d_neighbors_full, neighflag); if (vflag_fdotr) pair_virial_fdotr_compute(this); if (eflag_atom) { k_eatom.template modify(); - k_eatom.template sync(); + k_eatom.sync_host(); } if (vflag_atom) { k_vatom.template modify(); - k_vatom.template sync(); + k_vatom.sync_host(); } + if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); + else atomKK->modified(execution_space,F_MASK); + + copymode = 0; + meam_inst_kk->copymode = 0; } /* ---------------------------------------------------------------------- @@ -298,24 +260,22 @@ void PairMEAMKokkos::coeff(int narg, char **arg) { PairMEAM::coeff(narg,arg); - //sync map + // sync map and scale int n = atom->ntypes; - k_map = DAT::tdual_int_1d("pair:map",n+1); - HAT::t_int_1d h_map = k_map.h_view; + MemKK::realloc_kokkos(d_map,"pair:map",n+1); + MemKK::realloc_kokkos(d_scale,"pair:scale",n+1,n+1); + auto h_map = Kokkos::create_mirror_view(d_map); + auto h_scale = Kokkos::create_mirror_view(d_scale); - for (int i = 1; i <= n; i++) + for (int i = 1; i <= n; i++) { h_map[i] = map[i]; + for (int j = 1; j <= n; j++) + h_scale(i,j) = scale[i][j]; + } - k_map.template modify(); - k_map.template sync(); - - d_map = k_map.template view(); - - // To do: need to synchronize phirar variables - - meam_inst_kk->meam_setup_done(); - + Kokkos::deep_copy(d_map,h_map); + Kokkos::deep_copy(d_scale,h_scale); } /* ---------------------------------------------------------------------- @@ -324,24 +284,27 @@ void PairMEAMKokkos::coeff(int narg, char **arg) template void PairMEAMKokkos::init_style() { - PairMEAM::init_style(); + // adjust neighbor list request for KOKKOS + neighflag = lmp->kokkos->neighflag; - auto request = neighbor->find_request(this); - - // MEAM needs both a full and half neighbor list? Not sure how to get that. - if (!(neighflag == FULL || neighflag == HALF || neighflag == HALFTHREAD)) - error->all(FLERR, "Cannot use chosen neighbor list style with pair meam/kk"); - + auto request = neighbor->find_request(this,1); request->set_kokkos_host(std::is_same::value && !std::is_same::value); request->set_kokkos_device(std::is_same::value); - if (neighflag == FULL) request->enable_full(); + request = neighbor->find_request(this,2); + request->set_kokkos_host(std::is_same::value && + !std::is_same::value); + request->set_kokkos_device(std::is_same::value); + + if (neighflag == FULL) + error->all(FLERR,"Must use half neighbor list style with pair meam/kk"); } /* ---------------------------------------------------------------------- */ + template int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf, int pbc_flag, int *pbc) @@ -350,9 +313,11 @@ int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2 iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); - return n; + return n*38; } +/* ---------------------------------------------------------------------- */ + template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMPackForwardComm, const int &i) const { @@ -361,35 +326,36 @@ void PairMEAMKokkos::operator()(TagPairMEAMPackForwardComm, const in v_buf[m++] = meam_inst_kk->d_rho0[j]; v_buf[m++] = meam_inst_kk->d_rho1[j]; v_buf[m++] = meam_inst_kk->d_rho2[j]; - v_buf[m++] = meam_inst_kk->d_rho3[j]; - v_buf[m++] = meam_inst_kk->d_frhop[j]; - v_buf[m++] = meam_inst_kk->d_gamma[j]; - v_buf[m++] = meam_inst_kk->d_dgamma1[j]; - v_buf[m++] = meam_inst_kk->d_dgamma2[j]; - v_buf[m++] = meam_inst_kk->d_dgamma3[j]; - v_buf[m++] = meam_inst_kk->d_arho2b[j]; - v_buf[m++] = meam_inst_kk->d_arho1(j,0); - v_buf[m++] = meam_inst_kk->d_arho1(j,1); - v_buf[m++] = meam_inst_kk->d_arho1(j,2); - v_buf[m++] = meam_inst_kk->d_arho2(j,0); - v_buf[m++] = meam_inst_kk->d_arho2(j,1); - v_buf[m++] = meam_inst_kk->d_arho2(j,2); - v_buf[m++] = meam_inst_kk->d_arho2(j,3); - v_buf[m++] = meam_inst_kk->d_arho2(j,4); - v_buf[m++] = meam_inst_kk->d_arho2(j,5); - for (int k = 0; k < 10; k++) v_buf[m++] = meam_inst_kk->d_arho3(j,k); - v_buf[m++] = meam_inst_kk->d_arho3b(j,0); - v_buf[m++] = meam_inst_kk->d_arho3b(j,1); - v_buf[m++] = meam_inst_kk->d_arho3b(j,2); - v_buf[m++] = meam_inst_kk->d_t_ave(j,0); - v_buf[m++] = meam_inst_kk->d_t_ave(j,1); - v_buf[m++] = meam_inst_kk->d_t_ave(j,2); - v_buf[m++] = meam_inst_kk->d_tsq_ave(j,0); - v_buf[m++] = meam_inst_kk->d_tsq_ave(j,1); - v_buf[m++] = meam_inst_kk->d_tsq_ave(j,2); + v_buf[m++] = meam_inst_kk->d_rho3[j]; + v_buf[m++] = meam_inst_kk->d_frhop[j]; + v_buf[m++] = meam_inst_kk->d_gamma[j]; + v_buf[m++] = meam_inst_kk->d_dgamma1[j]; + v_buf[m++] = meam_inst_kk->d_dgamma2[j]; + v_buf[m++] = meam_inst_kk->d_dgamma3[j]; + v_buf[m++] = meam_inst_kk->d_arho2b[j]; + v_buf[m++] = meam_inst_kk->d_arho1(j,0); + v_buf[m++] = meam_inst_kk->d_arho1(j,1); + v_buf[m++] = meam_inst_kk->d_arho1(j,2); + v_buf[m++] = meam_inst_kk->d_arho2(j,0); + v_buf[m++] = meam_inst_kk->d_arho2(j,1); + v_buf[m++] = meam_inst_kk->d_arho2(j,2); + v_buf[m++] = meam_inst_kk->d_arho2(j,3); + v_buf[m++] = meam_inst_kk->d_arho2(j,4); + v_buf[m++] = meam_inst_kk->d_arho2(j,5); + for (int k = 0; k < 10; k++) v_buf[m++] = meam_inst_kk->d_arho3(j,k); + v_buf[m++] = meam_inst_kk->d_arho3b(j,0); + v_buf[m++] = meam_inst_kk->d_arho3b(j,1); + v_buf[m++] = meam_inst_kk->d_arho3b(j,2); + v_buf[m++] = meam_inst_kk->d_t_ave(j,0); + v_buf[m++] = meam_inst_kk->d_t_ave(j,1); + v_buf[m++] = meam_inst_kk->d_t_ave(j,2); + v_buf[m++] = meam_inst_kk->d_tsq_ave(j,0); + v_buf[m++] = meam_inst_kk->d_tsq_ave(j,1); + v_buf[m++] = meam_inst_kk->d_tsq_ave(j,2); } /* ---------------------------------------------------------------------- */ + template void PairMEAMKokkos::unpack_forward_comm_kokkos(int n, int first_in, DAT::tdual_xfloat_1d &buf) { @@ -398,6 +364,8 @@ void PairMEAMKokkos::unpack_forward_comm_kokkos(int n, int first_in, Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); } +/* ---------------------------------------------------------------------- */ + template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMUnpackForwardComm, const int &i) const{ @@ -432,18 +400,34 @@ void PairMEAMKokkos::operator()(TagPairMEAMUnpackForwardComm, const meam_inst_kk->d_tsq_ave(i+first,0) = v_buf[m++]; meam_inst_kk->d_tsq_ave(i+first,1) = v_buf[m++]; meam_inst_kk->d_tsq_ave(i+first,2) = v_buf[m++]; - } + } + +/* ---------------------------------------------------------------------- */ template int PairMEAMKokkos::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { - int i,j,k,m; + meam_inst_kk->k_rho0.sync_host(); + meam_inst_kk->k_rho1.sync_host(); + meam_inst_kk->k_rho2.sync_host(); + meam_inst_kk->k_rho3.sync_host(); + meam_inst_kk->k_frhop.sync_host(); + meam_inst_kk->k_gamma.sync_host(); + meam_inst_kk->k_dgamma1.sync_host(); + meam_inst_kk->k_dgamma2.sync_host(); + meam_inst_kk->k_dgamma3.sync_host(); + meam_inst_kk->k_arho2b.sync_host(); + meam_inst_kk->k_arho1.sync_host(); + meam_inst_kk->k_arho2.sync_host(); + meam_inst_kk->k_arho3.sync_host(); + meam_inst_kk->k_arho3b.sync_host(); + meam_inst_kk->k_t_ave.sync_host(); + meam_inst_kk->k_tsq_ave.sync_host(); - m = 0; - - for (i = 0; i < n; i++) { - j = list[i]; + int m = 0; + for (int i = 0; i < n; i++) { + const int j = list[i]; buf[m++] = meam_inst_kk->h_rho0[j]; buf[m++] = meam_inst_kk->h_rho1[j]; buf[m++] = meam_inst_kk->h_rho2[j]; @@ -463,7 +447,7 @@ int PairMEAMKokkos::pack_forward_comm(int n, int *list, double *buf, buf[m++] = meam_inst_kk->h_arho2(j,3); buf[m++] = meam_inst_kk->h_arho2(j,4); buf[m++] = meam_inst_kk->h_arho2(j,5); - for (k = 0; k < 10; k++) buf[m++] = meam_inst_kk->h_arho3(j,k); + for (int k = 0; k < 10; k++) buf[m++] = meam_inst_kk->h_arho3(j,k); buf[m++] = meam_inst_kk->h_arho3b(j,0); buf[m++] = meam_inst_kk->h_arho3b(j,1); buf[m++] = meam_inst_kk->h_arho3b(j,2); @@ -478,14 +462,31 @@ int PairMEAMKokkos::pack_forward_comm(int n, int *list, double *buf, return m; } +/* ---------------------------------------------------------------------- */ + template void PairMEAMKokkos::unpack_forward_comm(int n, int first, double *buf) { - int i,k,m,last; + meam_inst_kk->k_rho0.sync_host(); + meam_inst_kk->k_rho1.sync_host(); + meam_inst_kk->k_rho2.sync_host(); + meam_inst_kk->k_rho3.sync_host(); + meam_inst_kk->k_frhop.sync_host(); + meam_inst_kk->k_gamma.sync_host(); + meam_inst_kk->k_dgamma1.sync_host(); + meam_inst_kk->k_dgamma2.sync_host(); + meam_inst_kk->k_dgamma3.sync_host(); + meam_inst_kk->k_arho2b.sync_host(); + meam_inst_kk->k_arho1.sync_host(); + meam_inst_kk->k_arho2.sync_host(); + meam_inst_kk->k_arho3.sync_host(); + meam_inst_kk->k_arho3b.sync_host(); + meam_inst_kk->k_t_ave.sync_host(); + meam_inst_kk->k_tsq_ave.sync_host(); - m = 0; - last = first + n; - for (i = first; i < last; i++) { + int m = 0; + const int last = first + n; + for (int i = first; i < last; i++) { meam_inst_kk->h_rho0[i] = buf[m++]; meam_inst_kk->h_rho1[i] = buf[m++]; meam_inst_kk->h_rho2[i] = buf[m++]; @@ -505,7 +506,7 @@ void PairMEAMKokkos::unpack_forward_comm(int n, int first, double *b meam_inst_kk->h_arho2(i,3) = buf[m++]; meam_inst_kk->h_arho2(i,4) = buf[m++]; meam_inst_kk->h_arho2(i,5) = buf[m++]; - for (k = 0; k < 10; k++) meam_inst_kk->h_arho3(i,k) = buf[m++]; + for (int k = 0; k < 10; k++) meam_inst_kk->h_arho3(i,k) = buf[m++]; meam_inst_kk->h_arho3b(i,0) = buf[m++]; meam_inst_kk->h_arho3b(i,1) = buf[m++]; meam_inst_kk->h_arho3b(i,2) = buf[m++]; @@ -516,17 +517,83 @@ void PairMEAMKokkos::unpack_forward_comm(int n, int first, double *b meam_inst_kk->h_tsq_ave(i,1) = buf[m++]; meam_inst_kk->h_tsq_ave(i,2) = buf[m++]; } + + meam_inst_kk->k_rho0.modify_host(); + meam_inst_kk->k_rho1.modify_host(); + meam_inst_kk->k_rho2.modify_host(); + meam_inst_kk->k_rho3.modify_host(); + meam_inst_kk->k_frhop.modify_host(); + meam_inst_kk->k_gamma.modify_host(); + meam_inst_kk->k_dgamma1.modify_host(); + meam_inst_kk->k_dgamma2.modify_host(); + meam_inst_kk->k_dgamma3.modify_host(); + meam_inst_kk->k_arho2b.modify_host(); + meam_inst_kk->k_arho1.modify_host(); + meam_inst_kk->k_arho2.modify_host(); + meam_inst_kk->k_arho3.modify_host(); + meam_inst_kk->k_arho3b.modify_host(); + meam_inst_kk->k_t_ave.modify_host(); + meam_inst_kk->k_tsq_ave.modify_host(); } /* ---------------------------------------------------------------------- */ + +template +int PairMEAMKokkos::pack_reverse_comm_kokkos(int n, int first_in, DAT::tdual_xfloat_1d &buf) +{ + first = first_in; + v_buf = buf.view(); + Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); + return n*30; +} + +/* ---------------------------------------------------------------------- */ + +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMPackReverseComm, const int &i) const { + int m = i*30; + + v_buf[m++] = meam_inst_kk->d_rho0[i+first]; + v_buf[m++] = meam_inst_kk->d_arho2b[i+first]; + v_buf[m++] = meam_inst_kk->d_arho1(i+first,0); + v_buf[m++] = meam_inst_kk->d_arho1(i+first,1); + v_buf[m++] = meam_inst_kk->d_arho1(i+first,2); + v_buf[m++] = meam_inst_kk->d_arho2(i+first,0); + v_buf[m++] = meam_inst_kk->d_arho2(i+first,1); + v_buf[m++] = meam_inst_kk->d_arho2(i+first,2); + v_buf[m++] = meam_inst_kk->d_arho2(i+first,3); + v_buf[m++] = meam_inst_kk->d_arho2(i+first,4); + v_buf[m++] = meam_inst_kk->d_arho2(i+first,5); + for (int k = 0; k < 10; k++) v_buf[m++] = meam_inst_kk->d_arho3(i+first,k); + v_buf[m++] = meam_inst_kk->d_arho3b(i+first,0); + v_buf[m++] = meam_inst_kk->d_arho3b(i+first,1); + v_buf[m++] = meam_inst_kk->d_arho3b(i+first,2); + v_buf[m++] = meam_inst_kk->d_t_ave(i+first,0); + v_buf[m++] = meam_inst_kk->d_t_ave(i+first,1); + v_buf[m++] = meam_inst_kk->d_t_ave(i+first,2); + v_buf[m++] = meam_inst_kk->d_tsq_ave(i+first,0); + v_buf[m++] = meam_inst_kk->d_tsq_ave(i+first,1); + v_buf[m++] = meam_inst_kk->d_tsq_ave(i+first,2); +} + +/* ---------------------------------------------------------------------- */ + template int PairMEAMKokkos::pack_reverse_comm(int n, int first, double *buf) { - int i,k,m,last; + meam_inst_kk->k_rho0.sync_host(); + meam_inst_kk->k_arho2b.sync_host(); + meam_inst_kk->k_arho1.sync_host(); + meam_inst_kk->k_arho2.sync_host(); + meam_inst_kk->k_arho3.sync_host(); + meam_inst_kk->k_arho3b.sync_host(); + meam_inst_kk->k_t_ave.sync_host(); + meam_inst_kk->k_tsq_ave.sync_host(); - m = 0; - last = first + n; - for (i = first; i < last; i++) { + int m = 0; + const int last = first + n; + for (int i = first; i < last; i++) { buf[m++] = meam_inst_kk->h_rho0[i]; buf[m++] = meam_inst_kk->h_arho2b[i]; buf[m++] = meam_inst_kk->h_arho1(i,0); @@ -538,7 +605,7 @@ int PairMEAMKokkos::pack_reverse_comm(int n, int first, double *buf) buf[m++] = meam_inst_kk->h_arho2(i,3); buf[m++] = meam_inst_kk->h_arho2(i,4); buf[m++] = meam_inst_kk->h_arho2(i,5); - for (k = 0; k < 10; k++) buf[m++] = meam_inst_kk->h_arho3(i,k); + for (int k = 0; k < 10; k++) buf[m++] = meam_inst_kk->h_arho3(i,k); buf[m++] = meam_inst_kk->h_arho3b(i,0); buf[m++] = meam_inst_kk->h_arho3b(i,1); buf[m++] = meam_inst_kk->h_arho3b(i,2); @@ -554,14 +621,64 @@ int PairMEAMKokkos::pack_reverse_comm(int n, int first, double *buf) } /* ---------------------------------------------------------------------- */ + +template +void PairMEAMKokkos::unpack_reverse_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf) +{ + d_sendlist = k_sendlist.view(); + iswap = iswap_in; + v_buf = buf.view(); + Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); +} + +/* ---------------------------------------------------------------------- */ + +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMUnpackReverseComm, const int &i) const { + int j = d_sendlist(iswap, i); + int m = i*30; + + meam_inst_kk->d_rho0[j] += v_buf[m++]; + meam_inst_kk->d_arho2b[j] += v_buf[m++]; + meam_inst_kk->d_arho1(j,0) += v_buf[m++]; + meam_inst_kk->d_arho1(j,1) += v_buf[m++]; + meam_inst_kk->d_arho1(j,2) += v_buf[m++]; + meam_inst_kk->d_arho2(j,0) += v_buf[m++]; + meam_inst_kk->d_arho2(j,1) += v_buf[m++]; + meam_inst_kk->d_arho2(j,2) += v_buf[m++]; + meam_inst_kk->d_arho2(j,3) += v_buf[m++]; + meam_inst_kk->d_arho2(j,4) += v_buf[m++]; + meam_inst_kk->d_arho2(j,5) += v_buf[m++]; + for (int k = 0; k < 10; k++) meam_inst_kk->d_arho3(j,k) += v_buf[m++]; + meam_inst_kk->d_arho3b(j,0) += v_buf[m++]; + meam_inst_kk->d_arho3b(j,1) += v_buf[m++]; + meam_inst_kk->d_arho3b(j,2) += v_buf[m++]; + meam_inst_kk->d_t_ave(j,0) += v_buf[m++]; + meam_inst_kk->d_t_ave(j,1) += v_buf[m++]; + meam_inst_kk->d_t_ave(j,2) += v_buf[m++]; + meam_inst_kk->d_tsq_ave(j,0) += v_buf[m++]; + meam_inst_kk->d_tsq_ave(j,1) += v_buf[m++]; + meam_inst_kk->d_tsq_ave(j,2) += v_buf[m++]; +} + +/* ---------------------------------------------------------------------- */ + template void PairMEAMKokkos::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,k,m; + meam_inst_kk->k_rho0.sync_host(); + meam_inst_kk->k_arho2b.sync_host(); + meam_inst_kk->k_arho1.sync_host(); + meam_inst_kk->k_arho2.sync_host(); + meam_inst_kk->k_arho3.sync_host(); + meam_inst_kk->k_arho3b.sync_host(); + meam_inst_kk->k_t_ave.sync_host(); + meam_inst_kk->k_tsq_ave.sync_host(); - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; + int m = 0; + for (int i = 0; i < n; i++) { + const int j = list[i]; meam_inst_kk->h_rho0[j] += buf[m++]; meam_inst_kk->h_arho2b[j] += buf[m++]; meam_inst_kk->h_arho1(j,0) += buf[m++]; @@ -573,7 +690,7 @@ void PairMEAMKokkos::unpack_reverse_comm(int n, int *list, double *b meam_inst_kk->h_arho2(j,3) += buf[m++]; meam_inst_kk->h_arho2(j,4) += buf[m++]; meam_inst_kk->h_arho2(j,5) += buf[m++]; - for (k = 0; k < 10; k++) meam_inst_kk->h_arho3(j,k) += buf[m++]; + for (int k = 0; k < 10; k++) meam_inst_kk->h_arho3(j,k) += buf[m++]; meam_inst_kk->h_arho3b(j,0) += buf[m++]; meam_inst_kk->h_arho3b(j,1) += buf[m++]; meam_inst_kk->h_arho3b(j,2) += buf[m++]; @@ -584,46 +701,48 @@ void PairMEAMKokkos::unpack_reverse_comm(int n, int *list, double *b meam_inst_kk->h_tsq_ave(j,1) += buf[m++]; meam_inst_kk->h_tsq_ave(j,2) += buf[m++]; } + + meam_inst_kk->k_rho0.modify_host(); + meam_inst_kk->k_arho2b.modify_host(); + meam_inst_kk->k_arho1.modify_host(); + meam_inst_kk->k_arho2.modify_host(); + meam_inst_kk->k_arho3.modify_host(); + meam_inst_kk->k_arho3b.modify_host(); + meam_inst_kk->k_t_ave.modify_host(); + meam_inst_kk->k_tsq_ave.modify_host(); } /* ---------------------------------------------------------------------- - memory usage of local atom-based arrays + strip special bond flags from neighbor list entries + are not used with MEAM + need to do here so Fortran lib doesn't see them + done once per reneighbor so that neigh_f2c and neigh_c2f don't see them ------------------------------------------------------------------------- */ -template -double PairMEAMKokkos::memory_usage() -{ - double bytes = 11 * meam_inst_kk->nmax * sizeof(double); - bytes += (3 + 6 + 10 + 3 + 3 + 3) * meam_inst_kk->nmax * sizeof(double); - bytes += 3 * meam_inst_kk->maxneigh * sizeof(double); - return bytes; -} -template -KOKKOS_INLINE_FUNCTION -void PairMEAMKokkos::operator()(TagPairMEAMKernelNeighStrip, const int &ii) const { -/* ---------------------------------------------------------------------- - * strip special bond flags from neighbor list entries - * are not used with MEAM - * need to do here so Fortran lib doesn't see them - * done once per reneighbor so that neigh_f2c and neigh_c2f don't see them - * ------------------------------------------------------------------------- */ - const int i = d_ilist_half[ii]; - const int jnum_half = d_numneigh_half[i]; - const int jnum_full = d_numneigh_full[i]; - for (int jj = 0; jj < jnum_half; jj++) { - d_neighbors_half(i,jj) &= NEIGHMASK; - } - for (int jj = 0; jj < jnum_full; jj++) { - d_neighbors_full(i,jj) &= NEIGHMASK; - } -} template KOKKOS_INLINE_FUNCTION -void PairMEAMKokkos::operator()(TagPairMEAMKernelA, const int ii, int &n) const { - const int i = d_ilist_half[ii]; - n += d_numneigh_half[i]; +void PairMEAMKokkos::operator()(TagPairMEAMNeighStrip, const int &ii) const { + + const int i = d_ilist_half[ii]; + const int jnum_half = d_numneigh_half[i]; + const int jnum_full = d_numneigh_full[i]; + for (int jj = 0; jj < jnum_half; jj++) + d_neighbors_half(i,jj) &= NEIGHMASK; + for (int jj = 0; jj < jnum_full; jj++) + d_neighbors_full(i,jj) &= NEIGHMASK; } +/* ---------------------------------------------------------------------- */ + +template +KOKKOS_INLINE_FUNCTION +void PairMEAMKokkos::operator()(TagPairMEAMOffsets, const int ii, int &n) const { + const int i = d_ilist_half[ii]; + n += d_numneigh_half[i]; +} + +/* ---------------------------------------------------------------------- */ + namespace LAMMPS_NS { template class PairMEAMKokkos; #ifdef KOKKOS_ENABLE_CUDA diff --git a/src/KOKKOS/pair_meam_kokkos.h b/src/KOKKOS/pair_meam_kokkos.h index 114f4a1665..c18c9151f2 100644 --- a/src/KOKKOS/pair_meam_kokkos.h +++ b/src/KOKKOS/pair_meam_kokkos.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -12,31 +12,33 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - +// clang-format off PairStyle(meam/c/kk,PairMEAMKokkos) PairStyle(meam/c/kk/device,PairMEAMKokkos) PairStyle(meam/c/kk/host,PairMEAMKokkos) PairStyle(meam/kk,PairMEAMKokkos) PairStyle(meam/kk/device,PairMEAMKokkos) PairStyle(meam/kk/host,PairMEAMKokkos) - +// clang-format on #else -#ifndef LMP_PAIR_MEAMC_KOKKOS_H -#define LMP_PAIR_MEAMC_KOKKOS_H +// clang-format off +#ifndef LMP_PAIR_MEAM_KOKKOS_H +#define LMP_PAIR_MEAM_KOKKOS_H #include "kokkos_base.h" #include "pair_kokkos.h" #include "pair_meam.h" -#include "neigh_list_kokkos.h" #include "meam_kokkos.h" - namespace LAMMPS_NS { -struct TagPairMEAMKernelNeighStrip{}; -struct TagPairMEAMKernelA{}; + +struct TagPairMEAMNeighStrip{}; +struct TagPairMEAMOffsets{}; struct TagPairMEAMPackForwardComm{}; struct TagPairMEAMUnpackForwardComm{}; +struct TagPairMEAMPackReverseComm{}; +struct TagPairMEAMUnpackReverseComm{}; template class MEAMKokkos; @@ -48,13 +50,13 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { enum {COUL_FLAG=0}; typedef DeviceType device_type; typedef ArrayTypes AT; - //typedef EV_FLOAT value_type; + typedef int value_type; PairMEAMKokkos(class LAMMPS *); - virtual ~PairMEAMKokkos(); - void compute(int, int); - void coeff(int, char **); - void init_style(); + ~PairMEAMKokkos() override; + void compute(int, int) override; + void coeff(int, char **) override; + void init_style() override; KOKKOS_INLINE_FUNCTION void operator()(TagPairMEAMPackForwardComm, const int&) const; @@ -63,104 +65,59 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { void operator()(TagPairMEAMUnpackForwardComm, const int&) const; KOKKOS_INLINE_FUNCTION - void operator()(TagPairMEAMKernelNeighStrip, const int&) const; + void operator()(TagPairMEAMPackReverseComm, const int&) const; KOKKOS_INLINE_FUNCTION - void operator()(TagPairMEAMKernelA, const int, int&) const; + void operator()(TagPairMEAMUnpackReverseComm, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagPairMEAMNeighStrip, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagPairMEAMOffsets, const int, int&) const; int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, - int, int *); - void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&); - int pack_forward_comm(int, int *, double *, int, int *); - void unpack_forward_comm(int, int, double *); - int pack_reverse_comm(int, int, double *); - void unpack_reverse_comm(int, int *, double *); - double memory_usage(); + int, int *) override; + int pack_forward_comm(int, int *, double *, int, int *) override; + void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; + void unpack_forward_comm(int, int, double *) override; + int pack_reverse_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; + int pack_reverse_comm(int, int, double *) override; + void unpack_reverse_comm_kokkos(int, DAT::tdual_int_2d, + int, DAT::tdual_xfloat_1d&) override; + void unpack_reverse_comm(int, int *, double *) override; protected: class MEAMKokkos *meam_inst_kk; - typename AT::t_x_array_randomread x; + typename AT::t_x_array x; typename AT::t_f_array f; - typename AT::t_int_1d_randomread type; + typename AT::t_int_1d type; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; - typename ArrayTypes::t_efloat_1d d_eatom; - typename ArrayTypes::t_virial_array d_vatom; + typename AT::t_efloat_1d d_eatom; + typename AT::t_virial_array d_vatom; - DAT::tdual_int_1d k_offset; - HAT::t_int_1d h_offset; - typename AT::t_int_1d_randomread d_offset; + typename AT::t_int_1d d_offset; DAT::tdual_int_1d k_map; - typename AT::t_int_1d_randomread d_map; - typename AT::t_int_1d_randomread d_ilist_half; - typename AT::t_int_1d_randomread d_numneigh_half; + typename AT::t_int_1d d_map; + typename AT::t_int_2d d_scale; + typename AT::t_int_1d d_ilist_half; + typename AT::t_int_1d d_numneigh_half; typename AT::t_neighbors_2d d_neighbors_half; - typename AT::t_int_1d_randomread d_numneigh_full; + typename AT::t_int_1d d_numneigh_full; typename AT::t_neighbors_2d d_neighbors_full; typename AT::t_int_2d d_sendlist; typename AT::t_xfloat_1d_um v_buf; - + + int iswap,first; int neighflag,nlocal,nall,eflag,vflag; - int iswap; - int first; friend void pair_virial_fdotr_compute(PairMEAMKokkos*); - }; } - #endif #endif -/* ERROR/WARNING messages: - -E: MEAM library error %d - -A call to the MEAM Fortran library returned an error. - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -E: Pair style MEAM requires newton pair on - -See the newton command. This is a restriction to use the MEAM -potential. - -E: Cannot open MEAM potential file %s - -The specified MEAM potential file cannot be opened. Check that the -path and name are correct. - -E: Incorrect format in MEAM potential file - -Incorrect number of words per line in the potential file. - -E: Unrecognized lattice type in MEAM file 1 - -The lattice type in an entry of the MEAM library file is not -valid. - -E: Did not find all elements in MEAM library file - -The requested elements were not found in the MEAM file. - -E: Keyword %s in MEAM parameter file not recognized - -Self-explanatory. - -E: Unrecognized lattice type in MEAM file 2 - -The lattice type in an entry of the MEAM parameter file is not -valid. - -*/ diff --git a/src/MEAM/meam.h b/src/MEAM/meam.h index 8b94ac0084..8a2f43e354 100644 --- a/src/MEAM/meam.h +++ b/src/MEAM/meam.h @@ -27,7 +27,9 @@ typedef enum { FCC, BCC, HCP, DIM, DIA, DIA3, B1, C11, L12, B2, CH4, LIN, ZIG, T class MEAM { public: MEAM(Memory *mem); - ~MEAM(); + virtual ~MEAM(); + + int copymode; protected: Memory *memory; @@ -285,8 +287,8 @@ class MEAM { double *rozero, int *ibar); void meam_setup_param(int which, double value, int nindex, int *index /*index(3)*/, int *errorflag); - void meam_setup_done(double *cutmax); - void meam_dens_setup(int atom_nmax, int nall, int n_neigh); + virtual void meam_setup_done(double *cutmax); + virtual void meam_dens_setup(int atom_nmax, int nall, int n_neigh); void meam_dens_init(int i, int ntype, int *type, int *fmap, double **x, int numneigh, int *firstneigh, int numneigh_full, int *firstneigh_full, int fnoffset); void meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, diff --git a/src/MEAM/meam_impl.cpp b/src/MEAM/meam_impl.cpp index 499a2b1520..d0d81cee88 100644 --- a/src/MEAM/meam_impl.cpp +++ b/src/MEAM/meam_impl.cpp @@ -36,6 +36,7 @@ MEAM::MEAM(Memory* mem) maxneigh = 0; scrfcn = dscrfcn = fcpair = nullptr; + copymode = 0; neltypes = 0; for (int i = 0; i < maxelt; i++) { @@ -53,6 +54,8 @@ MEAM::MEAM(Memory* mem) MEAM::~MEAM() { + if (copymode) return; + memory->destroy(this->phirar6); memory->destroy(this->phirar5); memory->destroy(this->phirar4); diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index ab027dcb89..6cbe5c69b9 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -75,7 +75,8 @@ PairMEAM::~PairMEAM() { if (copymode) return; - delete meam_inst; + if (meam_inst) + delete meam_inst; if (allocated) { memory->destroy(setflag); diff --git a/src/MEAM/pair_meam.h b/src/MEAM/pair_meam.h index ffe8045ac9..304e7eb41f 100644 --- a/src/MEAM/pair_meam.h +++ b/src/MEAM/pair_meam.h @@ -52,7 +52,7 @@ class PairMEAM : public Pair { double **scale; // scaling factor for adapt - virtual void allocate(); + void allocate(); void read_files(const std::string &, const std::string &); void read_global_meam_file(const std::string &); void read_user_meam_file(const std::string &); diff --git a/src/pair.cpp b/src/pair.cpp index 44f23745d9..5ce4dc2d32 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -126,6 +126,7 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp) datamask_modify = ALL_MASK; kokkosable = 0; + reverse_comm_device = 0; copymode = 0; } diff --git a/src/pair.h b/src/pair.h index 4763a225d2..5bad9e14a3 100644 --- a/src/pair.h +++ b/src/pair.h @@ -123,6 +123,7 @@ class Pair : protected Pointers { ExecutionSpace execution_space; unsigned int datamask_read, datamask_modify; int kokkosable; // 1 if Kokkos pair + int reverse_comm_device; // 1 if reverse comm on Device Pair(class LAMMPS *); ~Pair() override; From 23ee2a97fa2907040cef8b8f5d266fec7f43d515 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 1 Jul 2022 11:24:50 -0600 Subject: [PATCH 145/153] Whitespace --- src/KOKKOS/meam_dens_init_kokkos.h | 2 +- src/KOKKOS/meam_funcs_kokkos.h | 6 +++--- src/KOKKOS/meam_kokkos.h | 8 ++++---- src/KOKKOS/pair_meam_kokkos.cpp | 8 ++++---- src/KOKKOS/pair_meam_kokkos.h | 8 ++++---- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/KOKKOS/meam_dens_init_kokkos.h b/src/KOKKOS/meam_dens_init_kokkos.h index bcf0e7433e..aa0be60cde 100644 --- a/src/KOKKOS/meam_dens_init_kokkos.h +++ b/src/KOKKOS/meam_dens_init_kokkos.h @@ -14,7 +14,7 @@ void MEAMKokkos::operator()(TagMEAMDensInit, const int &i ii = d_ilist_half[i]; offsetval = d_offset[i]; // compute screening function and derivatives - this->template getscreen(ii, offsetval, x, d_numneigh_half, + this->template getscreen(ii, offsetval, x, d_numneigh_half, d_numneigh_full, ntype, type, d_map); // calculate intermediate density terms to be communicated diff --git a/src/KOKKOS/meam_funcs_kokkos.h b/src/KOKKOS/meam_funcs_kokkos.h index f02def0676..0e58e85db1 100644 --- a/src/KOKKOS/meam_funcs_kokkos.h +++ b/src/KOKKOS/meam_funcs_kokkos.h @@ -29,9 +29,9 @@ using namespace MathSpecialKokkos; // 4 => G = sqrt(1+gamma) // -5 => G = +-sqrt(abs(1+gamma)) // -template +template KOKKOS_INLINE_FUNCTION -double MEAMKokkos::G_gam(const double gamma, const int ibar, int &errorflag) const +double MEAMKokkos::G_gam(const double gamma, const int ibar, int &errorflag) const { double gsmooth_switchpoint; @@ -74,7 +74,7 @@ double MEAMKokkos::G_gam(const double gamma, const int ibar, int &er // template KOKKOS_INLINE_FUNCTION -double MEAMKokkos::dG_gam(const double gamma, const int ibar, double& dG) const +double MEAMKokkos::dG_gam(const double gamma, const int ibar, double& dG) const { double gsmooth_switchpoint; double G; diff --git a/src/KOKKOS/meam_kokkos.h b/src/KOKKOS/meam_kokkos.h index fb34f45b5c..57002b032c 100644 --- a/src/KOKKOS/meam_kokkos.h +++ b/src/KOKKOS/meam_kokkos.h @@ -33,7 +33,7 @@ class MEAMKokkos : public MEAM template KOKKOS_INLINE_FUNCTION void operator()(TagMEAMDensInit, const int&) const; - + KOKKOS_INLINE_FUNCTION void operator()(TagMEAMZero, const int&) const; @@ -73,8 +73,8 @@ class MEAMKokkos : public MEAM int, int); void meam_dens_final(int, int, int, int, typename ArrayTypes::t_efloat_1d, int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_int_2d, int&, EV_FLOAT&); - void meam_force(int, int, int, int, int, typename ArrayTypes::t_efloat_1d, - int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, typename AT::t_int_1d, + void meam_force(int, int, int, int, int, typename ArrayTypes::t_efloat_1d, + int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_f_array, typename ArrayTypes::t_virial_array, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, int, int, EV_FLOAT&); @@ -100,7 +100,7 @@ class MEAMKokkos : public MEAM KOKKOS_INLINE_FUNCTION double zbl(const double, const int, const int) const; KOKKOS_INLINE_FUNCTION - double embedding(const double, const double, const double, double&) const; + double embedding(const double, const double, const double, double&) const; KOKKOS_INLINE_FUNCTION double erose(const double, const double, const double, const double, const double, const double, const int) const; KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp index 33343f4af5..1879422f60 100644 --- a/src/KOKKOS/pair_meam_kokkos.cpp +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -135,7 +135,7 @@ void PairMEAMKokkos::compute(int eflag_in, int vflag_in) // loop over my atoms followed by communication int errorflag = 0; - + d_offset = typename AT::t_int_1d("pair:offset",inum_half+1); { // local variables for lambda capture @@ -352,7 +352,7 @@ void PairMEAMKokkos::operator()(TagPairMEAMPackForwardComm, const in v_buf[m++] = meam_inst_kk->d_tsq_ave(j,0); v_buf[m++] = meam_inst_kk->d_tsq_ave(j,1); v_buf[m++] = meam_inst_kk->d_tsq_ave(j,2); -} +} /* ---------------------------------------------------------------------- */ @@ -402,7 +402,7 @@ void PairMEAMKokkos::operator()(TagPairMEAMUnpackForwardComm, const meam_inst_kk->d_tsq_ave(i+first,2) = v_buf[m++]; } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ template int PairMEAMKokkos::pack_forward_comm(int n, int *list, double *buf, @@ -738,7 +738,7 @@ template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMOffsets, const int ii, int &n) const { const int i = d_ilist_half[ii]; - n += d_numneigh_half[i]; + n += d_numneigh_half[i]; } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_meam_kokkos.h b/src/KOKKOS/pair_meam_kokkos.h index c18c9151f2..fef4266b8a 100644 --- a/src/KOKKOS/pair_meam_kokkos.h +++ b/src/KOKKOS/pair_meam_kokkos.h @@ -92,15 +92,15 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d type; - + DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; typename AT::t_efloat_1d d_eatom; typename AT::t_virial_array d_vatom; typename AT::t_int_1d d_offset; - - DAT::tdual_int_1d k_map; + + DAT::tdual_int_1d k_map; typename AT::t_int_1d d_map; typename AT::t_int_2d d_scale; typename AT::t_int_1d d_ilist_half; @@ -111,7 +111,7 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { typename AT::t_int_2d d_sendlist; typename AT::t_xfloat_1d_um v_buf; - int iswap,first; + int iswap,first; int neighflag,nlocal,nall,eflag,vflag; friend void pair_virial_fdotr_compute(PairMEAMKokkos*); From 27165f82b4f1454f04d8d80748c3605ef65e9575 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 1 Jul 2022 12:09:48 -0600 Subject: [PATCH 146/153] Fix urls and license --- src/KOKKOS/meam_dens_final_kokkos.h | 14 ++++++++++++++ src/KOKKOS/meam_dens_init_kokkos.h | 14 ++++++++++++++ src/KOKKOS/meam_funcs_kokkos.h | 3 ++- src/KOKKOS/meam_impl_kokkos.h | 3 ++- src/KOKKOS/meam_kokkos.h | 13 +++++++++++++ src/KOKKOS/meam_setup_done_kokkos.h | 14 ++++++++++++++ src/KOKKOS/pair_meam_kokkos.cpp | 1 + 7 files changed, 60 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/meam_dens_final_kokkos.h b/src/KOKKOS/meam_dens_final_kokkos.h index 4a212d3597..aede2cbcc7 100644 --- a/src/KOKKOS/meam_dens_final_kokkos.h +++ b/src/KOKKOS/meam_dens_final_kokkos.h @@ -1,3 +1,17 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + #include "meam_kokkos.h" #include "math_special.h" diff --git a/src/KOKKOS/meam_dens_init_kokkos.h b/src/KOKKOS/meam_dens_init_kokkos.h index aa0be60cde..4342cc1ba1 100644 --- a/src/KOKKOS/meam_dens_init_kokkos.h +++ b/src/KOKKOS/meam_dens_init_kokkos.h @@ -1,3 +1,17 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + #include "meam_kokkos.h" #include "math_special_kokkos.h" diff --git a/src/KOKKOS/meam_funcs_kokkos.h b/src/KOKKOS/meam_funcs_kokkos.h index 0e58e85db1..a20f0c9182 100644 --- a/src/KOKKOS/meam_funcs_kokkos.h +++ b/src/KOKKOS/meam_funcs_kokkos.h @@ -1,6 +1,7 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/KOKKOS/meam_impl_kokkos.h b/src/KOKKOS/meam_impl_kokkos.h index 0a787ba2eb..be69f247be 100644 --- a/src/KOKKOS/meam_impl_kokkos.h +++ b/src/KOKKOS/meam_impl_kokkos.h @@ -1,6 +1,7 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/KOKKOS/meam_kokkos.h b/src/KOKKOS/meam_kokkos.h index 57002b032c..74f815e912 100644 --- a/src/KOKKOS/meam_kokkos.h +++ b/src/KOKKOS/meam_kokkos.h @@ -1,3 +1,16 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + #ifndef LMP_MEAMKOKKOS_H #define LMP_MEAMKOKKOS_H diff --git a/src/KOKKOS/meam_setup_done_kokkos.h b/src/KOKKOS/meam_setup_done_kokkos.h index 7d5de12427..8b705217b0 100644 --- a/src/KOKKOS/meam_setup_done_kokkos.h +++ b/src/KOKKOS/meam_setup_done_kokkos.h @@ -1,3 +1,17 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + #include "meam_kokkos.h" template diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp index 1879422f60..47e5ab8f96 100644 --- a/src/KOKKOS/pair_meam_kokkos.cpp +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories From becd876166ca3af8cf4c62a4fd6cefe1c09414ff Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 1 Jul 2022 12:28:13 -0600 Subject: [PATCH 147/153] small tweaks --- src/KOKKOS/math_special_kokkos.cpp | 195 +---------------------------- src/KOKKOS/math_special_kokkos.h | 5 +- 2 files changed, 5 insertions(+), 195 deletions(-) diff --git a/src/KOKKOS/math_special_kokkos.cpp b/src/KOKKOS/math_special_kokkos.cpp index eca64fbb4e..84c584a5cc 100644 --- a/src/KOKKOS/math_special_kokkos.cpp +++ b/src/KOKKOS/math_special_kokkos.cpp @@ -1,202 +1,11 @@ // clang-format off -#include "math_special_kokkos.h" +#include "math_special_kokkos.h" #include -#include // IWYU pragma: keep -#include +#include using namespace LAMMPS_NS; -static constexpr int nmaxfactorial = 167; - -/* ---------------------------------------------------------------------- - factorial n table, size nmaxfactorial+1 -------------------------------------------------------------------------- */ - -static const double nfac_table[] = { - 1, - 1, - 2, - 6, - 24, - 120, - 720, - 5040, - 40320, - 362880, - 3628800, - 39916800, - 479001600, - 6227020800, - 87178291200, - 1307674368000, - 20922789888000, - 355687428096000, - 6.402373705728e+15, - 1.21645100408832e+17, - 2.43290200817664e+18, - 5.10909421717094e+19, - 1.12400072777761e+21, - 2.5852016738885e+22, - 6.20448401733239e+23, - 1.5511210043331e+25, - 4.03291461126606e+26, - 1.08888694504184e+28, - 3.04888344611714e+29, - 8.8417619937397e+30, - 2.65252859812191e+32, - 8.22283865417792e+33, - 2.63130836933694e+35, - 8.68331761881189e+36, - 2.95232799039604e+38, - 1.03331479663861e+40, - 3.71993326789901e+41, - 1.37637530912263e+43, - 5.23022617466601e+44, - 2.03978820811974e+46, - 8.15915283247898e+47, - 3.34525266131638e+49, - 1.40500611775288e+51, - 6.04152630633738e+52, - 2.65827157478845e+54, - 1.1962222086548e+56, - 5.50262215981209e+57, - 2.58623241511168e+59, - 1.24139155925361e+61, - 6.08281864034268e+62, - 3.04140932017134e+64, - 1.55111875328738e+66, - 8.06581751709439e+67, - 4.27488328406003e+69, - 2.30843697339241e+71, - 1.26964033536583e+73, - 7.10998587804863e+74, - 4.05269195048772e+76, - 2.35056133128288e+78, - 1.3868311854569e+80, - 8.32098711274139e+81, - 5.07580213877225e+83, - 3.14699732603879e+85, - 1.98260831540444e+87, - 1.26886932185884e+89, - 8.24765059208247e+90, - 5.44344939077443e+92, - 3.64711109181887e+94, - 2.48003554243683e+96, - 1.71122452428141e+98, - 1.19785716699699e+100, - 8.50478588567862e+101, - 6.12344583768861e+103, - 4.47011546151268e+105, - 3.30788544151939e+107, - 2.48091408113954e+109, - 1.88549470166605e+111, - 1.45183092028286e+113, - 1.13242811782063e+115, - 8.94618213078297e+116, - 7.15694570462638e+118, - 5.79712602074737e+120, - 4.75364333701284e+122, - 3.94552396972066e+124, - 3.31424013456535e+126, - 2.81710411438055e+128, - 2.42270953836727e+130, - 2.10775729837953e+132, - 1.85482642257398e+134, - 1.65079551609085e+136, - 1.48571596448176e+138, - 1.3520015276784e+140, - 1.24384140546413e+142, - 1.15677250708164e+144, - 1.08736615665674e+146, - 1.03299784882391e+148, - 9.91677934870949e+149, - 9.61927596824821e+151, - 9.42689044888324e+153, - 9.33262154439441e+155, - 9.33262154439441e+157, - 9.42594775983835e+159, - 9.61446671503512e+161, - 9.90290071648618e+163, - 1.02990167451456e+166, - 1.08139675824029e+168, - 1.14628056373471e+170, - 1.22652020319614e+172, - 1.32464181945183e+174, - 1.44385958320249e+176, - 1.58824554152274e+178, - 1.76295255109024e+180, - 1.97450685722107e+182, - 2.23119274865981e+184, - 2.54355973347219e+186, - 2.92509369349301e+188, - 3.3931086844519e+190, - 3.96993716080872e+192, - 4.68452584975429e+194, - 5.5745857612076e+196, - 6.68950291344912e+198, - 8.09429852527344e+200, - 9.8750442008336e+202, - 1.21463043670253e+205, - 1.50614174151114e+207, - 1.88267717688893e+209, - 2.37217324288005e+211, - 3.01266001845766e+213, - 3.8562048236258e+215, - 4.97450422247729e+217, - 6.46685548922047e+219, - 8.47158069087882e+221, - 1.118248651196e+224, - 1.48727070609069e+226, - 1.99294274616152e+228, - 2.69047270731805e+230, - 3.65904288195255e+232, - 5.01288874827499e+234, - 6.91778647261949e+236, - 9.61572319694109e+238, - 1.34620124757175e+241, - 1.89814375907617e+243, - 2.69536413788816e+245, - 3.85437071718007e+247, - 5.5502938327393e+249, - 8.04792605747199e+251, - 1.17499720439091e+254, - 1.72724589045464e+256, - 2.55632391787286e+258, - 3.80892263763057e+260, - 5.71338395644585e+262, - 8.62720977423323e+264, - 1.31133588568345e+267, - 2.00634390509568e+269, - 3.08976961384735e+271, - 4.78914290146339e+273, - 7.47106292628289e+275, - 1.17295687942641e+278, - 1.85327186949373e+280, - 2.94670227249504e+282, - 4.71472363599206e+284, - 7.59070505394721e+286, - 1.22969421873945e+289, - 2.0044015765453e+291, - 3.28721858553429e+293, - 5.42391066613159e+295, - 9.00369170577843e+297, - 1.503616514865e+300, // nmaxfactorial = 167 -}; - -/* ---------------------------------------------------------------------- - factorial n vial lookup from precomputed table -------------------------------------------------------------------------- */ - -double MathSpecialKokkos::factorial(const int n) -{ - if (n < 0 || n > nmaxfactorial) - return std::numeric_limits::quiet_NaN(); - - return nfac_table[n]; -} - - /* Library libcerf: * Compute complex error functions, based on a new implementation of * Faddeeva's w_of_z. Also provide Dawson and Voigt functions. diff --git a/src/KOKKOS/math_special_kokkos.h b/src/KOKKOS/math_special_kokkos.h index 0264cb4134..35a8bf56c5 100644 --- a/src/KOKKOS/math_special_kokkos.h +++ b/src/KOKKOS/math_special_kokkos.h @@ -1,3 +1,4 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,8 +15,8 @@ #ifndef LMP_MATH_SPECIAL_KOKKOS_H #define LMP_MATH_SPECIAL_KOKKOS_H -#include "kokkos_type.h" #include +#include "kokkos_type.h" namespace LAMMPS_NS { @@ -171,7 +172,7 @@ namespace MathSpecialKokkos { static inline double expmsq(double x) { x *= x; - x *= 1.4426950408889634074; // log_2(e) + x *= 1.4426950408889634074; // log_2(e) #if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ return (x < 1023.0) ? exp2_x86(-x) : 0.0; #else From 2bfbd6fba1c3a23995c1ffb21928a00df8a43cd9 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 1 Jul 2022 13:17:50 -0600 Subject: [PATCH 148/153] Update Kokkos library in LAMMPS to v3.6.1 --- lib/kokkos/CHANGELOG.md | 16 ++++ lib/kokkos/CMakeLists.txt | 2 +- lib/kokkos/Makefile.kokkos | 2 +- lib/kokkos/algorithms/src/Kokkos_Sort.hpp | 79 ++++++++----------- lib/kokkos/algorithms/unit_tests/TestSort.hpp | 58 ++++++++++++++ .../containers/src/Kokkos_ScatterView.hpp | 40 +--------- lib/kokkos/containers/src/Kokkos_Vector.hpp | 18 ++--- .../containers/unit_tests/TestVector.hpp | 17 ++++ lib/kokkos/core/src/CMakeLists.txt | 1 + .../core/src/Cuda/Kokkos_Cuda_Instance.cpp | 9 +++ lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp | 2 +- .../core/src/HIP/Kokkos_HIP_Instance.cpp | 4 +- .../core/src/HIP/Kokkos_HIP_KernelLaunch.hpp | 2 + lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp | 3 +- lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp | 9 +++ lib/kokkos/core/src/HPX/Kokkos_HPX.cpp | 9 +++ lib/kokkos/core/src/Kokkos_Cuda.hpp | 1 + lib/kokkos/core/src/Kokkos_HIP_Space.hpp | 3 + lib/kokkos/core/src/Kokkos_HPX.hpp | 1 + lib/kokkos/core/src/Kokkos_OpenMP.hpp | 1 + lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp | 3 + lib/kokkos/core/src/Kokkos_SYCL.hpp | 3 + lib/kokkos/core/src/Kokkos_Serial.hpp | 1 + lib/kokkos/core/src/Kokkos_Threads.hpp | 1 + .../core/src/OpenMP/Kokkos_OpenMP_Exec.cpp | 14 +++- .../core/src/OpenMP/Kokkos_OpenMP_Exec.hpp | 10 ++- .../core/src/SYCL/Kokkos_SYCL_Instance.hpp | 2 +- .../core/src/Threads/Kokkos_ThreadsExec.cpp | 74 ++++++++++++++--- .../core/src/Threads/Kokkos_ThreadsExec.hpp | 5 +- .../src/impl/Kokkos_Profiling_Interface.hpp | 7 +- lib/kokkos/core/src/impl/Kokkos_Serial.cpp | 9 +++ .../core/src/impl/Kokkos_ViewMapping.hpp | 59 +++++++------- .../core/src/impl/Kokkos_ViewTracker.hpp | 2 + lib/kokkos/core/unit_test/TestViewAPI.hpp | 14 ++++ lib/kokkos/core/unit_test/TestViewAPI_e.hpp | 29 +++++++ .../unit_test/tools/TestEventCorrectness.hpp | 15 ++-- lib/kokkos/master_history.txt | 1 + 37 files changed, 363 insertions(+), 163 deletions(-) diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index dfbe22edde..a908507704 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,21 @@ # Change Log +## [3.6.01](https://github.com/kokkos/kokkos/tree/3.6.01) (2022-05-23) +[Full Changelog](https://github.com/kokkos/kokkos/compare/3.6.00...3.6.01) + +### Bug Fixes: +- Fix Threads: Fix serial resizing scratch space (3.6.01 cherry-pick) [\#5109](https://github.com/kokkos/kokkos/pull/5109) +- Fix ScatterMin/ScatterMax to use proper atomics (3.6.01 cherry-pick) [\#5046](https://github.com/kokkos/kokkos/pull/5046) +- Fix allocating large Views [\#4907](https://github.com/kokkos/kokkos/pull/4907) +- Fix bounds errors with Kokkos::sort [\#4980](https://github.com/kokkos/kokkos/pull/4980) +- Fix HIP version when printing the configuration [\#4872](https://github.com/kokkos/kokkos/pull/4872) +- Fixed `_CUDA_ARCH__` to `__CUDA_ARCH__` for CUDA LDG [\#4893](https://github.com/kokkos/kokkos/pull/4893) +- Fixed an incorrect struct initialization [\#5028](https://github.com/kokkos/kokkos/pull/5028) +- Fix racing condition in `HIPParallelLaunch` [\#5008](https://github.com/kokkos/kokkos/pull/5008) +- Avoid deprecation warnings with `OpenMPExec::validate_partition` [\#4982](https://github.com/kokkos/kokkos/pull/4982) +- Make View self-assignment not produce double-free [\#5024](https://github.com/kokkos/kokkos/pull/5024) + + ## [3.6.00](https://github.com/kokkos/kokkos/tree/3.6.00) (2022-02-18) [Full Changelog](https://github.com/kokkos/kokkos/compare/3.5.00...3.6.00) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index e1c6893725..b0a54118a0 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -136,7 +136,7 @@ ENDIF() set(Kokkos_VERSION_MAJOR 3) set(Kokkos_VERSION_MINOR 6) -set(Kokkos_VERSION_PATCH 00) +set(Kokkos_VERSION_PATCH 01) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index aa5f7c98f8..755831452b 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -12,7 +12,7 @@ endif KOKKOS_VERSION_MAJOR = 3 KOKKOS_VERSION_MINOR = 6 -KOKKOS_VERSION_PATCH = 00 +KOKKOS_VERSION_PATCH = 01 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,SYCL,OpenMPTarget,OpenMP,Threads,Serial diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index cde5e6857e..ce97de9b7d 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -422,54 +422,34 @@ class BinSort { template struct BinOp1D { - int max_bins_; - double mul_; - typename KeyViewType::const_value_type range_; - typename KeyViewType::const_value_type min_; + int max_bins_ = {}; + double mul_ = {}; + double min_ = {}; - BinOp1D() - : max_bins_(0), - mul_(0.0), - range_(typename KeyViewType::const_value_type()), - min_(typename KeyViewType::const_value_type()) {} + BinOp1D() = default; // Construct BinOp with number of bins, minimum value and maxuimum value BinOp1D(int max_bins__, typename KeyViewType::const_value_type min, typename KeyViewType::const_value_type max) : max_bins_(max_bins__ + 1), - // Cast to int64_t to avoid possible overflow when using integer - mul_(std::is_integral::value - ? 1.0 * max_bins__ / (int64_t(max) - int64_t(min)) - : 1.0 * max_bins__ / (max - min)), - range_(max - min), - min_(min) { + // Cast to double to avoid possible overflow when using integer + mul_(static_cast(max_bins__) / + (static_cast(max) - static_cast(min))), + min_(static_cast(min)) { // For integral types the number of bins may be larger than the range // in which case we can exactly have one unique value per bin // and then don't need to sort bins. if (std::is_integral::value && - static_cast(range_) <= static_cast(max_bins__)) { + (static_cast(max) - static_cast(min)) <= + static_cast(max_bins__)) { mul_ = 1.; } } // Determine bin index from key value - template < - class ViewType, - std::enable_if_t::value, - bool> = true> + template KOKKOS_INLINE_FUNCTION int bin(ViewType& keys, const int& i) const { - return int(mul_ * (keys(i) - min_)); - } - - // Determine bin index from key value - template < - class ViewType, - std::enable_if_t::value, - bool> = true> - KOKKOS_INLINE_FUNCTION int bin(ViewType& keys, const int& i) const { - // The cast to int64_t is necessary because otherwise HIP returns the wrong - // result. - return int(mul_ * (int64_t(keys(i)) - int64_t(min_))); + return static_cast(mul_ * (static_cast(keys(i)) - min_)); } // Return maximum bin index + 1 @@ -486,10 +466,9 @@ struct BinOp1D { template struct BinOp3D { - int max_bins_[3]; - double mul_[3]; - typename KeyViewType::non_const_value_type range_[3]; - typename KeyViewType::non_const_value_type min_[3]; + int max_bins_[3] = {}; + double mul_[3] = {}; + double min_[3] = {}; BinOp3D() = default; @@ -498,15 +477,15 @@ struct BinOp3D { max_bins_[0] = max_bins__[0]; max_bins_[1] = max_bins__[1]; max_bins_[2] = max_bins__[2]; - mul_[0] = 1.0 * max_bins__[0] / (max[0] - min[0]); - mul_[1] = 1.0 * max_bins__[1] / (max[1] - min[1]); - mul_[2] = 1.0 * max_bins__[2] / (max[2] - min[2]); - range_[0] = max[0] - min[0]; - range_[1] = max[1] - min[1]; - range_[2] = max[2] - min[2]; - min_[0] = min[0]; - min_[1] = min[1]; - min_[2] = min[2]; + mul_[0] = static_cast(max_bins__[0]) / + (static_cast(max[0]) - static_cast(min[0])); + mul_[1] = static_cast(max_bins__[1]) / + (static_cast(max[1]) - static_cast(min[1])); + mul_[2] = static_cast(max_bins__[2]) / + (static_cast(max[2]) - static_cast(min[2])); + min_[0] = static_cast(min[0]); + min_[1] = static_cast(min[1]); + min_[2] = static_cast(min[2]); } template @@ -596,9 +575,9 @@ std::enable_if_t::value> sort( // TODO: figure out better max_bins then this ... int64_t max_bins = view.extent(0) / 2; if (std::is_integral::value) { - // Cast to int64_t to avoid possible overflow when using integer - int64_t const max_val = result.max_val; - int64_t const min_val = result.min_val; + // Cast to double to avoid possible overflow when using integer + auto const max_val = static_cast(result.max_val); + auto const min_val = static_cast(result.min_val); // using 10M as the cutoff for special behavior (roughly 40MB for the count // array) if ((max_val - min_val) < 10000000) { @@ -606,6 +585,10 @@ std::enable_if_t::value> sort( sort_in_bins = false; } } + if (std::is_floating_point::value) { + KOKKOS_ASSERT(std::isfinite(static_cast(result.max_val) - + static_cast(result.min_val))); + } BinSort bin_sort( view, CompType(max_bins, result.min_val, result.max_val), sort_in_bins); diff --git a/lib/kokkos/algorithms/unit_tests/TestSort.hpp b/lib/kokkos/algorithms/unit_tests/TestSort.hpp index a03847f2b2..9108731c15 100644 --- a/lib/kokkos/algorithms/unit_tests/TestSort.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestSort.hpp @@ -353,6 +353,55 @@ void test_issue_1160_impl() { } } +template +void test_issue_4978_impl() { + Kokkos::View element_("element", 9); + + auto h_element = Kokkos::create_mirror_view(element_); + + h_element(0) = LLONG_MIN; + h_element(1) = 0; + h_element(2) = 3; + h_element(3) = 2; + h_element(4) = 1; + h_element(5) = 3; + h_element(6) = 6; + h_element(7) = 4; + h_element(8) = 3; + + ExecutionSpace exec; + Kokkos::deep_copy(exec, element_, h_element); + + Kokkos::sort(exec, element_); + + Kokkos::deep_copy(exec, h_element, element_); + exec.fence(); + + ASSERT_EQ(h_element(0), LLONG_MIN); + ASSERT_EQ(h_element(1), 0); + ASSERT_EQ(h_element(2), 1); + ASSERT_EQ(h_element(3), 2); + ASSERT_EQ(h_element(4), 3); + ASSERT_EQ(h_element(5), 3); + ASSERT_EQ(h_element(6), 3); + ASSERT_EQ(h_element(7), 4); + ASSERT_EQ(h_element(8), 6); +} + +template +void test_sort_integer_overflow() { + // array with two extrema in reverse order to expose integer overflow bug in + // bin calculation + T a[2] = {Kokkos::Experimental::finite_max::value, + Kokkos::Experimental::finite_min::value}; + auto vd = Kokkos::create_mirror_view_and_copy( + ExecutionSpace(), Kokkos::View(a)); + Kokkos::sort(vd, /*force using Kokkos bin sort*/ true); + auto vh = Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), vd); + EXPECT_TRUE(std::is_sorted(vh.data(), vh.data() + 2)) + << "view (" << vh[0] << ", " << vh[1] << ") is not sorted"; +} + //---------------------------------------------------------------------------- template @@ -376,6 +425,11 @@ void test_issue_1160_sort() { test_issue_1160_impl(); } +template +void test_issue_4978_sort() { + test_issue_4978_impl(); +} + template void test_sort(unsigned int N) { test_1D_sort(N); @@ -385,6 +439,10 @@ void test_sort(unsigned int N) { test_dynamic_view_sort(N); #endif test_issue_1160_sort(); + test_issue_4978_sort(); + test_sort_integer_overflow(); + test_sort_integer_overflow(); + test_sort_integer_overflow(); } } // namespace Impl } // namespace Test diff --git a/lib/kokkos/containers/src/Kokkos_ScatterView.hpp b/lib/kokkos/containers/src/Kokkos_ScatterView.hpp index 024b4618a4..e4dd9531fc 100644 --- a/lib/kokkos/containers/src/Kokkos_ScatterView.hpp +++ b/lib/kokkos/containers/src/Kokkos_ScatterView.hpp @@ -369,18 +369,6 @@ struct ScatterValue(&dest, dest_old, dest_new); - success = ((dest_new - dest_old) / dest_old <= 1e-15); - } - } - KOKKOS_INLINE_FUNCTION void join(ValueType& dest, const ValueType& src) const { atomic_prod(&dest, src); @@ -440,21 +428,9 @@ struct ScatterValue src) ? src : dest_old; - dest_new = - Kokkos::atomic_compare_exchange(&dest, dest_old, dest_new); - success = ((dest_new - dest_old) / dest_old <= 1e-15); - } - } - KOKKOS_INLINE_FUNCTION void join(ValueType& dest, const ValueType& src) const { - atomic_min(dest, src); + atomic_min(&dest, src); } KOKKOS_INLINE_FUNCTION @@ -511,21 +487,9 @@ struct ScatterValue(&dest, dest_old, dest_new); - success = ((dest_new - dest_old) / dest_old <= 1e-15); - } - } - KOKKOS_INLINE_FUNCTION void join(ValueType& dest, const ValueType& src) const { - atomic_max(dest, src); + atomic_max(&dest, src); } KOKKOS_INLINE_FUNCTION diff --git a/lib/kokkos/containers/src/Kokkos_Vector.hpp b/lib/kokkos/containers/src/Kokkos_Vector.hpp index 88721bd89e..eddb878003 100644 --- a/lib/kokkos/containers/src/Kokkos_Vector.hpp +++ b/lib/kokkos/containers/src/Kokkos_Vector.hpp @@ -162,7 +162,7 @@ class vector : public DualView { } DV::sync_host(); DV::modify_host(); - if (it < begin() || it > end()) + if (std::less<>()(it, begin()) || std::less<>()(end(), it)) Kokkos::abort("Kokkos::vector::insert : invalid insert iterator"); if (count == 0) return it; ptrdiff_t start = std::distance(begin(), it); @@ -189,27 +189,21 @@ class vector : public DualView { iterator>::type insert(iterator it, InputIterator b, InputIterator e) { ptrdiff_t count = std::distance(b, e); - if (count == 0) return it; DV::sync_host(); DV::modify_host(); - if (it < begin() || it > end()) + if (std::less<>()(it, begin()) || std::less<>()(end(), it)) Kokkos::abort("Kokkos::vector::insert : invalid insert iterator"); - bool resized = false; - if ((size() == 0) && (it == begin())) { - resize(count); - it = begin(); - resized = true; - } ptrdiff_t start = std::distance(begin(), it); auto org_size = size(); - if (!resized) resize(size() + count); - it = begin() + start; + + // Note: resize(...) invalidates it; use begin() + start instead + resize(size() + count); std::copy_backward(begin() + start, begin() + org_size, begin() + org_size + count); - std::copy(b, e, it); + std::copy(b, e, begin() + start); return begin() + start; } diff --git a/lib/kokkos/containers/unit_tests/TestVector.hpp b/lib/kokkos/containers/unit_tests/TestVector.hpp index 57b92c38f8..c093c7b0c9 100644 --- a/lib/kokkos/containers/unit_tests/TestVector.hpp +++ b/lib/kokkos/containers/unit_tests/TestVector.hpp @@ -172,6 +172,23 @@ struct test_vector_insert { run_test(a); check_test(a, size); } + { test_vector_insert_into_empty(size); } + } + + void test_vector_insert_into_empty(const size_t size) { + using Vector = Kokkos::vector; + { + Vector a; + Vector b(size); + a.insert(a.begin(), b.begin(), b.end()); + ASSERT_EQ(a.size(), size); + } + + { + Vector c; + c.insert(c.begin(), size, Scalar{}); + ASSERT_EQ(c.size(), size); + } } }; diff --git a/lib/kokkos/core/src/CMakeLists.txt b/lib/kokkos/core/src/CMakeLists.txt index 88cca93f3c..793e07a841 100644 --- a/lib/kokkos/core/src/CMakeLists.txt +++ b/lib/kokkos/core/src/CMakeLists.txt @@ -8,6 +8,7 @@ KOKKOS_INCLUDE_DIRECTORIES( INSTALL (DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" DESTINATION ${KOKKOS_HEADER_DIR} + FILES_MATCHING PATTERN desul/src EXCLUDE PATTERN "*.inc" PATTERN "*.inc_*" diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp index 294be2774b..aaa9ea8ad4 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -1007,6 +1007,15 @@ void CudaSpaceInitializer::print_configuration(std::ostream &msg, } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CXX14 +namespace Tools { +namespace Experimental { +constexpr DeviceType DeviceTypeTraits::id; +} +} // namespace Tools +#endif + } // namespace Kokkos #else diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp index 61563a0100..dec6ef15e1 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp @@ -139,7 +139,7 @@ struct CudaLDGFetch { template KOKKOS_INLINE_FUNCTION ValueType operator[](const iType& i) const { -#if defined(__CUDA_ARCH__) && (350 <= _CUDA_ARCH__) +#if defined(__CUDA_ARCH__) && (350 <= __CUDA_ARCH__) AliasType v = __ldg(reinterpret_cast(&m_ptr[i])); return *(reinterpret_cast(&v)); #else diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp index 4a6a3ba99e..a8a0496afe 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp @@ -132,7 +132,8 @@ void HIPInternal::print_configuration(std::ostream &s) const { s << "macro KOKKOS_ENABLE_HIP : defined" << '\n'; #if defined(HIP_VERSION) s << "macro HIP_VERSION = " << HIP_VERSION << " = version " - << HIP_VERSION / 100 << "." << HIP_VERSION % 100 << '\n'; + << HIP_VERSION_MAJOR << '.' << HIP_VERSION_MINOR << '.' << HIP_VERSION_PATCH + << '\n'; #endif for (int i = 0; i < dev_info.m_hipDevCount; ++i) { @@ -467,7 +468,6 @@ void HIPInternal::finalize() { } char *HIPInternal::get_next_driver(size_t driverTypeSize) const { - std::lock_guard const lock(m_mutexWorkArray); if (d_driverWorkArray == nullptr) { KOKKOS_IMPL_HIP_SAFE_CALL( hipHostMalloc(&d_driverWorkArray, diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp index 384b7ffd67..70b979e00a 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp @@ -490,6 +490,8 @@ struct HIPParallelLaunch< KOKKOS_ENSURE_HIP_LOCK_ARRAYS_ON_DEVICE(); + std::lock_guard const lock(hip_instance->m_mutexWorkArray); + // Invoke the driver function on the device DriverType *d_driver = reinterpret_cast( hip_instance->get_next_driver(sizeof(DriverType))); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp index f334d93412..e9cfbf99f7 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp @@ -56,8 +56,7 @@ namespace Kokkos { #ifdef KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE namespace Impl { -__device__ __constant__ HIPLockArrays g_device_hip_lock_arrays = {nullptr, - nullptr, 0}; +__device__ __constant__ HIPLockArrays g_device_hip_lock_arrays = {nullptr, 0}; } #endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp index 6ade677fa8..776b7c6abe 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp @@ -464,6 +464,15 @@ void HIPSpaceInitializer::print_configuration(std::ostream& msg, } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CXX14 +namespace Tools { +namespace Experimental { +constexpr DeviceType DeviceTypeTraits::id; +} +} // namespace Tools +#endif + } // namespace Kokkos //============================================================================== diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp index acf2224f02..623c7da025 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp @@ -199,6 +199,15 @@ void HPXSpaceInitializer::print_configuration(std::ostream &msg, } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CXX14 +namespace Tools { +namespace Experimental { +constexpr DeviceType DeviceTypeTraits::id; +} +} // namespace Tools +#endif + } // namespace Kokkos #else diff --git a/lib/kokkos/core/src/Kokkos_Cuda.hpp b/lib/kokkos/core/src/Kokkos_Cuda.hpp index 6305a1fa5d..0063b1cd1e 100644 --- a/lib/kokkos/core/src/Kokkos_Cuda.hpp +++ b/lib/kokkos/core/src/Kokkos_Cuda.hpp @@ -260,6 +260,7 @@ template <> struct DeviceTypeTraits { /// \brief An ID to differentiate (for example) Serial from OpenMP in Tooling static constexpr DeviceType id = DeviceType::Cuda; + static int device_id(const Cuda& exec) { return exec.cuda_device(); } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_HIP_Space.hpp b/lib/kokkos/core/src/Kokkos_HIP_Space.hpp index 1371d21d38..68869a6074 100644 --- a/lib/kokkos/core/src/Kokkos_HIP_Space.hpp +++ b/lib/kokkos/core/src/Kokkos_HIP_Space.hpp @@ -571,6 +571,9 @@ namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::HIP; + static int device_id(const Kokkos::Experimental::HIP& exec) { + return exec.hip_device(); + } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_HPX.hpp b/lib/kokkos/core/src/Kokkos_HPX.hpp index d2ae9c0ec2..9238ca30a7 100644 --- a/lib/kokkos/core/src/Kokkos_HPX.hpp +++ b/lib/kokkos/core/src/Kokkos_HPX.hpp @@ -500,6 +500,7 @@ namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::HPX; + static int device_id(const Kokkos::Experimental::HPX &) { return 0; } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_OpenMP.hpp b/lib/kokkos/core/src/Kokkos_OpenMP.hpp index 5d76e689f2..767e5b9324 100644 --- a/lib/kokkos/core/src/Kokkos_OpenMP.hpp +++ b/lib/kokkos/core/src/Kokkos_OpenMP.hpp @@ -179,6 +179,7 @@ namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::OpenMP; + static int device_id(const OpenMP&) { return 0; } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp b/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp index f394f32408..373dc3d9c7 100644 --- a/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp +++ b/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp @@ -130,6 +130,9 @@ template <> struct DeviceTypeTraits<::Kokkos::Experimental::OpenMPTarget> { static constexpr DeviceType id = ::Kokkos::Profiling::Experimental::DeviceType::OpenMPTarget; + static int device_id(const Kokkos::Experimental::OpenMPTarget&) { + return omp_get_default_device(); + } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_SYCL.hpp b/lib/kokkos/core/src/Kokkos_SYCL.hpp index 02095ff7b3..e29093db32 100644 --- a/lib/kokkos/core/src/Kokkos_SYCL.hpp +++ b/lib/kokkos/core/src/Kokkos_SYCL.hpp @@ -182,6 +182,9 @@ template <> struct DeviceTypeTraits { /// \brief An ID to differentiate (for example) Serial from OpenMP in Tooling static constexpr DeviceType id = DeviceType::SYCL; + static int device_id(const Kokkos::Experimental::SYCL& exec) { + return exec.sycl_device(); + } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_Serial.hpp b/lib/kokkos/core/src/Kokkos_Serial.hpp index 9aada48bf6..b2e524c374 100644 --- a/lib/kokkos/core/src/Kokkos_Serial.hpp +++ b/lib/kokkos/core/src/Kokkos_Serial.hpp @@ -226,6 +226,7 @@ namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::Serial; + static int device_id(const Serial&) { return 0; } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/Kokkos_Threads.hpp b/lib/kokkos/core/src/Kokkos_Threads.hpp index 45a2d0e326..5879209f12 100644 --- a/lib/kokkos/core/src/Kokkos_Threads.hpp +++ b/lib/kokkos/core/src/Kokkos_Threads.hpp @@ -175,6 +175,7 @@ namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::Threads; + static int device_id(const Threads&) { return 0; } }; } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp index d2283d456f..66dbbacce9 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp @@ -67,8 +67,9 @@ __thread int t_openmp_hardware_id = 0; __thread Impl::OpenMPExec *t_openmp_instance = nullptr; #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void OpenMPExec::validate_partition(const int nthreads, int &num_partitions, - int &partition_size) { +void OpenMPExec::validate_partition_impl(const int nthreads, + int &num_partitions, + int &partition_size) { if (nthreads == 1) { num_partitions = 1; partition_size = 1; @@ -506,6 +507,15 @@ void OpenMPSpaceInitializer::print_configuration(std::ostream &msg, } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CXX14 +namespace Tools { +namespace Experimental { +constexpr DeviceType DeviceTypeTraits::id; +} +} // namespace Tools +#endif + } // namespace Kokkos #else diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp index 2f647af77e..ede24d1094 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp @@ -93,7 +93,11 @@ class OpenMPExec { #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 KOKKOS_DEPRECATED static void validate_partition(const int nthreads, int& num_partitions, - int& partition_size); + int& partition_size) { + validate_partition_impl(nthreads, num_partitions, partition_size); + } + static void validate_partition_impl(const int nthreads, int& num_partitions, + int& partition_size); #endif private: @@ -179,8 +183,8 @@ KOKKOS_DEPRECATED void OpenMP::partition_master(F const& f, int num_partitions, Exec* prev_instance = Impl::t_openmp_instance; - Exec::validate_partition(prev_instance->m_pool_size, num_partitions, - partition_size); + Exec::validate_partition_impl(prev_instance->m_pool_size, num_partitions, + partition_size); OpenMP::memory_space space; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp index 907e4e9efe..45aacd7258 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp @@ -72,7 +72,7 @@ class SYCLInternal { bool force_shrink = false); uint32_t impl_get_instance_id() const; - int m_syclDev = -1; + int m_syclDev = 0; size_t m_maxWorkgroupSize = 0; uint32_t m_maxConcurrency = 0; diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp index 8a7c49871b..9682564ee0 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp @@ -399,27 +399,68 @@ bool ThreadsExec::wake() { //---------------------------------------------------------------------------- +void ThreadsExec::execute_resize_scratch_in_serial() { + const unsigned begin = s_threads_process.m_pool_base ? 1 : 0; + + auto deallocate_scratch_memory = [](ThreadsExec &exec) { + if (exec.m_scratch) { + using Record = + Kokkos::Impl::SharedAllocationRecord; + Record *const r = Record::get_record(exec.m_scratch); + exec.m_scratch = nullptr; + Record::decrement(r); + } + }; + if (s_threads_process.m_pool_base) { + for (unsigned i = s_thread_pool_size[0]; begin < i;) { + deallocate_scratch_memory(*s_threads_exec[--i]); + } + } + + s_current_function = &first_touch_allocate_thread_private_scratch; + s_current_function_arg = &s_threads_process; + + // Make sure function and arguments are written before activating threads. + memory_fence(); + + for (unsigned i = s_thread_pool_size[0]; begin < i;) { + ThreadsExec &th = *s_threads_exec[--i]; + + th.m_pool_state = ThreadsExec::Active; + + wait_yield(th.m_pool_state, ThreadsExec::Active); + } + + if (s_threads_process.m_pool_base) { + deallocate_scratch_memory(s_threads_process); + s_threads_process.m_pool_state = ThreadsExec::Active; + first_touch_allocate_thread_private_scratch(s_threads_process, nullptr); + s_threads_process.m_pool_state = ThreadsExec::Inactive; + } + + s_current_function_arg = nullptr; + s_current_function = nullptr; + + // Make sure function and arguments are cleared before proceeding. + memory_fence(); +} + +//---------------------------------------------------------------------------- + void *ThreadsExec::root_reduce_scratch() { return s_threads_process.reduce_memory(); } -void ThreadsExec::execute_resize_scratch(ThreadsExec &exec, const void *) { - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (exec.m_scratch) { - Record *const r = Record::get_record(exec.m_scratch); - - exec.m_scratch = nullptr; - - Record::decrement(r); - } - +void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, + const void *) { exec.m_scratch_reduce_end = s_threads_process.m_scratch_reduce_end; exec.m_scratch_thread_end = s_threads_process.m_scratch_thread_end; if (s_threads_process.m_scratch_thread_end) { // Allocate tracked memory: { + using Record = + Kokkos::Impl::SharedAllocationRecord; Record *const r = Record::allocate(Kokkos::HostSpace(), "Kokkos::thread_scratch", s_threads_process.m_scratch_thread_end); @@ -461,7 +502,7 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { s_threads_process.m_scratch_reduce_end = reduce_size; s_threads_process.m_scratch_thread_end = reduce_size + thread_size; - execute_resize_scratch(s_threads_process, nullptr); + execute_resize_scratch_in_serial(); s_threads_process.m_scratch = s_threads_exec[0]->m_scratch; } @@ -845,6 +886,15 @@ void ThreadsSpaceInitializer::print_configuration(std::ostream &msg, } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CXX14 +namespace Tools { +namespace Experimental { +constexpr DeviceType DeviceTypeTraits::id; +} +} // namespace Tools +#endif + } /* namespace Kokkos */ //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp index 561b1ce292..d17f417bbc 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp @@ -123,12 +123,15 @@ class ThreadsExec { static void global_unlock(); static void spawn(); - static void execute_resize_scratch(ThreadsExec &, const void *); + static void first_touch_allocate_thread_private_scratch(ThreadsExec &, + const void *); static void execute_sleep(ThreadsExec &, const void *); ThreadsExec(const ThreadsExec &); ThreadsExec &operator=(const ThreadsExec &); + static void execute_resize_scratch_in_serial(); + public: KOKKOS_INLINE_FUNCTION int pool_size() const { return m_pool_size; } KOKKOS_INLINE_FUNCTION int pool_rank() const { return m_pool_rank; } diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp index 4e0e81405f..d526682056 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp @@ -118,11 +118,14 @@ template constexpr uint32_t device_id_root() { constexpr auto device_id = static_cast(DeviceTypeTraits::id); - return (device_id << num_instance_bits); + return (device_id << (num_instance_bits + num_device_bits)); } template inline uint32_t device_id(ExecutionSpace const& space) noexcept { - return device_id_root() + space.impl_instance_id(); + return device_id_root() + + (DeviceTypeTraits::device_id(space) + << num_instance_bits) + + space.impl_instance_id(); } } // namespace Experimental } // namespace Tools diff --git a/lib/kokkos/core/src/impl/Kokkos_Serial.cpp b/lib/kokkos/core/src/impl/Kokkos_Serial.cpp index c49e838d8f..e5917eb59d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Serial.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Serial.cpp @@ -233,6 +233,15 @@ void SerialSpaceInitializer::print_configuration(std::ostream& msg, } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CXX14 +namespace Tools { +namespace Experimental { +constexpr DeviceType DeviceTypeTraits::id; +} +} // namespace Tools +#endif + } // namespace Kokkos #else diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp index 09f7af0918..f606a39839 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp @@ -1005,15 +1005,15 @@ struct ViewOffset< /* Cardinality of the domain index space */ KOKKOS_INLINE_FUNCTION constexpr size_type size() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6 * m_dim.N7; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6 * m_dim.N7; } /* Span of the range space */ KOKKOS_INLINE_FUNCTION constexpr size_type span() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6 * m_dim.N7; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6 * m_dim.N7; } KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { @@ -1026,23 +1026,24 @@ struct ViewOffset< return m_dim.N0; } KOKKOS_INLINE_FUNCTION constexpr size_type stride_2() const { - return m_dim.N0 * m_dim.N1; + return size_type(m_dim.N0) * m_dim.N1; } KOKKOS_INLINE_FUNCTION constexpr size_type stride_3() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2; } KOKKOS_INLINE_FUNCTION constexpr size_type stride_4() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3; } KOKKOS_INLINE_FUNCTION constexpr size_type stride_5() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4; } KOKKOS_INLINE_FUNCTION constexpr size_type stride_6() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5; } KOKKOS_INLINE_FUNCTION constexpr size_type stride_7() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6; } // Stride with [ rank ] value is the total length @@ -1288,8 +1289,8 @@ struct ViewOffset< /* Cardinality of the domain index space */ KOKKOS_INLINE_FUNCTION constexpr size_type size() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6 * m_dim.N7; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6 * m_dim.N7; } /* Span of the range space */ @@ -1633,15 +1634,15 @@ struct ViewOffset< /* Cardinality of the domain index space */ KOKKOS_INLINE_FUNCTION constexpr size_type size() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6 * m_dim.N7; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6 * m_dim.N7; } /* Span of the range space */ KOKKOS_INLINE_FUNCTION constexpr size_type span() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6 * m_dim.N7; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6 * m_dim.N7; } KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { @@ -1916,14 +1917,14 @@ struct ViewOffset< /* Cardinality of the domain index space */ KOKKOS_INLINE_FUNCTION constexpr size_type size() const { - return m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * m_dim.N5 * - m_dim.N6 * m_dim.N7; + return size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * + m_dim.N5 * m_dim.N6 * m_dim.N7; } /* Span of the range space */ KOKKOS_INLINE_FUNCTION constexpr size_type span() const { - return size() > 0 ? m_dim.N0 * m_stride : 0; + return size() > 0 ? size_type(m_dim.N0) * m_stride : 0; } KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { @@ -2066,27 +2067,29 @@ struct ViewOffset< stride(/* 2 <= rank */ m_dim.N1 * (dimension_type::rank == 2 - ? 1 + ? size_t(1) : m_dim.N2 * (dimension_type::rank == 3 - ? 1 + ? size_t(1) : m_dim.N3 * (dimension_type::rank == 4 - ? 1 + ? size_t(1) : m_dim.N4 * (dimension_type::rank == 5 - ? 1 + ? size_t(1) : m_dim.N5 * (dimension_type:: rank == 6 - ? 1 + ? size_t( + 1) : m_dim.N6 * (dimension_type:: rank == 7 - ? 1 + ? size_t( + 1) : m_dim .N7)))))))) { } @@ -2447,8 +2450,8 @@ struct ViewOffset { constexpr size_type size() const { return dimension_type::rank == 0 ? 1 - : m_dim.N0 * m_dim.N1 * m_dim.N2 * m_dim.N3 * m_dim.N4 * - m_dim.N5 * m_dim.N6 * m_dim.N7; + : size_type(m_dim.N0) * m_dim.N1 * m_dim.N2 * m_dim.N3 * + m_dim.N4 * m_dim.N5 * m_dim.N6 * m_dim.N7; } private: diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp index fe3651886b..972b1b6d9a 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp @@ -91,6 +91,7 @@ struct ViewTracker { template KOKKOS_INLINE_FUNCTION void assign(const View& vt) noexcept { + if (this == reinterpret_cast(&vt.m_track)) return; KOKKOS_IF_ON_HOST(( if (view_traits::is_managed && Kokkos::Impl::SharedAllocationRecord< void, void>::tracking_enabled()) { @@ -102,6 +103,7 @@ struct ViewTracker { KOKKOS_INLINE_FUNCTION ViewTracker& operator=( const ViewTracker& rhs) noexcept { + if (this == &rhs) return *this; KOKKOS_IF_ON_HOST(( if (view_traits::is_managed && Kokkos::Impl::SharedAllocationRecord< void, void>::tracking_enabled()) { diff --git a/lib/kokkos/core/unit_test/TestViewAPI.hpp b/lib/kokkos/core/unit_test/TestViewAPI.hpp index 21602be086..83efae6170 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI.hpp @@ -1087,6 +1087,20 @@ class TestViewAPI { dView4_unmanaged unmanaged_dx = dx; ASSERT_EQ(dx.use_count(), 1); + // Test self assignment +#if defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wself-assign-overloaded" +#endif + dx = dx; // copy-assignment operator +#if defined(__clang__) +#pragma GCC diagnostic pop +#endif + ASSERT_EQ(dx.use_count(), 1); + dx = reinterpret_cast( + dx); // conversion assignment operator + ASSERT_EQ(dx.use_count(), 1); + dView4_unmanaged unmanaged_from_ptr_dx = dView4_unmanaged( dx.data(), dx.extent(0), dx.extent(1), dx.extent(2), dx.extent(3)); diff --git a/lib/kokkos/core/unit_test/TestViewAPI_e.hpp b/lib/kokkos/core/unit_test/TestViewAPI_e.hpp index d4f484a530..d1d38022a7 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI_e.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI_e.hpp @@ -240,6 +240,35 @@ struct TestViewOverloadResolution { TEST(TEST_CATEGORY, view_overload_resolution) { TestViewOverloadResolution::test_function_overload(); } + +template +struct TestViewAllocationLargeRank { + using ViewType = Kokkos::View; + + KOKKOS_FUNCTION void operator()(int) const { + size_t idx = v.extent(0) - 1; + auto& lhs = v(idx, idx, idx, idx, idx, idx, idx, idx); + lhs = 42; // This is where it segfaulted + } + + ViewType v; +}; + +TEST(TEST_CATEGORY, view_allocation_large_rank) { + using ExecutionSpace = typename TEST_EXECSPACE::execution_space; + using MemorySpace = typename TEST_EXECSPACE::memory_space; + constexpr int dim = 16; + using FunctorType = TestViewAllocationLargeRank; + typename FunctorType::ViewType v("v", dim, dim, dim, dim, dim, dim, dim, dim); + + Kokkos::parallel_for(Kokkos::RangePolicy(0, 1), + FunctorType{v}); + typename FunctorType::ViewType v_single(v.data() + v.size() - 1, 1, 1, 1, 1, + 1, 1, 1, 1); + auto result = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace{}, v_single); + ASSERT_EQ(result(0, 0, 0, 0, 0, 0, 0, 0), 42); +} } // namespace Test #include diff --git a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp index 08863232ed..bb1d3156f5 100644 --- a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp +++ b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp @@ -238,13 +238,10 @@ TEST(kokkosp, test_id_gen) { using Kokkos::Tools::Experimental::DeviceTypeTraits; test_wrapper([&]() { Kokkos::DefaultExecutionSpace ex; - auto id = device_id(ex); - auto id_ref = identifier_from_devid(id); - auto success = (id_ref.instance_id == ex.impl_instance_id()) && - (id_ref.device_id == - static_cast( - DeviceTypeTraits::id)); - ASSERT_TRUE(success); + auto id = device_id(ex); + auto id_ref = identifier_from_devid(id); + ASSERT_EQ(DeviceTypeTraits::id, id_ref.type); + ASSERT_EQ(id_ref.instance_id, ex.impl_instance_id()); }); } @@ -253,6 +250,7 @@ TEST(kokkosp, test_id_gen) { */ TEST(kokkosp, test_kernel_sequence) { test_wrapper([&]() { + Kokkos::DefaultExecutionSpace ex; auto root = Kokkos::Tools::Experimental::device_id_root< Kokkos::DefaultExecutionSpace>(); std::vector expected{ @@ -260,11 +258,10 @@ TEST(kokkosp, test_kernel_sequence) { {"named_instance", FencePayload::distinguishable_devices::no, root + num_instances}, {"test_kernel", FencePayload::distinguishable_devices::no, - root + num_instances} + Kokkos::Tools::Experimental::device_id(ex)} }; expect_fence_events(expected, [=]() { - Kokkos::DefaultExecutionSpace ex; TestFunctor tf; ex.fence("named_instance"); Kokkos::parallel_for( diff --git a/lib/kokkos/master_history.txt b/lib/kokkos/master_history.txt index e174b47f67..41c755a8a8 100644 --- a/lib/kokkos/master_history.txt +++ b/lib/kokkos/master_history.txt @@ -27,3 +27,4 @@ tag: 3.4.00 date: 04:26:2021 master: 1fb0c284 release: 5d7738d6 tag: 3.4.01 date: 05:20:2021 master: 4b97a22f release: 410b15c8 tag: 3.5.00 date: 11:19:2021 master: c28a8b03 release: 21b879e4 tag: 3.6.00 date: 04:14:2022 master: 2834f94a release: 6ea708ff +tag: 3.6.01 date: 06:16:2022 master: b52f8c83 release: afe9b404 From 2d366ce2204c9b37ae69eb487085a3e7f695ee15 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 1 Jul 2022 14:08:46 -0600 Subject: [PATCH 149/153] add per-atom sp to extract() --- src/atom.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/atom.cpp b/src/atom.cpp index 8b3ab8c75d..9aa9e00bce 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2659,10 +2659,18 @@ void *Atom::extract(const char *name) if (strcmp(name,"body") == 0) return (void *) body; if (strcmp(name,"quat") == 0) return (void *) quat; + // PERI PACKAGE + if (strcmp(name,"vfrac") == 0) return (void *) vfrac; if (strcmp(name,"s0") == 0) return (void *) s0; if (strcmp(name,"x0") == 0) return (void *) x0; + // SPIN PACKAGE + + if (strcmp(name,"sp") == 0) return (void *) sp; + + // EFF and AWPMD packages + if (strcmp(name,"spin") == 0) return (void *) spin; if (strcmp(name,"eradius") == 0) return (void *) eradius; if (strcmp(name,"ervel") == 0) return (void *) ervel; @@ -2673,6 +2681,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"vforce") == 0) return (void *) vforce; if (strcmp(name,"etag") == 0) return (void *) etag; + // SPH package if (strcmp(name,"rho") == 0) return (void *) rho; if (strcmp(name,"drho") == 0) return (void *) drho; if (strcmp(name,"esph") == 0) return (void *) esph; From cf49042fe6ce0d6a6dd3fac65c89c50be4c87e34 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 1 Jul 2022 14:13:08 -0600 Subject: [PATCH 150/153] Update Kokkos version in CMake --- cmake/Modules/Packages/KOKKOS.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index cf3d19c720..7f23a6f777 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -47,8 +47,8 @@ if(DOWNLOAD_KOKKOS) list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}") list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") include(ExternalProject) - set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/3.6.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") - set(KOKKOS_MD5 "b5c44ea961031795f434002cd7b31c20" CACHE STRING "MD5 checksum of KOKKOS tarball") + set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/3.6.01.tar.gz" CACHE STRING "URL for KOKKOS tarball") + set(KOKKOS_MD5 "0ec97fc0c356dd65bd2487defe81a7bf" CACHE STRING "MD5 checksum of KOKKOS tarball") mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_MD5) ExternalProject_Add(kokkos_build @@ -72,7 +72,7 @@ if(DOWNLOAD_KOKKOS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 3.6.00 REQUIRED CONFIG) + find_package(Kokkos 3.6.01 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) target_link_libraries(lmp PRIVATE Kokkos::kokkos) else() From 4012897bffb9772c50fcbf530188baabde6fcbf8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Jul 2022 21:16:07 -0400 Subject: [PATCH 151/153] whitespace fixes and clang-format --- doc/src/package.rst | 2 +- src/KOKKOS/meam_dens_final_kokkos.h | 36 ++-- src/KOKKOS/meam_force_kokkos.h | 297 +++++++++++++++------------- src/KOKKOS/meam_kokkos.h | 189 ++++++++++-------- 4 files changed, 288 insertions(+), 236 deletions(-) diff --git a/doc/src/package.rst b/doc/src/package.rst index 6ff34515cf..0810bd5b6b 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -528,7 +528,7 @@ For the *comm/pair/forward* or *comm/fix/forward* or *comm/pair/reverse* keywords, if a value of *host* is used it will be automatically be changed to *no* since these keywords don't support *host* mode. The value of *no* will also always be used when running on the CPU, i.e. setting -the value to *device* will have no effect if the pair/fix style is +the value to *device* will have no effect if the pair/fix style is running on the CPU. For the *comm/fix/forward* or *comm/pair/reverse* keywords, not all styles support *device* mode and in that case will run in *no* mode instead. diff --git a/src/KOKKOS/meam_dens_final_kokkos.h b/src/KOKKOS/meam_dens_final_kokkos.h index aede2cbcc7..5d1c9926b7 100644 --- a/src/KOKKOS/meam_dens_final_kokkos.h +++ b/src/KOKKOS/meam_dens_final_kokkos.h @@ -74,17 +74,17 @@ void MEAMKokkos::operator()(TagMEAMDensFinal, const int &i, EV_FLOAT if (d_rho0[i] > 0.0) { if (ialloy == 1) { - d_t_ave(i,0) = fdiv_zero_kk(d_t_ave(i,0), d_tsq_ave(i,0)); - d_t_ave(i,1) = fdiv_zero_kk(d_t_ave(i,1), d_tsq_ave(i,1)); - d_t_ave(i,2) = fdiv_zero_kk(d_t_ave(i,2), d_tsq_ave(i,2)); + d_t_ave(i,0) = fdiv_zero_kk(d_t_ave(i,0), d_tsq_ave(i,0)); + d_t_ave(i,1) = fdiv_zero_kk(d_t_ave(i,1), d_tsq_ave(i,1)); + d_t_ave(i,2) = fdiv_zero_kk(d_t_ave(i,2), d_tsq_ave(i,2)); } else if (ialloy == 2) { - d_t_ave(i,0) = t1_meam[elti]; - d_t_ave(i,1) = t2_meam[elti]; - d_t_ave(i,2) = t3_meam[elti]; + d_t_ave(i,0) = t1_meam[elti]; + d_t_ave(i,1) = t2_meam[elti]; + d_t_ave(i,2) = t3_meam[elti]; } else { - d_t_ave(i,0) /= d_rho0[i]; - d_t_ave(i,1) /= d_rho0[i]; - d_t_ave(i,2) /= d_rho0[i]; + d_t_ave(i,0) /= d_rho0[i]; + d_t_ave(i,1) /= d_rho0[i]; + d_t_ave(i,2) /= d_rho0[i]; } } @@ -105,28 +105,28 @@ void MEAMKokkos::operator()(TagMEAMDensFinal, const int &i, EV_FLOAT dGbar = 0.0; } else { if (mix_ref_t == 1) - gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); + gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); else - gam = (t1_meam[elti] * shp[0] + t2_meam[elti] * shp[1] + t3_meam[elti] * shp[2]) / - (Z * Z); + gam = (t1_meam[elti] * shp[0] + t2_meam[elti] * shp[1] + t3_meam[elti] * shp[2]) / + (Z * Z); Gbar = G_gam(gam, ibar_meam[elti], d_errorflag()); } d_rho[i] = d_rho0[i] * G; if (mix_ref_t == 1) { if (ibar_meam[elti] <= 0) { - Gbar = 1.0; - dGbar = 0.0; + Gbar = 1.0; + dGbar = 0.0; } else { - gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); - Gbar = dG_gam(gam, ibar_meam[elti], dGbar); + gam = (d_t_ave(i,0) * shp[0] + d_t_ave(i,1) * shp[1] + d_t_ave(i,2) * shp[2]) / (Z * Z); + Gbar = dG_gam(gam, ibar_meam[elti], dGbar); } rho_bkgd = rho0_meam[elti] * Z * Gbar; } else { if (bkgd_dyn == 1) - rho_bkgd = rho0_meam[elti] * Z; + rho_bkgd = rho0_meam[elti] * Z; else - rho_bkgd = rho_ref_meam[elti]; + rho_bkgd = rho_ref_meam[elti]; } rhob = d_rho[i] / rho_bkgd; denom = 1.0 / rho_bkgd; diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h index aafcf80473..e7e6c64231 100644 --- a/src/KOKKOS/meam_force_kokkos.h +++ b/src/KOKKOS/meam_force_kokkos.h @@ -1,15 +1,19 @@ -#include "meam_kokkos.h" #include "math_special_kokkos.h" +#include "meam_kokkos.h" #include using namespace LAMMPS_NS; using namespace MathSpecialKokkos; -template -void -MEAMKokkos::meam_force(int inum_half, int eflag_global, int eflag_atom, int vflag_global, int vflag_atom, - typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d type, typename AT::t_int_1d d_map, typename AT::t_x_array x, typename AT::t_int_1d numneigh, - typename AT::t_int_1d numneigh_full, typename AT::t_f_array f, typename ArrayTypes::t_virial_array vatom, typename AT::t_int_1d d_ilist_half, typename AT::t_int_1d d_offset, typename AT::t_neighbors_2d d_neighbors_half, typename AT::t_neighbors_2d d_neighbors_full, int neighflag, int need_dup, EV_FLOAT &ev_all) +template +void MEAMKokkos::meam_force( + int inum_half, int eflag_global, int eflag_atom, int vflag_global, int vflag_atom, + typename ArrayTypes::t_efloat_1d eatom, int ntype, typename AT::t_int_1d type, + typename AT::t_int_1d d_map, typename AT::t_x_array x, typename AT::t_int_1d numneigh, + typename AT::t_int_1d numneigh_full, typename AT::t_f_array f, + typename ArrayTypes::t_virial_array vatom, typename AT::t_int_1d d_ilist_half, + typename AT::t_int_1d d_offset, typename AT::t_neighbors_2d d_neighbors_half, + typename AT::t_neighbors_2d d_neighbors_full, int neighflag, int need_dup, EV_FLOAT &ev_all) { EV_FLOAT ev; @@ -35,20 +39,33 @@ MEAMKokkos::meam_force(int inum_half, int eflag_global, int eflag_at this->d_offset = d_offset; if (need_dup) { - dup_f = Kokkos::Experimental::create_scatter_view(f); - if (eflag_atom) dup_eatom = Kokkos::Experimental::create_scatter_view(d_eatom); - if (vflag_atom) dup_vatom = Kokkos::Experimental::create_scatter_view(d_vatom); + dup_f = Kokkos::Experimental::create_scatter_view(f); + if (eflag_atom) + dup_eatom = Kokkos::Experimental::create_scatter_view< + Kokkos::Experimental::ScatterSum, Kokkos::Experimental::ScatterDuplicated>(d_eatom); + if (vflag_atom) + dup_vatom = Kokkos::Experimental::create_scatter_view< + Kokkos::Experimental::ScatterSum, Kokkos::Experimental::ScatterDuplicated>(d_vatom); } else { - ndup_f = Kokkos::Experimental::create_scatter_view(f); - if (eflag_atom) ndup_eatom = Kokkos::Experimental::create_scatter_view(d_eatom); - if (vflag_atom) ndup_vatom = Kokkos::Experimental::create_scatter_view(d_vatom); + ndup_f = + Kokkos::Experimental::create_scatter_view(f); + if (eflag_atom) + ndup_eatom = Kokkos::Experimental::create_scatter_view< + Kokkos::Experimental::ScatterSum, Kokkos::Experimental::ScatterNonDuplicated>(d_eatom); + if (vflag_atom) + ndup_vatom = Kokkos::Experimental::create_scatter_view< + Kokkos::Experimental::ScatterSum, Kokkos::Experimental::ScatterNonDuplicated>(d_vatom); } copymode = 1; if (neighflag == HALF) - Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0, inum_half), + *this, ev); else if (neighflag == HALFTHREAD) - Kokkos::parallel_reduce(Kokkos::RangePolicy>(0,inum_half),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy>(0, inum_half), + *this, ev); ev_all += ev; copymode = 0; @@ -64,11 +81,11 @@ MEAMKokkos::meam_force(int inum_half, int eflag_global, int eflag_at } } -template -template -KOKKOS_INLINE_FUNCTION -void -MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FLOAT& ev) const { +template +template +KOKKOS_INLINE_FUNCTION void MEAMKokkos::operator()(TagMEAMForce, + const int &ii, EV_FLOAT &ev) const +{ int i, j, jn, k, kn, kk, m, n, p, q; int nv2, nv3, elti, eltj, eltk, ind; X_FLOAT xitmp, yitmp, zitmp, delij[3]; @@ -105,12 +122,16 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL // The f, etc. arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_f = ScatterViewHelper,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access>(); - auto v_eatom = ScatterViewHelper,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access>(); - auto v_vatom = ScatterViewHelper,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access>(); + auto v_f = + ScatterViewHelper, decltype(dup_f), decltype(ndup_f)>::get( + dup_f, ndup_f); + auto a_f = v_f.template access>(); + auto v_eatom = ScatterViewHelper, decltype(dup_eatom), + decltype(ndup_eatom)>::get(dup_eatom, ndup_eatom); + auto a_eatom = v_eatom.template access>(); + auto v_vatom = ScatterViewHelper, decltype(dup_vatom), + decltype(ndup_vatom)>::get(dup_vatom, ndup_vatom); + auto a_vatom = v_vatom.template access>(); i = d_ilist_half[ii]; fnoffset = d_offset[i]; @@ -120,21 +141,21 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL elti = d_map[type[i]]; if (elti < 0) return; - xitmp = x(i,0); - yitmp = x(i,1); - zitmp = x(i,2); + xitmp = x(i, 0); + yitmp = x(i, 1); + zitmp = x(i, 2); // Treat each pair for (jn = 0; jn < d_numneigh_half[i]; jn++) { - j = d_neighbors_half(i,jn); + j = d_neighbors_half(i, jn); eltj = d_map[type[j]]; if (!iszero_kk(d_scrfcn[fnoffset + jn]) && eltj >= 0) { sij = d_scrfcn[fnoffset + jn] * d_fcpair[fnoffset + jn]; - delij[0] = x(j,0) - xitmp; - delij[1] = x(j,1) - yitmp; - delij[2] = x(j,2) - zitmp; + delij[0] = x(j, 0) - xitmp; + delij[1] = x(j, 1) - yitmp; + delij[2] = x(j, 2) - zitmp; rij2 = delij[0] * delij[0] + delij[1] * delij[1] + delij[2] * delij[2]; if (rij2 < cutforcesq) { rij = sqrt(rij2); @@ -143,19 +164,18 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL // Compute phi and phip ind = eltind[elti][eltj]; pp = rij * rdrar; - kk = (int)pp; - kk = (kk <= (nrar - 2))?kk:nrar - 2; + kk = (int) pp; + kk = (kk <= (nrar - 2)) ? kk : nrar - 2; pp = pp - kk; - pp = (pp <= 1.0)?pp:1.0; - phi = ((d_phirar3(ind,kk) * pp + d_phirar2(ind,kk)) * pp + d_phirar1(ind,kk)) * pp + - d_phirar(ind,kk); - phip = (d_phirar6(ind,kk) * pp + d_phirar5(ind,kk)) * pp + d_phirar4(ind,kk); + pp = (pp <= 1.0) ? pp : 1.0; + phi = ((d_phirar3(ind, kk) * pp + d_phirar2(ind, kk)) * pp + d_phirar1(ind, kk)) * pp + + d_phirar(ind, kk); + phip = (d_phirar6(ind, kk) * pp + d_phirar5(ind, kk)) * pp + d_phirar4(ind, kk); if (eflag_either) { - double scaleij = d_scale(type[i],type[i]); + double scaleij = d_scale(type[i], type[i]); double phi_sc = phi * scaleij; - if (eflag_global) - ev.evdwl += phi_sc * sij; + if (eflag_global) ev.evdwl += phi_sc * sij; if (eflag_atom) { a_eatom[i] += 0.5 * phi * sij; a_eatom[j] += 0.5 * phi * sij; @@ -209,12 +229,12 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL const double t3mj = t3_meam[eltj]; if (ialloy == 1) { - rhoa1j *= t1mj; - rhoa2j *= t2mj; - rhoa3j *= t3mj; - rhoa1i *= t1mi; - rhoa2i *= t2mi; - rhoa3i *= t3mi; + rhoa1j *= t1mj; + rhoa2j *= t2mj; + rhoa3j *= t3mj; + rhoa1i *= t1mi; + rhoa2i *= t2mi; + rhoa3i *= t3mi; drhoa1j *= t1mj; drhoa2j *= t2mj; drhoa3j *= t3mj; @@ -237,19 +257,19 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL for (p = n; p < 3; p++) { for (q = p; q < 3; q++) { arg = delij[n] * delij[p] * delij[q] * v3D[nv3]; - arg1i3 = arg1i3 + d_arho3(i,nv3) * arg; - arg1j3 = arg1j3 - d_arho3(j,nv3) * arg; + arg1i3 = arg1i3 + d_arho3(i, nv3) * arg; + arg1j3 = arg1j3 - d_arho3(j, nv3) * arg; nv3 = nv3 + 1; } arg = delij[n] * delij[p] * v2D[nv2]; - arg1i2 = arg1i2 + d_arho2(i,nv2) * arg; - arg1j2 = arg1j2 + d_arho2(j,nv2) * arg; + arg1i2 = arg1i2 + d_arho2(i, nv2) * arg; + arg1j2 = arg1j2 + d_arho2(j, nv2) * arg; nv2 = nv2 + 1; } - arg1i1 = arg1i1 + d_arho1(i,n) * delij[n]; - arg1j1 = arg1j1 - d_arho1(j,n) * delij[n]; - arg3i3 = arg3i3 + d_arho3b(i,n) * delij[n]; - arg3j3 = arg3j3 - d_arho3b(j,n) * delij[n]; + arg1i1 = arg1i1 + d_arho1(i, n) * delij[n]; + arg1j1 = arg1j1 - d_arho1(j, n) * delij[n]; + arg3i3 = arg3i3 + d_arho3b(i, n) * delij[n]; + arg3j3 = arg3j3 - d_arho3b(j, n) * delij[n]; } // rho0 terms @@ -262,21 +282,23 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL drho1dr2 = a1 * (drhoa1i - rhoa1i / rij) * arg1j1; a1 = 2.0 * sij / rij; for (m = 0; m < 3; m++) { - drho1drm1[m] = a1 * rhoa1j * d_arho1(i,m); - drho1drm2[m] = -a1 * rhoa1i * d_arho1(j,m); + drho1drm1[m] = a1 * rhoa1j * d_arho1(i, m); + drho1drm2[m] = -a1 * rhoa1i * d_arho1(j, m); } // rho2 terms a2 = 2 * sij / rij2; - drho2dr1 = a2 * (drhoa2j - 2 * rhoa2j / rij) * arg1i2 - 2.0 / 3.0 * d_arho2b[i] * drhoa2j * sij; - drho2dr2 = a2 * (drhoa2i - 2 * rhoa2i / rij) * arg1j2 - 2.0 / 3.0 * d_arho2b[j] * drhoa2i * sij; + drho2dr1 = + a2 * (drhoa2j - 2 * rhoa2j / rij) * arg1i2 - 2.0 / 3.0 * d_arho2b[i] * drhoa2j * sij; + drho2dr2 = + a2 * (drhoa2i - 2 * rhoa2i / rij) * arg1j2 - 2.0 / 3.0 * d_arho2b[j] * drhoa2i * sij; a2 = 4 * sij / rij2; for (m = 0; m < 3; m++) { drho2drm1[m] = 0.0; drho2drm2[m] = 0.0; for (n = 0; n < 3; n++) { - drho2drm1[m] = drho2drm1[m] + d_arho2(i,vind2D[m][n]) * delij[n]; - drho2drm2[m] = drho2drm2[m] - d_arho2(j,vind2D[m][n]) * delij[n]; + drho2drm1[m] = drho2drm1[m] + d_arho2(i, vind2D[m][n]) * delij[n]; + drho2drm2[m] = drho2drm2[m] - d_arho2(j, vind2D[m][n]) * delij[n]; } drho2drm1[m] = a2 * rhoa2j * drho2drm1[m]; drho2drm2[m] = -a2 * rhoa2i * drho2drm2[m]; @@ -286,8 +308,10 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL rij3 = rij * rij2; a3 = 2 * sij / rij3; a3a = 6.0 / 5.0 * sij / rij; - drho3dr1 = a3 * (drhoa3j - 3 * rhoa3j / rij) * arg1i3 - a3a * (drhoa3j - rhoa3j / rij) * arg3i3; - drho3dr2 = a3 * (drhoa3i - 3 * rhoa3i / rij) * arg1j3 - a3a * (drhoa3i - rhoa3i / rij) * arg3j3; + drho3dr1 = + a3 * (drhoa3j - 3 * rhoa3j / rij) * arg1i3 - a3a * (drhoa3j - rhoa3j / rij) * arg3i3; + drho3dr2 = + a3 * (drhoa3i - 3 * rhoa3i / rij) * arg1j3 - a3a * (drhoa3i - rhoa3i / rij) * arg3j3; a3 = 6 * sij / rij3; a3a = 6 * sij / (5 * rij); for (m = 0; m < 3; m++) { @@ -297,31 +321,31 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL for (n = 0; n < 3; n++) { for (p = n; p < 3; p++) { arg = delij[n] * delij[p] * v2D[nv2]; - drho3drm1[m] = drho3drm1[m] + d_arho3(i,vind3D[m][n][p]) * arg; - drho3drm2[m] = drho3drm2[m] + d_arho3(j,vind3D[m][n][p]) * arg; + drho3drm1[m] = drho3drm1[m] + d_arho3(i, vind3D[m][n][p]) * arg; + drho3drm2[m] = drho3drm2[m] + d_arho3(j, vind3D[m][n][p]) * arg; nv2 = nv2 + 1; } } - drho3drm1[m] = (a3 * drho3drm1[m] - a3a * d_arho3b(i,m)) * rhoa3j; - drho3drm2[m] = (-a3 * drho3drm2[m] + a3a * d_arho3b(j,m)) * rhoa3i; + drho3drm1[m] = (a3 * drho3drm1[m] - a3a * d_arho3b(i, m)) * rhoa3j; + drho3drm2[m] = (-a3 * drho3drm2[m] + a3a * d_arho3b(j, m)) * rhoa3i; } // Compute derivatives of weighting functions t wrt rij - t1i = d_t_ave(i,0); - t2i = d_t_ave(i,1); - t3i = d_t_ave(i,2); - t1j = d_t_ave(j,0); - t2j = d_t_ave(j,1); - t3j = d_t_ave(j,2); + t1i = d_t_ave(i, 0); + t2i = d_t_ave(i, 1); + t3i = d_t_ave(i, 2); + t1j = d_t_ave(j, 0); + t2j = d_t_ave(j, 1); + t3j = d_t_ave(j, 2); if (ialloy == 1) { - a1i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,0)); - a1j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,0)); - a2i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,1)); - a2j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,1)); - a3i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i,2)); - a3j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j,2)); + a1i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i, 0)); + a1j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j, 0)); + a2i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i, 1)); + a2j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j, 1)); + a3i = fdiv_zero_kk(drhoa0j * sij, d_tsq_ave(i, 2)); + a3j = fdiv_zero_kk(drhoa0i * sij, d_tsq_ave(j, 2)); dt1dr1 = a1i * (t1mj - t1i * MathSpecialKokkos::square(t1mj)); dt1dr2 = a1j * (t1mi - t1j * MathSpecialKokkos::square(t1mi)); @@ -342,11 +366,9 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL } else { ai = 0.0; - if (!iszero_kk(d_rho0[i])) - ai = drhoa0j * sij / d_rho0[i]; + if (!iszero_kk(d_rho0[i])) ai = drhoa0j * sij / d_rho0[i]; aj = 0.0; - if (!iszero_kk(d_rho0[j])) - aj = drhoa0i * sij / d_rho0[j]; + if (!iszero_kk(d_rho0[j])) aj = drhoa0i * sij / d_rho0[j]; dt1dr1 = ai * (t1mj - t1i); dt1dr2 = aj * (t1mi - t1j); @@ -361,19 +383,22 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL get_shpfcn(lattce_meam[eltj][eltj], stheta_meam[elti][elti], ctheta_meam[elti][elti], shpj); drhodr1 = d_dgamma1[i] * drho0dr1 + - d_dgamma2[i] * (dt1dr1 * d_rho1[i] + t1i * drho1dr1 + dt2dr1 * d_rho2[i] + t2i * drho2dr1 + - dt3dr1 * d_rho3[i] + t3i * drho3dr1) - - d_dgamma3[i] * (shpi[0] * dt1dr1 + shpi[1] * dt2dr1 + shpi[2] * dt3dr1); + d_dgamma2[i] * + (dt1dr1 * d_rho1[i] + t1i * drho1dr1 + dt2dr1 * d_rho2[i] + t2i * drho2dr1 + + dt3dr1 * d_rho3[i] + t3i * drho3dr1) - + d_dgamma3[i] * (shpi[0] * dt1dr1 + shpi[1] * dt2dr1 + shpi[2] * dt3dr1); drhodr2 = d_dgamma1[j] * drho0dr2 + - d_dgamma2[j] * (dt1dr2 * d_rho1[j] + t1j * drho1dr2 + dt2dr2 * d_rho2[j] + t2j * drho2dr2 + - dt3dr2 * d_rho3[j] + t3j * drho3dr2) - - d_dgamma3[j] * (shpj[0] * dt1dr2 + shpj[1] * dt2dr2 + shpj[2] * dt3dr2); + d_dgamma2[j] * + (dt1dr2 * d_rho1[j] + t1j * drho1dr2 + dt2dr2 * d_rho2[j] + t2j * drho2dr2 + + dt3dr2 * d_rho3[j] + t3j * drho3dr2) - + d_dgamma3[j] * (shpj[0] * dt1dr2 + shpj[1] * dt2dr2 + shpj[2] * dt3dr2); for (m = 0; m < 3; m++) { drhodrm1[m] = 0.0; drhodrm2[m] = 0.0; - drhodrm1[m] = d_dgamma2[i] * (t1i * drho1drm1[m] + t2i * drho2drm1[m] + t3i * drho3drm1[m]); - drhodrm2[m] = d_dgamma2[j] * (t1j * drho1drm2[m] + t2j * drho2drm2[m] + t3j * drho3drm2[m]); - + drhodrm1[m] = + d_dgamma2[i] * (t1i * drho1drm1[m] + t2i * drho2drm1[m] + t3i * drho3drm1[m]); + drhodrm2[m] = + d_dgamma2[j] * (t1j * drho1drm2[m] + t2j * drho2drm2[m] + t3j * drho3drm2[m]); } // Compute derivatives wrt sij, but only if necessary @@ -392,12 +417,12 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL drho3ds2 = a3 * rhoa3i * arg1j3 - a3a * rhoa3i * arg3j3; if (ialloy == 1) { - a1i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,0)); - a1j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,0)); - a2i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,1)); - a2j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,1)); - a3i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i,2)); - a3j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j,2)); + a1i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i, 0)); + a1j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j, 0)); + a2i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i, 1)); + a2j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j, 1)); + a3i = fdiv_zero_kk(rhoa0j, d_tsq_ave(i, 2)); + a3j = fdiv_zero_kk(rhoa0i, d_tsq_ave(j, 2)); dt1ds1 = a1i * (t1mj - t1i * MathSpecialKokkos::square(t1mj)); dt1ds2 = a1j * (t1mi - t1j * MathSpecialKokkos::square(t1mi)); @@ -418,11 +443,9 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL } else { ai = 0.0; - if (!iszero_kk(d_rho0[i])) - ai = rhoa0j / d_rho0[i]; + if (!iszero_kk(d_rho0[i])) ai = rhoa0j / d_rho0[i]; aj = 0.0; - if (!iszero_kk(d_rho0[j])) - aj = rhoa0i / d_rho0[j]; + if (!iszero_kk(d_rho0[j])) aj = rhoa0i / d_rho0[j]; dt1ds1 = ai * (t1mj - t1i); dt1ds2 = aj * (t1mi - t1j); @@ -433,13 +456,15 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL } drhods1 = d_dgamma1[i] * drho0ds1 + - d_dgamma2[i] * (dt1ds1 * d_rho1[i] + t1i * drho1ds1 + dt2ds1 * d_rho2[i] + t2i * drho2ds1 + - dt3ds1 * d_rho3[i] + t3i * drho3ds1) - - d_dgamma3[i] * (shpi[0] * dt1ds1 + shpi[1] * dt2ds1 + shpi[2] * dt3ds1); + d_dgamma2[i] * + (dt1ds1 * d_rho1[i] + t1i * drho1ds1 + dt2ds1 * d_rho2[i] + t2i * drho2ds1 + + dt3ds1 * d_rho3[i] + t3i * drho3ds1) - + d_dgamma3[i] * (shpi[0] * dt1ds1 + shpi[1] * dt2ds1 + shpi[2] * dt3ds1); drhods2 = d_dgamma1[j] * drho0ds2 + - d_dgamma2[j] * (dt1ds2 * d_rho1[j] + t1j * drho1ds2 + dt2ds2 * d_rho2[j] + t2j * drho2ds2 + - dt3ds2 * d_rho3[j] + t3j * drho3ds2) - - d_dgamma3[j] * (shpj[0] * dt1ds2 + shpj[1] * dt2ds2 + shpj[2] * dt3ds2); + d_dgamma2[j] * + (dt1ds2 * d_rho1[j] + t1j * drho1ds2 + dt2ds2 * d_rho2[j] + t2j * drho2ds2 + + dt3ds2 * d_rho3[j] + t3j * drho3ds2) - + d_dgamma3[j] * (shpj[0] * dt1ds2 + shpj[1] * dt2ds2 + shpj[2] * dt3ds2); } // Compute derivatives of energy wrt rij, sij and rij[3] @@ -456,8 +481,8 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL force = dUdrij * recip + dUdsij * d_dscrfcn[fnoffset + jn]; for (m = 0; m < 3; m++) { forcem = delij[m] * force + dUdrijm[m]; - a_f(i,m) += forcem; - a_f(j,m) -= forcem; + a_f(i, m) += forcem; + a_f(j, m) -= forcem; } // Tabulate per-atom virial as symmetrized stress tensor @@ -474,33 +499,32 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL v[5] = -0.25 * (delij[1] * fi[2] + delij[2] * fi[1]); if (vflag_global) - for (m = 0; m < 6; m++) - ev.v[m] += 2.0*v[m]; + for (m = 0; m < 6; m++) ev.v[m] += 2.0 * v[m]; if (vflag_atom) { for (m = 0; m < 6; m++) { - a_vatom(i,m) += v[m]; - a_vatom(j,m) += v[m]; + a_vatom(i, m) += v[m]; + a_vatom(j, m) += v[m]; } } } // Now compute forces on other atoms k due to change in sij - if (iszero_kk(sij) || isone_kk(sij)) continue; //: cont jn loop + if (iszero_kk(sij) || isone_kk(sij)) continue; //: cont jn loop double dxik(0), dyik(0), dzik(0); double dxjk(0), dyjk(0), dzjk(0); for (kn = 0; kn < d_numneigh_full[i]; kn++) { - k = d_neighbors_full(i,kn); + k = d_neighbors_full(i, kn); eltk = d_map[type[k]]; if (k != j && eltk >= 0) { double xik, xjk, cikj, sikj, dfc, a; double dCikj1, dCikj2; double delc, rik2, rjk2; - sij = d_scrfcn[jn+fnoffset] * d_fcpair[jn+fnoffset]; + sij = d_scrfcn[jn + fnoffset] * d_fcpair[jn + fnoffset]; const double Cmax = Cmax_meam[elti][eltj][eltk]; const double Cmin = Cmin_meam[elti][eltj][eltk]; @@ -509,14 +533,14 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL if (!iszero_kk(sij) && !isone_kk(sij)) { const double rbound = rij2 * ebound_meam[elti][eltj]; delc = Cmax - Cmin; - dxjk = x(k,0) - x(j,0); - dyjk = x(k,1) - x(j,1); - dzjk = x(k,2) - x(j,2); + dxjk = x(k, 0) - x(j, 0); + dyjk = x(k, 1) - x(j, 1); + dzjk = x(k, 2) - x(j, 2); rjk2 = dxjk * dxjk + dyjk * dyjk + dzjk * dzjk; if (rjk2 <= rbound) { - dxik = x(k,0) - x(i,0); - dyik = x(k,1) - x(i,1); - dzik = x(k,2) - x(i,2); + dxik = x(k, 0) - x(i, 0); + dyik = x(k, 1) - x(i, 1); + dzik = x(k, 2) - x(i, 2); rik2 = dxik * dxik + dyik * dyik + dzik * dzik; if (rik2 <= rbound) { xik = rik2 / rij2; @@ -541,15 +565,15 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL force1 = dUdsij * dsij1; force2 = dUdsij * dsij2; - a_f(i,0) += force1 * dxik; - a_f(i,1) += force1 * dyik; - a_f(i,2) += force1 * dzik; - a_f(j,0) += force2 * dxjk; - a_f(j,1) += force2 * dyjk; - a_f(j,2) += force2 * dzjk; - a_f(k,0) -= force1 * dxik + force2 * dxjk; - a_f(k,1) -= force1 * dyik + force2 * dyjk; - a_f(k,2) -= force1 * dzik + force2 * dzjk; + a_f(i, 0) += force1 * dxik; + a_f(i, 1) += force1 * dyik; + a_f(i, 2) += force1 * dzik; + a_f(j, 0) += force2 * dxjk; + a_f(j, 1) += force2 * dyjk; + a_f(j, 2) += force2 * dzjk; + a_f(k, 0) -= force1 * dxik + force2 * dxjk; + a_f(k, 1) -= force1 * dyik + force2 * dyjk; + a_f(k, 2) -= force1 * dzik + force2 * dzjk; // Tabulate per-atom virial as symmetrized stress tensor @@ -568,14 +592,13 @@ MEAMKokkos::operator()(TagMEAMForce, const int &ii, EV_FL v[5] = -sixth * (dyik * fi[2] + dyjk * fj[2] + dzik * fi[1] + dzjk * fj[1]); if (vflag_global) - for (m = 0; m < 6; m++) - ev.v[m] += 3.0*v[m]; + for (m = 0; m < 6; m++) ev.v[m] += 3.0 * v[m]; if (vflag_atom) { for (m = 0; m < 6; m++) { - a_vatom(i,m) += v[m]; - a_vatom(j,m) += v[m]; - a_vatom(k,m) += v[m]; + a_vatom(i, m) += v[m]; + a_vatom(j, m) += v[m]; + a_vatom(k, m) += v[m]; } } } diff --git a/src/KOKKOS/meam_kokkos.h b/src/KOKKOS/meam_kokkos.h index 74f815e912..1f289d6a4f 100644 --- a/src/KOKKOS/meam_kokkos.h +++ b/src/KOKKOS/meam_kokkos.h @@ -14,47 +14,43 @@ #ifndef LMP_MEAMKOKKOS_H #define LMP_MEAMKOKKOS_H +#include "kokkos.h" #include "meam.h" #include "memory_kokkos.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "kokkos.h" #include #include namespace LAMMPS_NS { -struct TagMEAMDensFinal{}; -template -struct TagMEAMDensInit{}; -struct TagMEAMZero{}; -template -struct TagMEAMForce{}; +struct TagMEAMDensFinal {}; +template struct TagMEAMDensInit { +}; +struct TagMEAMZero {}; +template struct TagMEAMForce { +}; -template -class MEAMKokkos : public MEAM -{ +template class MEAMKokkos : public MEAM { public: typedef ArrayTypes AT; typedef EV_FLOAT value_type; - MEAMKokkos(Memory* mem); + MEAMKokkos(Memory *mem); ~MEAMKokkos() override; KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMDensFinal, const int&, EV_FLOAT&) const; + void operator()(TagMEAMDensFinal, const int &, EV_FLOAT &) const; - template - KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMDensInit, const int&) const; + template + KOKKOS_INLINE_FUNCTION void operator()(TagMEAMDensInit, const int &) const; KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMZero, const int&) const; + void operator()(TagMEAMZero, const int &) const; + + template + KOKKOS_INLINE_FUNCTION void operator()(TagMEAMForce, const int &, EV_FLOAT &) const; - template - KOKKOS_INLINE_FUNCTION - void operator()(TagMEAMForce, const int&, EV_FLOAT&) const; private: - // parameters to meam_dens_init int ntype, nlocal; @@ -79,48 +75,51 @@ class MEAMKokkos : public MEAM public: void meam_dens_setup(int, int, int) override; - void meam_setup_done(double*) override; - void meam_dens_init(int, int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, - typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_int_1d, - typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, typename AT::t_int_1d, - int, int); - void meam_dens_final(int, int, int, int, typename ArrayTypes::t_efloat_1d, - int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_int_2d, int&, EV_FLOAT&); - void meam_force(int, int, int, int, int, typename ArrayTypes::t_efloat_1d, - int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, typename AT::t_int_1d, - typename AT::t_int_1d, typename AT::t_f_array, typename ArrayTypes::t_virial_array, - typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, - int, int, EV_FLOAT&); - template - KOKKOS_INLINE_FUNCTION - void getscreen(int, int, typename AT::t_x_array, typename AT::t_int_1d, - typename AT::t_int_1d, int, typename AT::t_int_1d, typename AT::t_int_1d) const; - template - KOKKOS_INLINE_FUNCTION - void calc_rho1(int, int, typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, typename AT::t_int_1d, int) const; + void meam_setup_done(double *) override; + void meam_dens_init(int, int, typename AT::t_int_1d, typename AT::t_int_1d, + typename AT::t_x_array, typename AT::t_int_1d, typename AT::t_int_1d, + typename AT::t_int_1d, typename AT::t_neighbors_2d, + typename AT::t_neighbors_2d, typename AT::t_int_1d, int, int); + void meam_dens_final(int, int, int, int, typename ArrayTypes::t_efloat_1d, int, + typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_int_2d, int &, + EV_FLOAT &); + void meam_force(int, int, int, int, int, typename ArrayTypes::t_efloat_1d, int, + typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_x_array, + typename AT::t_int_1d, typename AT::t_int_1d, typename AT::t_f_array, + typename ArrayTypes::t_virial_array, typename AT::t_int_1d, + typename AT::t_int_1d, typename AT::t_neighbors_2d, typename AT::t_neighbors_2d, + int, int, EV_FLOAT &); + template + KOKKOS_INLINE_FUNCTION void getscreen(int, int, typename AT::t_x_array, typename AT::t_int_1d, + typename AT::t_int_1d, int, typename AT::t_int_1d, + typename AT::t_int_1d) const; + template + KOKKOS_INLINE_FUNCTION void calc_rho1(int, int, typename AT::t_int_1d, typename AT::t_int_1d, + typename AT::t_x_array, typename AT::t_int_1d, int) const; KOKKOS_INLINE_FUNCTION double fcut(const double xi) const; KOKKOS_INLINE_FUNCTION - double dfcut(const double xi, double& dfc) const; + double dfcut(const double xi, double &dfc) const; KOKKOS_INLINE_FUNCTION double dCfunc(const double, const double, const double) const; KOKKOS_INLINE_FUNCTION - void dCfunc2(const double, const double, const double, double&, double&) const; + void dCfunc2(const double, const double, const double, double &, double &) const; KOKKOS_INLINE_FUNCTION - double G_gam(const double, const int, int&) const; + double G_gam(const double, const int, int &) const; KOKKOS_INLINE_FUNCTION - double dG_gam(const double, const int, double&) const; + double dG_gam(const double, const int, double &) const; KOKKOS_INLINE_FUNCTION double zbl(const double, const int, const int) const; KOKKOS_INLINE_FUNCTION - double embedding(const double, const double, const double, double&) const; + double embedding(const double, const double, const double, double &) const; KOKKOS_INLINE_FUNCTION - double erose(const double, const double, const double, const double, const double, const double, const int) const; + double erose(const double, const double, const double, const double, const double, const double, + const int) const; KOKKOS_INLINE_FUNCTION - void get_shpfcn(const lattice_t latt, const double sthe, const double cthe, - double (&s)[3]) const; + void get_shpfcn(const lattice_t latt, const double sthe, const double cthe, double (&s)[3]) const; KOKKOS_INLINE_FUNCTION int get_Zij(const lattice_t) const; + public: DAT::tdual_ffloat_1d k_rho, k_rho0, k_rho1, k_rho2, k_rho3, k_frhop; typename ArrayTypes::t_ffloat_1d d_rho, d_rho0, d_rho1, d_rho2, d_rho3, d_frhop; @@ -129,9 +128,11 @@ class MEAMKokkos : public MEAM typename ArrayTypes::t_ffloat_1d d_gamma, d_dgamma1, d_dgamma2, d_dgamma3, d_arho2b; HAT::t_ffloat_1d h_gamma, h_dgamma1, h_dgamma2, h_dgamma3, h_arho2b; DAT::tdual_ffloat_2d k_arho1, k_arho2, k_arho3, k_arho3b, k_t_ave, k_tsq_ave; - typename ArrayTypes::t_ffloat_2d d_arho1, d_arho2, d_arho3, d_arho3b, d_t_ave, d_tsq_ave; + typename ArrayTypes::t_ffloat_2d d_arho1, d_arho2, d_arho3, d_arho3b, d_t_ave, + d_tsq_ave; HAT::t_ffloat_2d h_arho1, h_arho2, h_arho3, h_arho3b, h_t_ave, h_tsq_ave; - typename ArrayTypes::t_ffloat_2d d_phir, d_phirar, d_phirar1, d_phirar2, d_phirar3, d_phirar4, d_phirar5, d_phirar6; + typename ArrayTypes::t_ffloat_2d d_phir, d_phirar, d_phirar1, d_phirar2, d_phirar3, + d_phirar4, d_phirar5, d_phirar6; DAT::tdual_ffloat_1d k_scrfcn, k_dscrfcn, k_fcpair; typename ArrayTypes::t_ffloat_1d d_scrfcn, d_dscrfcn, d_fcpair; HAT::t_ffloat_1d h_scrfcn, h_dscrfcn, h_fcpair; @@ -140,56 +141,84 @@ class MEAMKokkos : public MEAM int need_dup; using KKDeviceType = typename KKDevice::value; - template - using DupScatterView = KKScatterView; + template + using DupScatterView = + KKScatterView; - template - using NonDupScatterView = KKScatterView; + template + using NonDupScatterView = + KKScatterView; - DupScatterView dup_rho0; - NonDupScatterView ndup_rho0; - DupScatterView dup_arho2b; - NonDupScatterView ndup_arho2b; - DupScatterView dup_arho1; - NonDupScatterView ndup_arho1; - DupScatterView dup_arho2; - NonDupScatterView ndup_arho2; - DupScatterView dup_arho3; - NonDupScatterView ndup_arho3; - DupScatterView dup_arho3b; - NonDupScatterView ndup_arho3b; - DupScatterView dup_t_ave; - NonDupScatterView ndup_t_ave; - DupScatterView dup_tsq_ave; - NonDupScatterView ndup_tsq_ave; + DupScatterView + dup_rho0; + NonDupScatterView + ndup_rho0; + DupScatterView + dup_arho2b; + NonDupScatterView + ndup_arho2b; + DupScatterView + dup_arho1; + NonDupScatterView + ndup_arho1; + DupScatterView + dup_arho2; + NonDupScatterView + ndup_arho2; + DupScatterView + dup_arho3; + NonDupScatterView + ndup_arho3; + DupScatterView + dup_arho3b; + NonDupScatterView + ndup_arho3b; + DupScatterView + dup_t_ave; + NonDupScatterView + ndup_t_ave; + DupScatterView + dup_tsq_ave; + NonDupScatterView + ndup_tsq_ave; DupScatterView dup_f; NonDupScatterView ndup_f; - DupScatterView dup_eatom; - NonDupScatterView ndup_eatom; - DupScatterView dup_vatom; - NonDupScatterView ndup_vatom; + DupScatterView + dup_eatom; + NonDupScatterView + ndup_eatom; + DupScatterView + dup_vatom; + NonDupScatterView + ndup_vatom; }; KOKKOS_INLINE_FUNCTION -static bool iszero_kk(const double f) { +static bool iszero_kk(const double f) +{ return fabs(f) < 1e-20; } KOKKOS_INLINE_FUNCTION -static bool isone_kk(const double f) { - return fabs(f-1.0) < 1e-20; +static bool isone_kk(const double f) +{ + return fabs(f - 1.0) < 1e-20; } KOKKOS_INLINE_FUNCTION -static double fdiv_zero_kk(const double n, const double d) { - if (iszero_kk(d)) - return 0.0; +static double fdiv_zero_kk(const double n, const double d) +{ + if (iszero_kk(d)) return 0.0; return n / d; } // Functions we need for compat -} +} // namespace LAMMPS_NS #include "meam_impl_kokkos.h" #endif From ae26b489dd63a71f0d0eca276f6ccf3bf5fe1aaf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Jul 2022 21:25:57 -0400 Subject: [PATCH 152/153] fix typo --- src/KOKKOS/meam_dens_final_kokkos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/meam_dens_final_kokkos.h b/src/KOKKOS/meam_dens_final_kokkos.h index 5d1c9926b7..a3b95e837d 100644 --- a/src/KOKKOS/meam_dens_final_kokkos.h +++ b/src/KOKKOS/meam_dens_final_kokkos.h @@ -40,7 +40,7 @@ MEAMKokkos::meam_dens_final(int nlocal, int eflag_either, int eflag_ copymode = 1; Kokkos::parallel_reduce(Kokkos::RangePolicy(0,nlocal),*this,ev); - ev_all.evdwl =+ ev.evdwl; + ev_all.evdwl += ev.evdwl; copymode = 0; auto h_errorflag = Kokkos::create_mirror_view_and_copy(LMPHostType(),d_errorflag); From b81df6a72005f948bcf7af165344e17bb8067943 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Jul 2022 21:26:06 -0400 Subject: [PATCH 153/153] silence compiler warnings --- src/KOKKOS/pair_meam_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp index 47e5ab8f96..c0f18a2969 100644 --- a/src/KOKKOS/pair_meam_kokkos.cpp +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -308,7 +308,7 @@ void PairMEAMKokkos::init_style() template int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); iswap = iswap_in;